UNPKG

appmetrica-capacitor7

Version:
134 lines (104 loc) 2.87 kB
# Capacitor Appmetrica plugin [![npm version](https://badge.fury.io/js/capacitor-appmetrica.svg)](https://badge.fury.io/js/capacitor-appmetrica) # Available methods: - activate() - pauseSession() - sendEventsBuffer() - resumeSession() - setLocationTracking() - setStatisticsSending() - setLocation() - reportAppOpen() - reportError() - reportEvent() - reportReferralUrl() - setUserProfileID() - getDeviceID() - reportUserProfile() # Angular usage example: 1. In your module (e.g. `app.module.ts`) ```ts ... import { Appmetrica } from 'capacitor-appmetrica' @NgModule({ ... providers: [ ... Appmetrica, ], }) export class AppModule {} ``` 2. In your component or service (e.g. `analytics.service.ts`) ```ts ... import { Appmetrica, UserProfile, ProfileAttribute } from 'capacitor-appmetrica' @Injectable() export class AnalyticsService { constructor(private appmetrica: Appmetrica) {} async initialization() { await this.appmetrica.activate("<SDK_API_KEY>", { logs: true }) } async logEvent(name: string, params?: Object) { await this.appmetrica.logEvent(name, params) } async setUserProfileID(id: string) { return this.appmetrica.setUserProfileID(id) } async reportUserProfile() { const userProfile = new UserProfile() userProfile.applyFromArray([ ProfileAttribute.Name().withValue('Ivan'), ProfileAttribute.BirthDate().withBirthDate(new Date()), ProfileAttribute.CustomString('born_in').withValueIfUndefined('Moscow'), ]) await this.appmetrica.reportUserProfile(userProfile) } async getDeviceID(): string { return this.appmetrica.getDeviceID() } } ``` # React usage example: ```tsx import { Appmetrica } from 'capacitor-appmetrica'; export function useAppmetrica() { return useRef(new Appmetrica()); } ``` ```tsx import { Appmetrica, UserProfile, ProfileAttribute, } from 'capacitor-appmetrica'; export default function App() { const appmetrica = useAppmetrica(); const [deviceId, setDeviceId] = useState(null); useEffect(() => { appmetrica.activate('<SDK_API_KEY>', { logs: true }); appmetrica.getDeviceID().then(deviceId => { setDeviceId(deviceId); }); }, []); const onButtonClick = () => { appmetrica.logEvent('clickButton', { param: 10 }); }; const onProfileClick = async () => { await appmetrica.setUserProfileID('123'); const userProfile = new UserProfile(); userProfile.applyFromArray([ ProfileAttribute.Name().withValue('Ivan'), ProfileAttribute.BirthDate().withBirthDate(new Date()), ProfileAttribute.CustomString('born_in').withValueIfUndefined('Moscow'), ]); await appmetrica.reportUserProfile(userProfile); }; return ( <div> deviceId: {deviceId} <button onClick={onButtonClick}>log event</button> <button onClick={onProfileClick}>set profile</button> </div> ); } ```