UNPKG

react-native-invitereferrals

Version:

InviteReferrals is a powerful and yet simple to integrate referral software

186 lines (164 loc) 4.07 kB
'use strict'; import { NativeModules, NativeEventEmitter, Platform } from 'react-native'; const { RNInvitereferrals } = NativeModules; const irEventEmitter = new NativeEventEmitter(RNInvitereferrals); const CAMPAIGN_CALLBACKS = 'ir_campaign_callbacks'; const IR_TRACKING_CALLBACK_EVENT = 'ir_tracking_event'; const eventsCallbackFunction = {}; const campaignCallbacksListener = function () { if (RNInvitereferrals != null) { irEventEmitter.addListener(CAMPAIGN_CALLBACKS, (data) => { try { if (data != null && typeof eventsCallbackFunction[CAMPAIGN_CALLBACKS] == "function") { if (Platform.OS == "ios") { eventsCallbackFunction[CAMPAIGN_CALLBACKS](data.data); } else { eventsCallbackFunction[CAMPAIGN_CALLBACKS](data); } } } catch (e) { console.log("ERROR : " + e); } }); } }; const registerTrackingCallbackListener = function () { if (RNInvitereferrals != null) { irEventEmitter.addListener(IR_TRACKING_CALLBACK_EVENT, (data) => { try { if (data != null && typeof eventsCallbackFunction[IR_TRACKING_CALLBACK_EVENT] == "function") { if (Platform.OS == "ios") { eventsCallbackFunction[IR_TRACKING_CALLBACK_EVENT](data.data); } else { eventsCallbackFunction[IR_TRACKING_CALLBACK_EVENT](data); } } } catch (e) { console.log("ERROR : " + e); } }); } }; try { campaignCallbacksListener(); } catch (e) { console.log("ERROR : " + e); } try { registerTrackingCallbackListener(); } catch (e) { console.log("ERROR : " + e); } export default class Invitereferrals { // # CAMPAIGN METHODS static campaign(campaignInfo, userInfo, callback) { try { eventsCallbackFunction[CAMPAIGN_CALLBACKS] = callback; if (userInfo != null) { RNInvitereferrals.campaign(campaignInfo, userInfo) } else { RNInvitereferrals.campaignLogin(campaignInfo) } } catch (e) { console.log("ERROR : " + e); } } static tracking(eventInfo, userInfo, callback) { try { RNInvitereferrals.tracking(eventInfo, userInfo, callback); } catch (e) { console.log("ERROR : " + e); } } static campaignPopup(ruleName, campaignInfo, userInfo) { try { RNInvitereferrals.campaignPopup(ruleName, campaignInfo, userInfo); } catch (e) { console.log("ERROR : " + e); } } static getSharingDetails(campaignInfo, userInfo, callback) { try { RNInvitereferrals.getSharingDetails(campaignInfo, userInfo, callback); } catch (e) { console.log("ERROR : " + e); } } static showWelcomeMessage() { try { RNInvitereferrals.showWelcomeMessage(); } catch (e) { console.log("ERROR : " + e); } } static getReferrerCode(callback) { try { RNInvitereferrals.getReferrerCode(callback); } catch (e) { console.log("ERROR : " + e); } } static getReferringParams(callback) { try { RNInvitereferrals.getReferringParams(callback); } catch (e) { console.log("ERROR : " + e); } } static setLocale(locale) { try { RNInvitereferrals.setLocale(locale); } catch (e) { console.log("ERROR : " + e); } } static trackInvite(inviteParameter, campaignID) { try { RNInvitereferrals.trackInvite(inviteParameter, campaignID); } catch (e) { console.log("ERROR : " + e); } } static logout() { try { RNInvitereferrals.logout(); } catch (e) { console.log("ERROR : " + e); } } static closeButtonListener(irCallback) { try { eventsCallbackFunction[IR_CLOSE_BUTTON_CLICK_EVENT] = irCallback; RNInvitereferrals.closeButtonListener(); } catch (e) { console.log("ERROR : " + e); } } } export class RNIRCampaignInfo { constructor() { this.campaignID = 0; this.templateID = 0; } } export class RNIRUserInfo { constructor() { this.name = ""; this.email = ""; this.mobile = ""; this.subscriptionID = ""; this.customValueOne = ""; this.customValueTwo = ""; } } export class RNIREventInfo { constructor() { this.eventName = ""; this.orderID = ""; this.purchaseValue = "0"; this.referrerCode = ""; this.uniqueCode = ""; this.orderCustomValue = ""; } }