React Native Advanced Features

Learn more about React Native advanced features.

Advanced Features

Debugging

Set Debug Level

CleverTap.setDebugLevel(3);

Custom Push Notifications (Android only)

CleverTap's React Native SDK provides a built-in mechanism for receiving push notifications via FCM. However, if you have your own custom Service for managing push notifications, you can inform CleverTap about the service’s token ID whenever it is available. Following are the APIs for supported Platforms:

Registering FCM Token

CleverTap.setPushToken("<Your FCM Token>", CleverTap.FCM);

Registering Huawei Token

CleverTap.setPushToken("<Your HPS Token>", CleverTap.HPS);

Registering Baidu Token

CleverTap.setPushToken("<Your BPS Token>", CleverTap.BPS);

Registering XPS Token

CleverTap.setPushToken("<Your XPS Token>", CleverTap.XPS, "<Region>");

📘

Configuration for CleverTap XPS

This API is used to support the manual configuration of Xiaomi Push SDK. To use the default configuration provided by the CleverTap XPS SDK, refer to CleverTap Xiaomi Push Integration. No additional integration is required.

Create Notification

CleverTap.createNotification(data);

Native Display

On Display Units Loaded

CleverTap.addListener(CleverTap.CleverTapDisplayUnitsLoaded, (data) => {
        /* consume the event data */
    });

Get All Display Units

CleverTap.getAllDisplayUnits((err, res) => {
        console.log('All Display Units: ', res, err);
    });

Display unit viewed event for ID

CleverTap.pushDisplayUnitViewedEventForID('Display Unit Id');

Display unit clicked event for ID

CleverTap.pushDisplayUnitClickedEventForID('Display Unit Id');

Product Config

Set Product Configuration to default

//Add the Product Config Initialized listener
CleverTap.addListener(CleverTap.CleverTapProductConfigDidInitialize, (data) => {
          /* consume the event data */
    });

//Set the defaults Map
CleverTap.setDefaultsMap({
        'text_color': 'red',
        'msg_count': 100,
        'price': 100.50,
        'is_shown': true,
        'json': '{"key":"val"}'
    });

Fetching product configs

//Add the Product Config Fetched listener
CleverTap.addListener(CleverTap.CleverTapProductConfigDidFetch, (data) => {
          /* consume the event data */
    });

//Fetch the Product Config
CleverTap.fetch();

Activate the most recently fetched product config

//Add the Product Config Activated listener
CleverTap.addListener(CleverTap.CleverTapProductConfigDidActivate, (data) => {
          /* consume the event data */
    });

//Activate the Product Config
CleverTap.activate();

Fetch And Activate product config

CleverTap.fetchAndActivate();

Fetch Minimum Time Interval

CleverTap.setMinimumFetchIntervalInSeconds(interval);

Get Boolean key

CleverTap.getProductConfigBoolean(“key”);

Get String Key

CleverTap.getProductConfigString(“key”);

Get Number key

CleverTap.getNumber(“key”);

Get last fetched timestamp in millis

CleverTap.getLastFetchTimeStampInMillis();

Feature Flag

Get Feature Flag

//Add the Feature Flag Updated listener
CleverTap.addListener(CleverTap.CleverTapFeatureFlagsDidUpdate, (data) => {
          /* consume the event data */
CleverTap.getFeatureFlag("BoolKey", false);
    });

App Personalization

Enable Personalization

CleverTap.enablePersonalization();

Disable Personalization

CleverTap.disablePersonalization();

Attributions

Push Install Referrer

CleverTap.pushInstallReferrer("source", "medium", "campaign");

GDPR

Set Opt Out

CleverTap.setOptOut(false); ///Will opt in the user to send data to CleverTap
CleverTap.setOptOut(true); ///Will opt out the user to send data to CleverTap

Enable Device Networking Info Reporting

// Will opt out the user to send Device Network data to CleverTap
CleverTap.enableDeviceNetworkInfoReporting(false);
// Will opt in the user to send Device Network data to CleverTap
CleverTap.enableDeviceNetworkInfoReporting(true);

Set Offline

// Will set the user online
CleverTap.setOffline(false);
// Will set the user offline
CleverTap.setOffline(true);