About In-App messaging
In-App messaging is a messaging channel that allows you to display a message when the user is active within the mobile application. This message type is complimentary to push notifications which are delivered to the notification center of users' phone. For more information on the push notification channel, refer to this section .
This channel requires mobile applications to be integrated with Adobe Experience Platform SDK. These apps have to be activated in Adobe Experience Platform Launch before being available in Adobe Campaign for In-App deliveries.
To start sending In-App messages on mobile applications leveraging Experience Platform SDK, you need to meet following prerequisites:
- In Adobe Campaign, make sure you can access the In-App channel. If you cannot access these channels, contact your account team.
- To leverage mobile use cases in Adobe Campaign Standard with an Experience Cloud SDK application, a mobile app has to be created in Adobe Experience Platform Launch and be configured in Adobe Campaign Standard. For the step-by-step guide, refer to this page .
- Once configured, you can now prepare your In-App message. For more on this, refer to this page .
- Your delivery is now ready to be sent. To learn more, refer to this page .
What is the purpose of Campaign extensions APIs setLinkageField and resetLinkageField?
Since In-App messages are pulled by the SDK from Campaign, we want to provide a secure mechanism to ensure that In-App Messages containing PII data do not fall into malicious hands. As such, we have following mechanism in place to ensure the secure delivery of messages to the device:
- Customers mark mobile profile fields (appSubscriberRcp table) fields as Personal and Sensitive if they want to ensure that this particular information gets delivered securely.
- Fields marked as such can only be used in Profile template (not in appSubscriber template or Broadcast template) which has additional security mechanism built in.
- Messages built using Profile template can only get served when the user has logged in the App.
- In order to facilitate this secure handshake, mobile app developers should pass additional authentification details using the setLinkageField API. Please note that the linkage field are the ones that are identified as the link between Mobile Profile and CRM Profile while extending appSubscriberRcp table.
- They should flush the In-App messages stored on the device and resetLinkagefields when the user logs out of the App using resetLinkageField. This ensures that if a different user logs into the App, they do not see the messages meant for previous user.
- Refer to Mobile SDK APIs to implement this security mechanism client side.
Do you support multi-lingual content variants for In-App similar to Push?
There are no multi-lingual templates available for In-App Messaging now.
However, if the objective is to send an In-App message in a language other than English, the content can be directly pasted in the available text boxes.
Can Campaign personalization fields be added to Custom HTML?
No, this is not yet supported.
I have configured an alert message but it does not display on the device.
For alert messages, at least one dismiss button (primary or secondary should have action dismiss) is required. Otherwise, it is possible to save the message but it will not be received.
If Local notifications iOS custom sound does not play; will the default sound play instead?
For custom sound on iOS, you need to provide a file name with extension when creating a local notification (for example, sound.caf). If this extension is not provided, then the default sound is used.
Can an In-App message be triggered when the user launches the app from a Push notification?
Yes, these messages are also referred as daisy chain messages. Follow the process below:
- Create an In-App Message.
- Define a custom event and select it as an event trigger for this IAM e.g. "Trigger from fall preview Push".
- When authoring your Push message, define a custom variable whose value can be set as an event used to trigger IAM e.g. Key = "inappkey" and value = "Trigger from fall preview Push".
- In the mobile app code, implement event trigger as follows: