appmetrica-capacitor5
TypeScript icon, indicating that this package has built-in type declarations

1.0.4 • Public • Published

Capacitor Appmetrica plugin npm version

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)
...
import { Appmetrica } from 'capacitor-appmetrica'

@NgModule({
	...
	providers: [
		...
		Appmetrica,
	],
})
export class AppModule {}
  1. In your component or service (e.g. analytics.service.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:

import { Appmetrica } from 'capacitor-appmetrica';

export function useAppmetrica() {
  return useRef(new Appmetrica());
}
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>
  );
}

Package Sidebar

Install

npm i appmetrica-capacitor5

Weekly Downloads

8

Version

1.0.4

License

MIT

Unpacked Size

138 kB

Total Files

29

Last publish

Collaborators

  • tesplugnan