You should understand that Mobile Push handles both Unknown and Identified mobile contacts.
First, start from your Use cases and decide if you want to target only Identified contacts or more widely also Unknown contacts (called also devices / app holders / mobile prospects).
After installing your mobile application and before logging into it, a contact is still unknown. You will have to choose if you want to have him in your MobilePush contact list.
If yes, intilializing the SDK will create a new mobile push contact with a random GUID
generated automatically.
If no, you will have to delay Registration Until a Contact Key is set.
When this contact logs in your application, you will have to retrieve the PersonContactId
and register it using the SDK.
If you choosed to have Unknown contacts, they will be converted into an identified contact after registration ( the GUID
will be updated by PersonContactId
for the same Device ID
)
In order to retrieve the PersonContactID
, I believe that you already have it as part of your authentication Service. If not, you will have to implement an API Call to the Salesforce Platform prior to registering the contact in MobilePush SDK.