UNPKG

react-native-invitereferrals

Version:

InviteReferrals is a powerful and yet simple to integrate referral software

250 lines (211 loc) 4.94 kB
'use strict'; import { NativeModules, NativeEventEmitter, Platform } from 'react-native'; const { RNInvitereferrals } = NativeModules; const irEventEmitter = new NativeEventEmitter(RNInvitereferrals); const IR_CLOSE_BUTTON_CLICK_EVENT = 'ir_close_button_click'; const IR_TRACKING_CALLBACK_EVENT = 'ir_tracking_event'; const eventsCallbackFunction = {}; const registerCloseButtonListener = function(){ if (RNInvitereferrals != null) { irEventEmitter.addListener(IR_CLOSE_BUTTON_CLICK_EVENT, (data)=>{ try{ if(data != null && typeof eventsCallbackFunction[IR_CLOSE_BUTTON_CLICK_EVENT] == "function"){ if(Platform.OS == "ios"){ eventsCallbackFunction[IR_CLOSE_BUTTON_CLICK_EVENT](data.data); }else{ eventsCallbackFunction[IR_CLOSE_BUTTON_CLICK_EVENT](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{ registerCloseButtonListener(); } catch(e){ console.log("ERROR : "+ e); } try{ registerTrackingCallbackListener(); } catch(e){ console.log("ERROR : "+ e); } export default class Invitereferrals{ //AUTO LOGIN static userDetails(name, email, mobile, campaignID, subscriptionID, customValues, callback) { try{ if(Platform.OS == "ios"){ campaignID = campaignID+""; } else{ campaignID = parseInt(campaignID); } RNInvitereferrals.userDetails( name, email, mobile, campaignID, subscriptionID, customValues, callback); } catch(e){ console.log("ERROR : "+ e); } } //GET SHARING DETAILS static getSharingDetails(name, email, mobile, campaignID, callback){ try{ if(Platform.OS == "android"){ campaignID = parseInt(campaignID); } if(Platform.OS == "ios"){ campaignID = campaignID+""; } RNInvitereferrals.getSharingDetails(name, email, mobile, campaignID, callback); } catch(e){ console.log("ERROR : "+ e); } } // sharing screen static inline_btn(campaignId){ try{ if(Platform.OS == "ios"){ campaignId = campaignId+""; } else{ campaignId = parseInt(campaignId); } RNInvitereferrals.inline_btn(campaignId); } catch(e){ console.log("ERROR : "+ e); } } // LOGIN POPUP static invite(showRule){ try{ RNInvitereferrals.invite(showRule); } catch(e){ console.log("ERROR : "+ e); } } // Show Welcome Message after Referring static showWelcomeMessage(){ try{ RNInvitereferrals.showWelcomeMessage(); } catch(e){ console.log("ERROR : "+ e); } } // insatll register sale tracking static tracking( eventName, orderID, purchaseValue, referCode, unique_code, customValue, userData, irCallback){ try{ if(Platform.OS == "ios"){ purchaseValue = purchaseValue+""; eventsCallbackFunction[IR_TRACKING_CALLBACK_EVENT] = irCallback; RNInvitereferrals.tracking( eventName, orderID, purchaseValue, referCode, unique_code); } else{ purchaseValue = parseInt(purchaseValue); RNInvitereferrals.tracking( eventName, orderID, purchaseValue, referCode, unique_code, customValue, userData, irCallback); } } catch(e){ console.log("ERROR : "+ e); } } // show welcome message static closeButtonListener(irCallback){ try{ eventsCallbackFunction[IR_CLOSE_BUTTON_CLICK_EVENT] = irCallback; RNInvitereferrals.closeButtonListener(); } catch(e){ console.log("ERROR : "+ e); } } // INCREASE INVITE COUNT MANNUALY static trackInvite(inviteParameter){ try{ RNInvitereferrals.trackInvite(inviteParameter); } catch(e){ console.log("ERROR : "+ e); } } // Get the Referrals Code static getReferrerCode(callback){ try{ RNInvitereferrals.getReferrerCode(callback); } catch(e){ console.log("ERROR : "+ e); } } // Get the Referrals Code, Popup for How-It-Works, Terms-&-Conditions static showPopup(popupType, campaignID){ try{ RNInvitereferrals.showPopup(popupType, campaignID); } catch(e){ console.log("ERROR : "+ e); } } //CHANGE LANGUAGE static setLocale(locale){ try{ RNInvitereferrals.showPopup(locale); } catch(e){ console.log("ERROR : "+ e); } } //GET REFERRALS PARAMETERS static getReferringParams(callback){ try{ RNInvitereferrals.getReferringParams(callback); } catch(e){ console.log("ERROR : "+ e); } } }