I am implementing Marketing Cloud MobilePush for one of my clients and I need some clarification regarding the data model of Mobile Push system tables and their relation with the populations.
The MDM will be Service Cloud that will push Contacts to Marketing Cloud as a Population (ContactKey = Salesforce ID).
The mobile app uses a ClientID (Foreign key) to identify the customer. The J4Apps SDK will only have the CliendID and will use it in the ContactKey registration call (Documentation :http://salesforce-marketingcloud.github.io/JB4A-SDK-Android/features/subscriber-key.html).
Service Cloud will also have the ClientID in the Contact record so It can be retrieved in Marketing Cloud via the Data Stream.
Marketing Coud will have a ClientID/SalesforceID reference table as an attribute set linked to the population in Contact Builder.
My concern is that the ContactKey in Marketing Cloud is the Salesforce ID and in the mobile Apps is the ClientID.
Is mobile push able to match ClientID with ContactKey? Or should I call Service Cloud APIs within the mobile app to retrieve the Salesforce ID before registration ?