On verifying salesforce SDK logs, we understood that when we set an anonymous subscriber key to the salesforce SDK profile ID, we received push notifications with the valid SDK log status response with device token, device Id, and push enables were set to true. However, when a user logs in to the application, the device will be updated with a new subscriber key. In this case, we observed the SDK logs that push enabled was showing as false, the device token was null, and with an empty register manager response and we were receiving the remote message like subtitle media url etc when we get push notification but we did not receive any push notification on device. Could you please let us know if there is a delay in the salesforce SDK contact key update as we are using delayRegistrationUntilContactKeyIsSet=true. Though we had multiple SDKs configured, we followed the documentation provided (https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/trouble-shooting/multiple-push-sdks.html), where it says not to set sender ID during SDK initialization and we are not having that.
1 Answer
I took a quick peek at the old ticket. There's a lot going on :)
So, first, you have more than 1 push receiver (service) configured. You need to follow the Multiple Push Provider setup instructions (ref. https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/trouble-shooting/multiple-push-sdks.html) It's more than simply removing the senderId
-- and those steps will not be BU specific, they are application specific. As long as you have a receiver configured other than ours, you'll need to do these steps.
The app should work regardless of which BU you're testing from given you've completed the steps outlined above.
Here are some troubleshooting steps: https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/trouble-shooting/trouble-shooting-push-setup.html
Beyond that it comes down to 5 simple questions:
- Is the device registered (in the BU from which you're sending)?
- Is the device opted-in?
- Is the device in the audience list?
- Was the send successful?
- What did the feedback service say for this device?
You can check those things yourself. If the answers are: yes, yes, yes, success/ok, success/ok, then you need to look at the device logs.
Enable logging on the device (ref. https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/trouble-shooting/trouble-shooting-push-setup.html) and review the output. When a push is received you're looking for either onMessageReceived
or BEHAVIOR_SDK_PUSH_RECEIVED
-- depending on your MPP setup and whether or not you've overridden notification handling.
If those items are not in your logs then your other push provider has intercepted the message.