react-native-resulticks-sdk
v2.8.1
Published
React Native SDK for Resulticks - Customer engagement and analytics platform
Maintainers
Readme
React Native Resulticks SDK
React Native bridge for the Resulticks customer engagement platform. Provides analytics, push notifications, deep linking, screen tracking, app conversion, and dynamic zone (banner) support.
Installation
npm install react-native-resulticks-sdk
# or
yarn add react-native-resulticks-sdkiOS Additional Setup
cd ios && pod installAndroid Additional Setup
- Copy the
SDK/module from the Flutter plugin intonode_modules/react-native-resulticks-sdk/android/ - Add to your
android/settings.gradle:
include ':react-native-resulticks-sdk'
project(':react-native-resulticks-sdk').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-resulticks-sdk/android')
include ':SDK'
project(':SDK').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-resulticks-sdk/android/SDK')- Add to your
MainApplication.java:
import com.resul.rereactnativesdk.ReResulticksPackage;
// In getPackages():
packages.add(new ReResulticksPackage());Usage
import { ResulticksSDK, DynamicZones } from 'react-native-resulticks-sdk';
// SDK Registration
ResulticksSDK.sdkRegistration({
userUniqueId: 'user123',
name: 'John Doe',
email: '[email protected]',
phone: '+1234567890',
});
// iOS: Initialize SDK
ResulticksSDK.initWithSDK('YOUR_APP_ID');
// Push Token
ResulticksSDK.updatePushToken('fcm-token-here');
// Custom Events
ResulticksSDK.customEvent('purchase_completed');
ResulticksSDK.customEventWithData({
name: 'purchase_completed',
data: { amount: 99.99, currency: 'USD' },
});
// Screen Tracking
ResulticksSDK.screenTracking('HomeScreen');
// Location
ResulticksSDK.locationUpdate(37.7749, -122.4194);
// Notifications
const list = await ResulticksSDK.getNotificationList();
const readCount = await ResulticksSDK.getReadNotificationCount();
const unreadCount = await ResulticksSDK.getUnReadNotificationCount();
ResulticksSDK.readNotification('campaign-id');
ResulticksSDK.deleteNotificationByCampaignId('campaign-id');
// Deep Link Listener
const subscription = ResulticksSDK.addEventListener('onDeepLinkData', (data) => {
console.log('Deep link data:', data);
});
// Later: subscription.remove();
// App Conversion
ResulticksSDK.appConversion();
ResulticksSDK.appConversionWithData({ source: 'organic' });
// Dynamic Zones
const bannerId = await DynamicZones.syncBannerDetails('320x50', 'home_banner');
const adItems = await DynamicZones.updateBanner('home_banner', '320x50', bannerId);
await DynamicZones.sendCampaign('campaign-id', 'action-id', 'click');API Reference
Core SDK Methods
| Method | Description |
|---|---|
| sdkRegistration(userData) | Register user with SDK |
| initWithSDK(appId) | iOS: Initialize SDK |
| updatePushToken(token) | Update FCM/APNs token |
| locationUpdate(lat, lng) | Send location update |
| customEvent(name) | Track custom event |
| customEventWithData(data) | Track event with data |
| screenTracking(name) | Track screen view |
| appConversion() | Track app conversion |
| appConversionWithData(data) | Track conversion with data |
| formDataCapture(data) | Capture form data |
Notification Methods
| Method | Returns |
|---|---|
| addNotification(title, body) | void |
| getNotificationList() | Promise<string> |
| getReadNotificationCount() | Promise<number> |
| getUnReadNotificationCount() | Promise<number> |
| readNotification(id) | void |
| unReadNotification(id) | void |
| deleteNotificationByCampaignId(id) | void |
| notificationCTAClicked(id, actionId) | void |
Deep Link Methods
| Method | Returns |
|---|---|
| deepLinkData(type) | void (emits event) |
| deepLinkDataReset() | void |
| getDeepLinkData(url) | Promise<string> |
| emitDeeplinkData(data) | void |
Event Names
onDeepLinkDataonInstallDataReceiveddidReceiveResponsedidReceiveSmartLinkdidReceiveDeeplinkdata
Dynamic Zones
| Method | Returns |
|---|---|
| syncBannerDetails(size, name) | Promise<number> |
| updateBanner(name, size, id) | Promise<AdItem[]> |
| sendCampaign(id, actionId, name) | Promise<boolean> |
| addBannerUpdateListener(cb) | Subscription |
