UNPKG

smartech-base-react-native

Version:
63 lines (49 loc) 2.4 kB
import type { TurboModule } from 'react-native/Libraries/TurboModule/RCTExport'; import { TurboModuleRegistry } from 'react-native'; export interface Spec extends TurboModule { readonly getConstants: () => { SmartechDeeplink: string; SmartechWidgetDataReceived: string }; // App tracking methods trackAppInstall(): void; trackAppUpdate(): void; trackAppInstallUpdateBySmartech(): void; trackEvent(eventName: string, payload: Object): void; // User identity methods login(identity: string): void; logoutAndClearUserIdentity(isLogout: boolean): void; setUserIdentity(identity: string, callback: (err: Object | null, res: Object | null) => void): void; getUserIdentity(callback: (err: Object | null, res: Object | null) => void): void; clearUserIdentity(): void; // User profile methods updateUserProfile(profileData: Object): void; // GDPR methods optTracking(value: boolean): void; hasOptedTracking(callback: (err: Object | null, res: Object | null) => void): void; optInAppMessage(value: boolean): void; hasOptedInAppMessage(callback: (err: Object | null, res: Object | null) => void): void; // Location methods setUserLocation(latitude: number, longitude: number): void; // Helper methods getAppId(callback: (err: Object | null, res: Object | null) => void): void; getDeviceGuid(callback: (err: Object | null, res: Object | null) => void): void; getSDKVersion(callback: (err: Object | null, res: Object | null) => void): void; // Unbxd Idenity getNetcoreUnbxdIdentity(callback: (err: Object | null, res: Object | null) => void): void; // Partner parameters getPartnerParametersString(callback: (err: Object | null, res: Object | null) => void): void; // Deeplink methods setDeeplinkInit(): void; // AppContentPz methods getWidgetByName(widgetName: string): void; getWidgetByNames(widgetNames: string[]): void; getAllWidgets(): void; getAllWidgetNames(callback: (err: Object | null, res: Object | null) => void): void; trackWidgetAsViewed(widget: Object): void; trackWidgetAsClicked(widget: Object): void; // Event listeners (for deeplink events) addListener(eventName: string): void; removeListeners(count: number): void; } export default TurboModuleRegistry.getEnforcing<Spec>('SmartechBaseReactNative');