UNPKG

react-native-kochava-measurement

Version:

A lightweight and easy to integrate SDK, providing first-class integration with Kochava’s installation attribution and analytics platform.

377 lines (372 loc) 12.1 kB
"use strict"; import { KochavaMeasurementDeeplink, KochavaMeasurementInstallAttribution, KochavaMeasurementConfig } from 'react-native-kochava-measurement'; import KochavaMeasurement from './NativeKochavaMeasurement'; /** * Implementation for native platforms. Supported platforms are Android, Android TV, iOS, and tvOS. */ export class KochavaMeasurementImpl { // Internal state for EAI listeners _configCompletedListener = null; constructor() { KochavaMeasurement.onExecuteAdvancedInstruction(result => { if (result.id === "configCompletedListener") { // Parse the serialized JSON string into KochavaMeasurementConfig object const dataObj = JSON.parse(result.data); const config = new KochavaMeasurementConfig(dataObj["config"]); // Call the stored listener with the parsed object if (this._configCompletedListener != null) { this._configCompletedListener(config); } } }); } executeAdvancedInstruction(name, value) { if (KochavaMeasurement == null) { return; } KochavaMeasurement.executeAdvancedInstruction(name, value, null); } setLogLevel(logLevel) { if (KochavaMeasurement == null) { return; } const parameters = { logLevel: logLevel }; KochavaMeasurement.executeAdvancedInstruction("wrapper_setLogLevel", JSON.stringify(parameters), null); } setSleep(enabled) { if (KochavaMeasurement == null) { return; } const parameters = { enabled: enabled }; KochavaMeasurement.executeAdvancedInstruction("wrapper_setSleep", JSON.stringify(parameters), null); } setAppLimitAdTracking(enabled) { if (KochavaMeasurement == null) { return; } const parameters = { enabled: enabled }; KochavaMeasurement.executeAdvancedInstruction("wrapper_setAppLimitAdTracking", JSON.stringify(parameters), null); } registerCustomDeviceIdentifier(name, value) { if (KochavaMeasurement == null) { return; } const parameters = { name: name, value: value }; KochavaMeasurement.executeAdvancedInstruction("wrapper_registerCustomDeviceIdentifier", JSON.stringify(parameters), null); } registerCustomStringValue(name, value) { if (KochavaMeasurement == null) { return; } const parameters = { name: name, value: value }; KochavaMeasurement.executeAdvancedInstruction("wrapper_registerCustomValue", JSON.stringify(parameters), null); } registerCustomBoolValue(name, value) { if (KochavaMeasurement == null) { return; } const parameters = { name: name, value: value }; KochavaMeasurement.executeAdvancedInstruction("wrapper_registerCustomValue", JSON.stringify(parameters), null); } registerCustomNumberValue(name, value) { if (KochavaMeasurement == null) { return; } const parameters = { name: name, value: value }; KochavaMeasurement.executeAdvancedInstruction("wrapper_registerCustomValue", JSON.stringify(parameters), null); } registerIdentityLink(name, value) { if (KochavaMeasurement == null) { return; } const parameters = { name: name, value: value }; KochavaMeasurement.executeAdvancedInstruction("wrapper_registerIdentityLink", JSON.stringify(parameters), null); } enableAppleAppClips(identifier) { if (KochavaMeasurement == null) { return; } const parameters = { identifier: identifier }; KochavaMeasurement.executeAdvancedInstruction("wrapper_enableAppleAppClips", JSON.stringify(parameters), null); } enableAppleAtt() { if (KochavaMeasurement == null) { return; } KochavaMeasurement.executeAdvancedInstruction("wrapper_enableAppleAtt", "{}", null); } setAppleAttAuthorizationWaitTime(timeInterval) { if (KochavaMeasurement == null) { return; } const parameters = { timeInterval: timeInterval }; KochavaMeasurement.executeAdvancedInstruction("wrapper_setAppleAttAuthorizationWait", JSON.stringify(parameters), null); } setAppleAttAuthorizationAutoRequest(enabled) { if (KochavaMeasurement == null) { return; } const parameters = { enabled: enabled }; KochavaMeasurement.executeAdvancedInstruction("wrapper_setAppleAttAuthorizationAutoRequest", JSON.stringify(parameters), null); } setAppleAttAuthorizationCustomPrompt(enabled) { if (KochavaMeasurement == null) { return; } const parameters = { enabled: enabled }; KochavaMeasurement.executeAdvancedInstruction("wrapper_setAppleAttAuthorizationCustomPrompt", JSON.stringify(parameters), null); } appleAttAuthorizationCustomPromptDidComplete() { if (KochavaMeasurement == null) { return; } KochavaMeasurement.executeAdvancedInstruction("wrapper_appleAttAuthorizationCustomPromptDidComplete", "{}", null); } registerPrivacyProfile(name, keys) { if (KochavaMeasurement == null) { return; } const parameters = { name: name, keys: keys }; KochavaMeasurement.executeAdvancedInstruction("wrapper_registerPrivacyProfile", JSON.stringify(parameters), null); } setPrivacyProfileEnabled(name, enabled) { if (KochavaMeasurement == null) { return; } const parameters = { name: name, enabled: enabled }; KochavaMeasurement.executeAdvancedInstruction("wrapper_setPrivacyProfileEnabled", JSON.stringify(parameters), null); } setConfigCompletedListener(configCompletedListener) { if (KochavaMeasurement == null) { return; } this._configCompletedListener = configCompletedListener; KochavaMeasurement.executeAdvancedInstruction("wrapper_setConfigCompletedListener", "{}", "configCompletedListener"); } setIntelligentConsentGranted(granted) { if (KochavaMeasurement == null) { return; } const parameters = { granted: granted }; KochavaMeasurement.executeAdvancedInstruction("wrapper_setIntelligentConsentGranted", JSON.stringify(parameters), null); } getStarted() { return new Promise(function (resolve, reject) { if (KochavaMeasurement == null) { reject(new Error("KochavaMeasurement failed to initialize")); return; } KochavaMeasurement.executeAdvancedInstruction("wrapper_getStarted", "{}", "standard").then(value => { const valueObj = JSON.parse(value); resolve(valueObj["started"] ?? false); }).catch(error => { reject(error); }); }); } start(parameters) { if (KochavaMeasurement == null) { console.log("KVA/Measurement: ERROR: Attempting to start the SDK on an unsupported platform."); return; } KochavaMeasurement.executeAdvancedInstruction("wrapper_start", JSON.stringify(parameters), null); } shutdown(deleteData) { if (KochavaMeasurement == null) { return; } // Internal cleanup this._configCompletedListener = null; // SDK Shutdown const parameters = { deleteData: deleteData }; KochavaMeasurement.executeAdvancedInstruction("wrapper_shutdown", JSON.stringify(parameters), null); } retrieveInstallId() { return new Promise(function (resolve, reject) { if (KochavaMeasurement == null) { reject(new Error("KochavaMeasurement failed to initialize")); return; } KochavaMeasurement.executeAdvancedInstruction("wrapper_retrieveInstallId", "{}", "standard").then(value => { const valueObj = JSON.parse(value); resolve(valueObj["installId"] ?? ""); }).catch(error => { reject(error); }); }); } retrieveInstallAttribution() { return new Promise(function (resolve, reject) { if (KochavaMeasurement == null) { reject(new Error("KochavaMeasurement failed to initialize")); return; } KochavaMeasurement.executeAdvancedInstruction("wrapper_retrieveInstallAttribution", "{}", "standard").then(value => { const valueObj = JSON.parse(value); resolve(new KochavaMeasurementInstallAttribution(valueObj["installAttribution"] ?? {})); }).catch(error => { reject(error); }); }); } processDeeplink(path) { return new Promise(function (resolve, reject) { if (KochavaMeasurement == null) { reject(new Error("KochavaMeasurement failed to initialize")); return; } const parameters = { path: path }; KochavaMeasurement.executeAdvancedInstruction("wrapper_processDeeplink", JSON.stringify(parameters), "standard").then(value => { const valueObj = JSON.parse(value); resolve(new KochavaMeasurementDeeplink(valueObj["deeplink"] ?? {})); }).catch(error => { reject(error); }); }); } registerDeeplinkWrapperDomain(domain) { if (KochavaMeasurement == null) { return; } const parameters = { domain: domain }; KochavaMeasurement.executeAdvancedInstruction("wrapper_registerDeeplinkWrapperDomain", JSON.stringify(parameters), null); } processDeeplinkWithOverrideTimeout(path, timeout) { return new Promise(function (resolve, reject) { if (KochavaMeasurement == null) { reject(new Error("KochavaMeasurement failed to initialize")); return; } const parameters = { path: path, timeout: timeout }; KochavaMeasurement.executeAdvancedInstruction("wrapper_processDeeplink", JSON.stringify(parameters), "standard").then(value => { const valueObj = JSON.parse(value); resolve(new KochavaMeasurementDeeplink(valueObj["deeplink"] ?? {})); }).catch(error => { reject(error); }); }); } registerDefaultEventStringParameter(name, value) { if (KochavaMeasurement == null) { return; } const parameters = { name: name, value: value }; KochavaMeasurement.executeAdvancedInstruction("wrapper_registerEventDefaultParameter", JSON.stringify(parameters), null); } registerDefaultEventBoolParameter(name, value) { if (KochavaMeasurement == null) { return; } const parameters = { name: name, value: value }; KochavaMeasurement.executeAdvancedInstruction("wrapper_registerEventDefaultParameter", JSON.stringify(parameters), null); } registerDefaultEventNumberParameter(name, value) { if (KochavaMeasurement == null) { return; } const parameters = { name: name, value: value }; KochavaMeasurement.executeAdvancedInstruction("wrapper_registerEventDefaultParameter", JSON.stringify(parameters), null); } registerDefaultEventUserId(value) { if (KochavaMeasurement == null) { return; } const parameters = { name: "user_id", value: value }; KochavaMeasurement.executeAdvancedInstruction("wrapper_registerEventDefaultParameter", JSON.stringify(parameters), null); } sendEvent(name) { if (KochavaMeasurement == null) { return; } const parameters = { eventName: name }; KochavaMeasurement.executeAdvancedInstruction("wrapper_sendEvent", JSON.stringify(parameters), null); } sendEventWithString(name, data) { if (KochavaMeasurement == null) { return; } const parameters = { eventName: name, eventDataString: data }; KochavaMeasurement.executeAdvancedInstruction("wrapper_sendEvent", JSON.stringify(parameters), null); } sendEventWithDictionary(name, data) { if (KochavaMeasurement == null) { return; } const parameters = { eventName: name, eventData: data }; KochavaMeasurement.executeAdvancedInstruction("wrapper_sendEvent", JSON.stringify(parameters), null); } sendEventWithEvent(event) { if (KochavaMeasurement == null) { return; } const parameters = event != null ? event.getData() : {}; KochavaMeasurement.executeAdvancedInstruction("wrapper_sendEvent", JSON.stringify(parameters), null); } } //# sourceMappingURL=KochavaMeasurementImpl.native.js.map