AppMetrica
AppMetrica is a no-cost tool that helps you track advertisements and analyze how your mobile app is doing. It works in real-time, so you see things right away.
How to set up AppMetrica integration
To integrate AppMetrica go to Integrations > AppMetrica and set credentials.
Open AppMetrica apps list. Choose the app you want to send events to and go to Settings. Copy Application ID and Post API key and use them to set up the integration in Adapty.
AppMetrica syncs events every 4 hours, so it may take some time for events to appear in the dashboard. AppMetrica doesn't support sending events revenue, but we send it as regular property.
Events and tags
Below the credentials, there are three groups of events you can send to AppMetrics from Adapty. Simply turn on the ones you need. Check the full list of the events offered by Adapty here.
We recommend using the default event names provided by Adapty. But you can change the event names based on your needs.
SDK configuration
Use Adapty.updateProfile()
method to set appmetricaProfileId
or appmetricaDeviceId
. If not set, Adapty uses your user ID (customerUserId
). Make sure that the user id you use to send data to AppMetrica from your app is the same one you send to Adapty. These links should help to set up a user id for AppMetrica in your app.
- Set profile ID iOS;
- Get device ID iOS;
- Set profile id Android;
- Get device ID Android.
- iOS (Swift)
- Android (Kotlin)
- Flutter (Dart)
- Unity (C#)
- React Native (TS)
import YandexMobileMetrica
YMMYandexMetrica.requestAppMetricaDeviceID(withCompletionQueue: .main) { deviceId, error in
guard let deviceId = deviceId else { return }
let builder = AdaptyProfileParameters.Builder()
.with(appmetricaDeviceId: deviceId)
.with(appmetricaProfileId: "YOUR_ADAPTY_CUSTOMER_USER_ID")
Adapty.updateProfile(params: builder.build())
}
val params = AdaptyProfileParameters.Builder()
.withAppmetricaDeviceId(appmetricaDeviceId)
.withAppmetricaProfileId(appmetricaProfileId)
.build()
Adapty.updateProfile(params) { error ->
if (error != null) {
// handle the error
}
}
import 'package:appmetrica_plugin/appmetrica_plugin.dart';
final builder = AdaptyProfileParametersBuilder()
..setAppmetricaDeviceId(await AppMetrica.requestAppMetricaDeviceID())
..setAppmetricaProfileId("YOUR_ADAPTY_CUSTOMER_USER_ID")
try {
await adapty.updateProfile(builder.build());
} on AdaptyError catch (adaptyError) {
// handle error
} catch (e) {}
AppMetrica.Instance.RequestAppMetricaDeviceID((deviceId, error) => {
if (error != null) {
// handle error
return;
}
var builder = new Adapty.ProfileParameters.Builder();
builder.SetAppmetricaProfileId("YOUR_ADAPTY_CUSTOMER_USER_ID");
builder.SetAppmetricaDeviceId(deviceId);
Adapty.UpdateProfile(builder.Build(), (error) => {
// handle error
});
});
import { adapty } from 'react-native-adapty';
// ...
try {
await adapty.updateProfile({
appmetricaProfileId: appmetricaProfileId,
appmetricaDeviceId: appmetricaDeviceId,
});
} catch (error) {
// handle `AdaptyError`
}