Use this module to implement the Marketing Cloud MobilePush SDK for your iOS and Android applications.
Release notes for the plugin can be found here
- Plugin has a version dependency on React Native v0.60+
1. Add plugin to your application via npm
npm install react-native-marketingcloudsdk --save
android/build.gradle
allprojects {
repositories {
maven { url "https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/repository" }
//... Other repos
}
}
-
To enable push support for the Android platform you will need to include the google-services.json file. Download the file from your Firebase console and place it into the
android/app
directory -
Include the Google Services plugin in your build
android/build.gradle
buildscript {
repositories {
google() // Google's Maven repository
}
dependencies {
// ...
// Add the following line:
classpath 'com.google.gms:google-services:4.2.0'
}
}
- Apply the plugin
android/app/build.gradle
// Add the following line to the bottom of the file:
apply plugin: 'com.google.gms.google-services
@Override
public void onCreate() {
super.onCreate();
MarketingCloudSdk.init(this,
MarketingCloudConfig.builder()
.setApplicationId("{MC_APP_ID}")
.setAccessToken("{MC_ACCESS_TOKEN}")
.setSenderId("{FCM_SENDER_ID_FOR_MC_APP}")
.setMarketingCloudServerUrl("{MC_APP_SERVER_URL}")
.setNotificationCustomizationOptions(NotificationCustomizationOptions.create(R.drawable.ic_notification))
.setAnalyticsEnabled(true)
.build(this),
initializationStatus -> Log.e("INIT", initializationStatus.toString()));
// ... The rest of the onCreate method
}
cd ios
pod install
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
MarketingCloudSDKConfigBuilder *mcsdkBuilder = [MarketingCloudSDKConfigBuilder new];
[mcsdkBuilder sfmc_setApplicationId:@"{MC_APP_ID}"];
[mcsdkBuilder sfmc_setAccessToken:@"{MC_ACCESS_TOKEN}"];
[mcsdkBuilder sfmc_setAnalyticsEnabled:@(YES)];
[mcsdkBuilder sfmc_setMarketingCloudServerUrl:@"{MC_APP_SERVER_URL}"];
NSError *error = nil;
BOOL success =
[[MarketingCloudSDK sharedInstance] sfmc_configureWithDictionary:[mcsdkBuilder sfmc_build]
error:&error];
// ... The rest of the didFinishLaunchingWithOptions method
}
Follow these instructions to enable push for iOS.
Kind: global class
- MCReactModule
- .isPushEnabled() ⇒
Promise.<boolean>
- .enablePush()
- .disablePush()
- .getSystemToken() ⇒
Promise.<?string>
- .getAttributes() ⇒
Promise.<Object.<string, string>>
- .setAttribute(key, value)
- .clearAttribute(key)
- .addTag(tag)
- .removeTag(tag)
- .getTags() ⇒
Promise.<Array.<string>>
- .setContactKey(contactKey)
- .getContactKey() ⇒
Promise.<?string>
- .setPushToken(token)
- .enableVerboseLogging()
- .disableVerboseLogging()
- .logSdkState()
- .track()
- .isPushEnabled() ⇒
The current state of the pushEnabled flag in the native Marketing Cloud SDK.
Kind: static method of MCReactModule
Returns: Promise.<boolean>
- A promise to the boolean representation of whether push is
enabled.
See
Enables push messaging in the native Marketing Cloud SDK.
Kind: static method of MCReactModule
See
Disables push messaging in the native Marketing Cloud SDK.
Kind: static method of MCReactModule
See
Returns the token used by the Marketing Cloud to send push messages to the device.
Kind: static method of MCReactModule
Returns: Promise.<?string>
- A promise to the system token string.
See
Returns the maps of attributes set in the registration.
Kind: static method of MCReactModule
Returns: Promise.<Object.<string, string>>
- A promise to the key/value map of attributes set
in the registration.
See
Sets the value of an attribute in the registration.
Kind: static method of MCReactModule
See
Param | Type | Description |
---|---|---|
key | string |
The name of the attribute to be set in the registration. |
value | string |
The value of the key attribute to be set in the registration. |
Clears the value of an attribute in the registration.
Kind: static method of MCReactModule
See
Param | Type | Description |
---|---|---|
key | string |
The name of the attribute whose value should be cleared from the registration. |
Kind: static method of MCReactModule
See
Param | Type | Description |
---|---|---|
tag | string |
The tag to be added to the list of tags in the registration. |
Kind: static method of MCReactModule
See
Param | Type | Description |
---|---|---|
tag | string |
The tag to be removed from the list of tags in the registration. |
Returns the tags currently set on the device.
Kind: static method of MCReactModule
Returns: Promise.<Array.<string>>
- A promise to the array of tags currently set in the native SDK.
See
Sets the contact key for the device's user.
Kind: static method of MCReactModule
See
Param | Type | Description |
---|---|---|
contactKey | string |
The value to be set as the contact key of the device's user. |
Returns the contact key currently set on the device.
Kind: static method of MCReactModule
Returns: Promise.<?string>
- A promise to the current contact key.
See
Set the Firebase or APN token used by the Marketing Cloud to send push messages to the device.
Kind: static method of MCReactModule
See
Param | Type | Description |
---|---|---|
token | string | null |
The Firebase or APN token to be used by Marketing Cloud |
Enables verbose logging within the native Marketing Cloud SDK.
Kind: static method of MCReactModule
See
Disables verbose logging within the native Marketing Cloud SDK.
Kind: static method of MCReactModule
See
Instructs the native SDK to log the SDK state to the native logging system (Logcat for Android and Xcode/Console.app for iOS). This content can help diagnose most issues within the SDK and will be requested by the Marketing Cloud support team.
Kind: static method of MCReactModule
This method helps to track events, which could result in actions such as an InApp Message being displayed.
Kind: static method of MCReactModule
Where possible, we changed noninclusive terms to align with our company value of Equality. We retained noninclusive terms to document a third-party system, but we encourage the developer community to embrace more inclusive language. We can update the term when it’s no longer required for technical accuracy.