Rock Mobile Docs
App Factory
  • Welcome 👋
  • 📱Getting Started
    • Building Your First App
      • Creating An App
      • App Configuration
      • Adding Content
      • Deploying Your App
    • Lexicon
  • 🧱Essentials
    • Animations
    • Blocks
      • CMS
        • Content
        • Content Channel Item View
        • Content Collection View
        • Daily Challenge Entry
        • Hero
        • Lava Item List
        • Login
          • Using Auth0
          • Using Entra
        • Profile Details
        • Register
        • Structured Content View
        • Workflow Entry
      • Check-in
        • Check-in
      • Communication
        • Communication Entry
        • Communication List Subscribe
        • Communication View
        • SMS Conversation List
        • SMS Conversation
      • Connection
        • Add Connection Request
        • Connection Type List
        • Connection Opportunity List
        • Connection Request List
        • Connection Request Detail
      • Core
        • Attribute Values
        • Notes
        • Search
        • Smart Search
        • Quick Note
        • My Notes
      • CRM
        • Group Members
        • Person Profile
      • Events
        • Live Experience Occurrences
        • Live Experience
        • Calendar Event Item Occurrence View
        • Calendar Event List
        • Calendar View
        • Event Item Occurrence List By Audience Lava
      • Finance
        • Giving
        • Scheduled Transaction List
        • Transaction Detail
        • Transaction List
      • Groups
        • Group Attendance Entry
        • Group Edit
        • Group Finder
        • Group Member Edit
        • Group Member List
        • Group Member View
        • Group Registration
        • Group View
        • Schedule Preference
        • Schedule Sign Up
        • Schedule Toolbox
        • Schedule Unavailability
      • Prayer
        • Answer To Prayer
        • My Prayer Requests
        • Prayer Card View
        • Prayer Request Details
        • Prayer Session
        • Prayer Session Setup
      • Reminders
        • Reminder Edit
        • Reminder List
        • Reminder Dashboard
      • Security
        • Onboard Person
    • Codex
      • Application Strategy
      • XAML Styling
      • Resources
      • Documentation
    • Commands
      • Communication Commands
      • Navigation Commands
      • Media Commands
      • Utility Commands
    • Controls
      • Behaviors
        • Event To Command Behavior
        • Touch Behavior
      • Content Controls
        • Activity Indicator
        • Application Info
        • Avatar
        • Bible Audio
        • Bible Browser
        • Bible Reader
        • Campus Context Picker
          • Camera Code Reader
        • Cards
          • Block Card
          • Contained Card
          • Inline Card
          • Elements of a Card
          • Masks
          • Styling Cards With CSS
        • Context Menu
        • Countdown
        • Cover Sheet
        • Divider
        • Expander
        • Field Container
        • Flip View
        • Following Icon
        • Geo Boundary View
        • HTML
        • Icon
        • Icon Button
        • Image
        • Interaction
        • Items Collection
        • Login Status
        • Login Status Photo
        • Lottie View
        • Markdown
        • Media Player
          • Legacy
        • Notification Box
        • Paragraph Text
        • QR Code
        • Ratio View
        • Redirect
        • Responsive Column
        • Responsive Layout
        • Scroll View
        • Segment Picker
        • Styled Border
        • Styled View
        • Tag
        • Toggle Button
        • Web View
      • Developer Controls
        • Execute Command
        • Bible Book And Chapter Picker
        • Command Reference
        • Field Stack
        • Media Cast Button
        • Media Progress Bar
        • Parameter
        • Scan Code
        • Validator
        • Volume Control
        • Zone
      • Effects
        • Blur Effect
        • Safe Area Padding Effect
      • Form Fields
        • Attribute Value Editor
        • Address
        • Campus Picker
        • Check Box
        • Check Box List
        • Currency Box
        • Date Picker
        • Email Box
        • Literal
        • Marital Status Picker
        • Multi Picker
        • Number Box
        • Phone Number Box
        • Picker
        • Text Box
        • Text Editor
      • XAML Extensions
        • Boolean Value Converter
        • From Json
        • Inverse Boolean Converter
        • Nullable Guid Converter
        • On Device Platform
        • On Device Type
        • Palette Color
        • Seconds To Time String Converter
    • Field Types
    • Lava
      • Context in Lava
    • Performance
    • Tips and Tricks
      • Custom Site Attributes
      • Migrating to .NET MAUI (V6)
      • Page Anchors
    • Troubleshooting
    • Advanced Topics
      • Dynamic Content
      • Deep Linking
  • 🎨Styling
    • Introduction
    • Style Guide
      • Walkthrough
      • Colors
      • Typography
      • Utilities
      • Shell Components
      • Migrating
    • Legacy
      • Colors
      • Borders
        • Border Color
        • Border Radius
        • Border Width
      • Text
        • Background Color
        • Text Size
        • Alignment
        • Color
        • Line Height
        • Weights & Styles
      • iOS Shadows
      • Styling Components
        • Tags
        • Bible
        • Button
        • Form Fields
        • Modals
      • Custom CSS
  • 👨‍💻Developers
    • Fundamentals
    • Core & Shell Dependencies
    • Custom Blocks
    • OS Version Requirements
  • 🏭App Factory
    • Overview
    • Android Keystore
    • App Store Product Page
    • Developer Accounts
    • Image Resources
    • In-App Giving
    • Publishing Requirements
    • Push Notifications
    • Rock Logins
    • Shell Update Requirements
Powered by GitBook

Resources

  • Release Notes
  • Community Chat
  • Ask Chip

Documentation

  • Rock Manuals
  • Lava

⚙️ Powered by Rock RMS

On this page
  • Authoring Notifications
  • Configuration
  • Service Account JSON
  • Communications
  • Communication Transport
  • Communication Mediums
  • Sending A Push Notification
  • Alternative Push Notification Sending Method
  • Personal Device Id
Export as PDF
  1. App Factory

Push Notifications

Brief communications sent from Rock to user's devices.

Last updated 3 months ago

On June 24, 2024 the legacy service used to power push notifications will stop working.

The updated version of this service is integrated with Core v15.2+ and you'll need to coordinate with the App Factory team to update your Service Account JSON in Rock.

This update will not require a shell update to the app stores, but you can use this link:

Push notifications are a great way to communicate with your app users. With Rock Mobile, you can send messages to specific individuals, communication lists, or to everyone that has the app installed, even when they're not signed in.

Authoring Notifications

There are two options for the Open Action - Link to Mobile Page and Show Details. The former is self-explanatory, allowing you to reference a mobile app page (don't pick a page from a non-mobile site). You can also pass query strings, which may be needed depending on which page you're linking to. For example, if you want to promote the latest message that was just posted, you can link to the Message Details page and pass a query string of Guid with the value of the content channel item's GUID, assuming you're using this flow to power your messages in-app.

You can also add images to your details message. These will not be shown in the notification itself, only in the app when the notification is opened. It's recommended to resize and compress your image to optimize performance and avoid image pop-in when the page is opened.

For a standard 16:9 image, we'd recommend no larger than 960x540 and a few hundred KB.

Configuration

During the App Factory process, app notifications are configured. A few changes must be made within your Rock instance to ensure your app users are able to receive push notifications properly.

Service Account JSON

Communications

Rock administrators will need to access the Communications page via 'Admin Tools'. Both the 'Communication Transport' and 'Communication Mediums' pages will need to be accessed in order to establish the connection between Rock and the push notification system that will ultimately be sent through Apple and Google.

Communication Transport

Locate the line item 'Rock Mobile Push'. This property is required in order for the Rock instance to successfully generate an individual's Personal Device Id (See Personal Device Id below for more information).

Communication Mediums

The Communication Transport is only the first of a two-part setup process within the Rock instance. Once the transport is enabled, Rock must understand that you would like to utilize the 'Rock Mobile Push' transport as the Push Notification Medium. Within Communication Mediums, a 'Push Notification' property must be set.

With the aforementioned communication changes set, the Rock instance is one last step away from being able to send push notifications successfully.

Sending A Push Notification

Now that the Push Notification medium is established, the Rock instance understands where the Push Notification communication is sent. The final step to sending a push notification is to enable the Push Notification communication option within the 'New Communication' block settings.

After selecting a communication list or generating a manual list, a prompt for the communication medium will appear. To send a push notification select 'Push'.

Alternative Push Notification Sending Method

With push notifications, Rock allows for more than just the ability to send them via a communication list or manual list. The Mass Push Notification allows the Rock instance to send anyone who has downloaded the app a push notification regardless of if the user is logged in. This is quite powerful and should be used for special circumstances. For example, Mass Push Notifications are useful if the "Campus is closed due to weather". There are many uses for this functionality but bear in mind that when it is used, everyone, no matter their login status will receive a push notification.

Personal Device Id

Every time the Rock Mobile application is downloaded a Personal Device and ultimately a Personal Device Id (PersonalDeviceId) is generated. The id that is generated within that field is utilized by the communication transport's server key to make a connection to the push notification system for device verification. If the push notification system has the same device ID, a push notification will be sent when generated. Otherwise, the generated push notification will fail to send.

This is one of the first points of emphasis to debug if push notifications are failing to send but all aforementioned steps of the setup process are successfully established. Below is a helpful SQL query that can be run to ensure users and devices are receiving a valid 'PersonalDeviceId'.

SELECT Person.NickName, Person.Id, PersonalDevice.Id AS DeviceId, PersonalDevice.PersonAliasId, PersonalDevice.Name, PersonalDevice.DeviceRegistrationId, PersonalDevice.Guid
FROM PersonalDevice
LEFT JOIN PersonAlias ON PersonalDevice.PersonAliasId = PersonAlias.Id
LEFT JOIN Person on PersonAlias.PersonId = Person.Id

If you've used the Communication Wizard in Rock to send emails or SMS messages before, you'll be right at home. You can read more about how to use this in the .

When selecting the Open Action of Show Details, a text editor will appear. Many of the formatting options available here will not be shown in the app, so keep your message as basic as possible. In general, the same in HTML should work here. This will open the message in the app if you've got the Communication View block configured.

To properly configure the push notification transport, you should download your Service Account JSON from the . If you can't see your mobile application listed, you should reach out for from Triumph Tech.

🏭
Communicating With Rock manual
Triumph Tech Partner Portal
support
https://www.triumph.tech/mobile-shell-update-request
You'll typically want 100% when adding images so they stretch full-width.
Ensure Push Notifications are 'Active', and the transport container is 'Rock Mobile Push'
Enable 'Push' under Communication Types
Choose 'Push' as the Communication Medium
Supported Tags