{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"redocly_category":"Journeys","product":"Identity Management","type":"markdown"},"seo":{"title":"Apple & Google push notifications","description":"Everything about Mosaic Journeys, SDKs, and APIs","siteUrl":"https://developer.transmitsecurity.com/","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"apple--google-push-notifications","__idx":0},"children":["Apple & Google push notifications"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use this connector to send push notifications to mobile devices using Apple Push Notification Service (APNs) or Firebase Cloud Messaging (FCM)."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Mosaic's Journeys allow sending push notifications through the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/send_push"},"children":["Send push"]}," and ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/generic_otp"},"children":["Generic OTP authentication"]}," steps. These steps let you configure an external service to handle parameters like notification content, and return a response indicating success or failure."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-it-works","__idx":1},"children":["How it works"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Configuring an Apple Push Notification Service (APNs) or Firebase Cloud Messaging (FCM) for sending push notifications involves these steps:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Establishing the connection"]},": Set up the connection by configuring key parameters (",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Admin Portal"]}," > ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Management"]}," > ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Integration hub"]}," > ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Apple & Google push notifications"]},")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Configuring push settings"]},": While the APN and FCM settings define the server setup, notification-specific parameters such as title, notifications, etc. are configured within the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/send_push"},"children":["Send push"]}," or ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/generic_otp"},"children":["Generic OTP authentication"]}," steps."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Enabling the connector"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["At runtime, sending a push consists of:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Sending the request"]},": When the step executes, it uses the preconfigured push notification services to send notifications to the specified device with the provided content."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Response and handling"]},": The connector processes the request and returns a response (success or failure)."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"configuration","__idx":2},"children":["Configuration"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"apple-push-notifications","__idx":3},"children":["Apple push notifications"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"table"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Authentication type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Select the authentication method for APNs:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[" ",{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Certificate-based connection"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Token-based connections"]}]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Identity for Apple-issued provider certificate"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["(certificate-based connection)"]}," Select or add a new Apple-issued certificate that authorizes your app to send push notifications through APNs."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Apple-issued token signing key (.p8 file)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["(Token-based only) Select or upload the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".p8"]}," signing key generated in the Apple Developer portal. This key is used to sign JWT tokens for APNs authentication."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Team ID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["(Token-based only) Enter your Apple Developer ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Team ID"]},", available in your Apple Developer account. This value identifies your development team when generating the authentication token."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Key ID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["(Token-based only) Enter the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Key ID"]}," associated with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".p8"]}," signing key in the Apple Developer portal. This value identifies which key is used to sign the token."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Sandbox mode"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enable this option to test notifications in Apple’s sandbox environment before deploying to production."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Topic"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enter the app’s ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["bundle identifier"]}," (for example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["com.example.app"]},"). This value identifies the app receiving notifications."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Notification sound"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Specify the custom sound file to play when a notification is received. Leave blank to use the default system sound."]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"google-push-notifications","__idx":4},"children":["Google push notifications"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"table"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["FCM API type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["FCM HTTP v1 API"]}," to use the latest Firebase Cloud Messaging API for sending notifications. ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["FCM Legacy API"]}," option is also available."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Firebase service account key"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Upload or select the JSON key for your Firebase service account. This key authorizes your app to send notifications through FCM."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Firebase project name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enter the Firebase project name associated with your app."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Firebase service account email"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enter the email address linked to your Firebase service account."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Notification sound"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Specify a custom sound file to play when a notification is received. Leave blank to use the default sound."]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"additional-settings","__idx":5},"children":["Additional settings"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"table"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Test connection on server start"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["When enabled, Mosaic tests the connection to APNs or FCM during server startup to ensure configuration validity."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Do not send user identifier"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enable this option to prevent sending user identifiers in push payloads for privacy or compliance reasons."]}]}]}]}]}]}]},"headings":[{"value":"Apple & Google push notifications","id":"apple--google-push-notifications","depth":1},{"value":"How it works","id":"how-it-works","depth":2},{"value":"Configuration","id":"configuration","depth":2},{"value":"Apple push notifications","id":"apple-push-notifications","depth":3},{"value":"Google push notifications","id":"google-push-notifications","depth":3},{"value":"Additional settings","id":"additional-settings","depth":3}],"frontmatter":{"markdown":{"toc":{"depth":2}},"seo":{"title":"Apple & Google push notifications"}},"lastModified":"2025-11-27T13:56:48.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/orchestration/external-connections/apple_google_push","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}