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 ...
The version of the SDK you were previously using had a bug with regards to the Bluetooth dependency and as a result the library had to be included no matter what. That has been resolved and you can safely remove it from your dependencies and permissions.
I use transitive=true along with an exclusion statement for beacons in a sample application.
You are correct! The EnclosingMethod flag was missing from our Proguard config file. I have raised this issue internally and it will be resolved in an upcoming release. This could make it into a HotFix sooner, but you would need to raise a formal escalation through your account manager in order for this to get prioritized higher ;)
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 ...
In your fork of the plugin you would need to follow all of the steps from https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/location/geolocation.html not just adding the feature enablement to the initialization call.
Add the play services location dependency to your build
Add the location permissions to your manifest file
Enable the ...
This line: Caused by: java.lang.NoClassDefFoundError: com.exacttarget.etpushsdk.ETLocationManager$RegionMonitor
indicates that the reason for the crash is that it is unable to find RegionMonitor which is a class defined within ETLocationManager.
Do you have Proguard turned on? If so, please review the Proguard statements in proguard.cfg which we use for ...
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:...
If you have more than 1 service declared in your application then there's a Google bug in their GcmReceiver which may be getting in your way. See https://salesforce.stackexchange.com/a/128740/16482 for details, but net-net-net, manually declare the ETPushReceiver in your manifest and ensure that it is the 1st service listed.
Make sure you're providing all necessary configuration values as specified in the documentation https://github.com/salesforce-marketingcloud/MC-Cordova-Plugin/blob/master/README.md#installation. Specifically, this error is due to notification_small_icon not being present in your config.xml
For most devices, removing the app from recents will have no effect on whether the app can receive a push message. For some device models, I have seen that removing an app from recents is treated the same as force stopping the app. This is an attempt by the manufacturer to gain better performance, usually as related to battery, on a low-end device. This ...
Check the docs for Push Configuration Troubleshooting:
One of the most common problems is customers creating their app in the App Center with the Android Key rather than the Server Key, but using a REST client like PAW and trying to send directly ...
Actually, the question is about sending push notification from a Lightning app. The provided link is for native and hybrid mobile apps (not Lightning apps or Lightning pages).
To clarify, Lightning framework by itself does NOT provide any support for push notifications. You will need to wrap your Lightning pages into a hybrid application and use an approach ...
We have to use https://ap1.salesforce.com/services/data/v31.0/sobjects/MobilePushServiceDevice/
this way I resolved my issue.
I know we've corresponded in other channels, but adding my note here to help others.
Xamarin integrations are not supported by the MobilePush SDK team. Method binding is the responsibility of the application developer and any issues would be with the Xamarin tools or usage of them.
Senior Mobile Engineer & Product Owner, MobilePush SDK
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'...
You can register a listener to be notified.
In your application, you could set a tag (ref. Device/Contact Registration) based on the message being received or opened. That tag would be sent up with the device registration and become visible in MobilePush Demographics. It could then be used to ...
I had 2 copies of android.jar included in the project. It seems it got included while importing project. I removed the duplicate from Android Private Libraries where only third party jars are kept. This resolved the issues.
Thanks @Bill for your help.
Your code looks good as long as your constants for ET_APP_ID, ET_APP_TOKEN, and GOOGLE_PROJECT_ID are all correct. Step 1 is to make sure there are no copy/paste mistakes there.
If that all checks out, you should next check your AndroidManifest.xml file and ensure it has all of the required permissions, Receivers, and Services. Also ensure your ...
Yes, Yes it is.
There are two ways of doing this. First, is to use the Marketing Cloud's JB4A SDK for either Android or IOS. The second is to use the core platform's push notification features.
I suspect, since you've not mentioned the Marketing Cloud that you're wanting to use core features. Here's some documentation on how to do that:
Version 4.8.5 resolved the issue with Google's GCM Receiver. You no longer have to manually declare the ETPushService in your manifest. Please remove the manual declaration and allow the manifest merge to control the resulting manifest.
Two things are at play here.
First off, the fact that your title is arriving on the device with the apostrophe escaped is a bug in the Marketing Cloud UI that has been fixed, but not released.
Second thing is with regards to the Notification.Builder. The reason you're not seeing the title change when you use the setContentTitle method on the builder is ...
The issue I've encountered is post_prepare hook not firing which means com.salesforce.marketingcloud.cordovaplugin.MCCordovaPluginApplication never inserted into AndroidManifest. The workaround is to insert it manually into your AndroidManifest until the plugin is fixed.
!!!Note this plugin assumes that there is no other plugin overwrites android:name ...
Notification groups are not directly supported by the Marketing Cloud SDK, but you can implement the code necessary for them via the SDK's NotificationManager.NotificationBuilder. See http://salesforce-marketingcloud.github.io/JB4A-SDK-Android/notifications/interactive-notifications.html if you're unfamiliar with how to use that interface in the SDK
There are 2-3 Tags set for an Android device by default: ALL and Android for non-debug builds and and additional Tag of DEBUG for debug builds.
Similarly, ALL, iOS and DEBUG will be set for iOS devices.
Are you setting a Contact Key? I ask because Tags are aggregated for a contact. If you have multiple devices, or have previously set a Tag for a given ...
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.