While Zak's answers isn't incorrect, it does require a bit more discovery once you click the links he provided.
To be specific to the original question, in the Android SDK you will need to provide an implementation of the NotificationLaunchIntentProvider during the initialization of the SDK. In this implementation, you can build out the PendingIntent that ...
Based on your comment in response to my original question in comments:
Please enable analytics when you call configureSdk(). This will result in analytics data being transmitted to the MarketingCloud servers.
Setting an OpenDirect delegate will have no bearing on the analytics being transmitted as it merely provides a delegate for the message to be ...
When you send push notifications from Apex, you don't need to know which devices users have registered. You need to create a list of user ids for the users you want to send notification to. Then create Messaging.PushNotification object, set a payload for this object and use its "send" method to send push notifications to the list of users. Here is an example:...
This should be possible, although there has been no testing around this use-case with the Cordova plugin.
The native platform SDKs for the Marketing Cloud support multiple push providers so you should be able to accomplish a setup where it will work in Cordova. It would be up to you to implement the necessary native code for each platform.
Using the SDK'...
Please verify what kind of push certificate you are using and that is set in the Marketing Cloud App Center. If you are debugging, you MUST use an "Apple Push Notification service SSL (Sandbox)" certificate. If running an ad-hoc build, iTunes release or other distribution builds, you should use a "Apple Push Notification service SSL (Sandbox & Production)...
By default, the iOS behavior is is to not show an alert if the app is running when a push comes in. MobilePush respects this default behavior, and will process the push but not display an alert. If you'd like to change this, you may do one of the two following things.
In the SDK, call the following method to tell the SDK to show an alert:
I got this to work by ignoring the tutorial I linked above. The Salesforce docs also include a link to the Apple Developer Center, but it's a generic link to the Mac Dev Center landing page. I found good directions to follow in the "Configuring Push Notifications" section of the App Distribution Guide in the iOS Dev center.
The key difference is what you ...
Jared, can you confirm that the static library is NOT included in the "Embedded Binaries" section of your target's General settings pane in Xcode? That would appear to trigger the error you have.
Also, in the Build Phases pane, verify that there is no copy phase for the static library.
The JB4A-SDK/libJB4ASDK-4.7.0.020600001.a static library is copied to the App Bundle. Don't do this.
Add it to the target's Link Binary with Libraries build phase.
Do not add it to the target's Copy Bundle Resources build phase.
To quote the current documentation (ETPush.h)
Reset the application's badge number to zero (aka, remove it). Call updateET to refresh the server with the current badge number. Note: updateET may not be fully processed by the server for a number of minutes; the server's badge value may be out of sync with the app for a short amount of time.
The new SDK (version 5.0.0 and later) for iOS is our mainline, fully supported, modern architecture SDK framework. No new work (or maintenance) will be done in the JB4A iOS static library.
Furthermore, no compatibility with future OS versions will be ensured or supported with JB4A.
See https://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/ for ...
RTBF (GDPR) functionality is Contact Key based. If you've "deleted" your contact in the Marketing Cloud you will need to contact your Salesforce Account Manager and/or Support Contact.
This is not an SDK error, but rather an information message telling you that the SDK has been instructed by the servers to cease communication with the servers.
If you are ...
You are correct; Subscriber Key is the 1 value that allows you to reconcile contacts between Email Studio and Mobile Push. How/where you get/store that data is up to you, but you will need to call the SDKs' convenience methods to assign the value for the consumer's device.
The primary difference between iOS and Android when dealing with push notifications is the provisioning process and understanding Apple's APNS/Push process. The cause of your opt-out is probably or most often because the application is not registered properly for push messages.
Make sure if you are building a production build you realize it can NOT be ...
This is the expected SDK behavior. I'll make a note to ensure that the web interface is clarified.
In 4.9.5 and later, badges are now set according to the following logic:
If a push message is sent, badge is set to 1 + number of unread Inbox messages
If an inbox message is added, the badge is set to the number of unread Inbox messages (via silent push if ...
You need to have OpenDirect configured in your Mobile App to be able to redirect to External Web URLs.
This is done by enabling the functionnality in the Mobile Push SDK for your APP.
Documentation for Android : https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/sdk-implementation/url-handling.html
Documentation for iOS : https://...
These issues are almost always a certificate issue (99.999% of the time). See the troubleshooting push steps in the documentation for help. (ref. https://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/trouble/ios-debugging.html)
Also see the provisioning section of the docs. (ref. https://salesforce-marketingcloud.github.io/MarketingCloudSDK-...
99.999% of the time this is simply a certificate issue. Please verify that you've uploaded the correct certificate to the Marketing Cloud Servers. If you need further assistance please open a support case through your support representative.
The latest SDK does address an issue with case sensitivity in access tokens which was introduced in a change in our server gateway. This affected the iOS configuration "Builder" usage and was addressed in our 6.2.0 release.
To accomplish this, you can look at the _m value in the push notification's userInfo payload (the push message ID) and compare it to the messageId value of the inbox message dictionary (from sfmc_getAllMessages, for instance).
Then, you can use sfmc_markMessageRead to set that message to read in the SDK.
First, as of 2018-11-16 neither the SDK nor the Marketing Cloud supports the use-case you describe. Please open a Voice of Customer (VoC) request through your account manager. The more of these requests that exist the more likely it is the feature will be implemented.
Now, we do have people who have successfully implemented your use-case. It requires ...
@vale4674, I don't believe the "system" is documented enough to describe the timeline of what happens (yet - we have an documentation ticket in our system for just this).
Generally speaking, when the SDK gets a "registration" change (in this case deviceToken, but could also be contactKey, tags, attributes, etc.) the SDK will send that change (and any others)...
The Marketing Cloud Mobile Push product has an SDK which should help streamline your implementation and handles all the registration details for a device/contact:
There is not anything similar in v4.9.6 and sfmc_refreshMessages in v5.x can be used to resolve your problem, however, please open a Voice of Customer (VOC) request describing this issue so it can be discussed for a future change as it would be best, as you noted, for the message to be present when the notification is received.
Also, note, however that this ...
Mobile Push tracks two main analytics that can be used to infer engagement.
We do track Opens (http://help.marketingcloud.com/en/documentation/mobilepush/analytics/opens/) and we also track time in application.
To your second point, we don't have a current solution in-house that would tell you about a sale coming directly from a push notification. You could ...
I finally found the answer and it was quit simple : On Xcode, I had to go to App Settings -> Capabilities and switch Push Notifications to On.
I was following tutorial to generate the right certificate on the Apple Developer platform but they didn't talk about the action on Xcode. Probably thinking people already know that part.
I can now receive push ...
The bundle identifier is the unique identification of an app within Apple's universe. It must be globally unique, and any individual application only has one bundle identifier. When Push is provisioned with Apple, the bundle identifier supplied is used to create a topic for sending. This is later combined with a device token to create a unique representation ...
The error is CCKeyDerivationPBKDF Failure. ETPush's call to CCKeyDerivationPBKDF failed and the SDK either did not properly handle the error, or chose to crash instead of continuing in an inconsistent state.
The docs give us some reasons why CCKeyDerivationPBKDF may fail:
kCCParamError can result from bad values for the password, salt,
and unwrapped key ...