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 authentication 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.