- Pre-requisites for setting up Push
- Tracking Push deliveries
- Differences between Email and Push deliveries
- Troubleshooting Performance
- Common Issues and References.
What are PUSH Deliveries used for?
- PUSH Deliveries are used for sending Notifications to Mobile Apps for iOS and Android Channel.
- Deliveries are sent through APNS (iOS) or GCM (Android) Servers through Push Connectors.
- For iOS, two connectors are available:
- The iOS binary connector sends notifications on the legacy binary APNS server.
- The iOS HTTP/2 connector sends notifications to the HTTP/2 APNS
- Mobile App Channel package to be installed on the Instance.
- Campaign’s Android and iOS SDK to be properly integrated to Customer’s Mobile Apps.
- Mobile application on Campaign Instance to be integrated with Customer’s Mobile App through Integration Key.
- Mobile Application to be linked to Campaign’s service, such as:
- For iOS, one DEV and one PRD Application shall be linked
- For Android, one Application to be linked
- All Prerequisites and Conditions specified by Apple (Apple Push Notification Service) and Google (Google Cloud Messaging), to be satisfied.
- For iOS,
- Binary connector: Campaign to authorize inbound and outbound TCP traffic on port 2195. Mobile Devices must authorize inbound and outbound TCP traffic on port 5223.
- HTTP/2 connector: Campaign must allow communication to and from the following servers:
- api.push.apple.com: port 443
- api.development.push.apple.com: port 443
- For using Rich Notifications, iOS HTTP/2 Connector to be used.
- For Android,
- Campaign to authorize connection to GCM on ports, 5228 (the most frequently used), 5229 and 5230.
Response from APNS/GCM Server:
- Communication with APNS/GCM Servers is a One-way Process.
- No response from these Servers, whether a Notification has reached Mobile App or not.
Tracking of PUSH Deliveries:
- Tracking of PUSH Deliveries are configured at App level, and not at Delivery level.
- Functions used to implement Tracking at App level are:
- v7.0 onwards = application:didReceiveRemoteNotification:fetchCompletionHandler
- v3.0 to v7.0(excluded) = application:didReceiveRemoteNotification
- notifyReceive() and notifyOpening()
NMAC opt-out management (mobileAppOptOutMgt) workflow:
- This workflow is used to mark those App Subscription IDs disabled that have unsubscribed to the Mobile App of the Customer.
- There is a possibility that the User Unsubscribes from an App, but its Subscription ID is still enabled at our end.
Difference Between Email and PUSH Deliveries:
Recipients are targeted using Nms: recipient schema
|Recipients are targeted using Nms: appSubscriptionRcp schema|
|Email Deliveries target Email Addresses||PUSH Deliveries target App Subscription IDs|
|MX Servers acknowledge the Email Received||No acknowledgement received from APNS/GCM Servers|
|Email can be sent to anyone with an Email address||Notification can only be sent to a Recipient subscribed to iOS/Android Service on AC|
|Do not need a Connector to send out Deliveries||Need to define iOS/Android Connector for sending out Deliveries|
- Use SPLUNK Dashboard for checking the performance of MTA Servers and Database.
- Use OIT Tool for checking Long Running Queries.
- Check for iOS Certificate. Errors registered. It is visible in Web Logs.
- Dedicated MTA for PUSH.
- Dedicated MTA for Android and iOS Deliveries.
- Set Message Batch Quantity as 256, in Deliveries.
- Notifications not received on Mobile: Unfortunately, there is no acknowledgement from APNS/GCM Servers registered. Delivery of Notification on the Mobile App. Customer has to verify their Implementation at App level.
- Tracking is not working: Implementation Issue. Customer has to check with their App Developer for this.
- Certificate has expired: Customer has to share the Certificate for Installation. Either Install the Certificate on Customer’s behalf or share with them the steps for Installation.
- Documentation: https://docs.campaign.adobe.com/doc/AC6.1/en/DLV_Mobile_App_Channel_Introduction.html
- Apple Developer: https://developer.apple.com/
- Android Developer: http://developer.android.com/index.html