Событие закрытия приложения не отслеживается, когда приложение закрывается с помощью отслеживания событий Amplitude - PullRequest
0 голосов
/ 25 июня 2019

Я хочу отслеживать события открытия приложений и закрытия приложений, ниже код, который я использовал. Я получаю событие открытия приложения, но не могу получить событие закрытия приложения. Кто-нибудь знает, как отслеживать событие закрытия приложения

class AppLifecycleTracker : Application.ActivityLifecycleCallbacks  {
override fun onActivityCreated(activity: Activity?, savedInstanceState: Bundle?) {
    if (numActivitiesStarted == 0) {
        // app launched
        Amplitude.getInstance().logEvent("APP_OPEN")
    }
    numActivitiesStarted++
}

override fun onActivitySaveInstanceState(activity: Activity?, outState: Bundle?) {
}

override fun onActivityDestroyed(activity: Activity?) {
    numActivitiesStarted--
    if (numActivitiesStarted == 0) {
        // app killed
        Amplitude.getInstance().logEvent("APP_CLOSE")
    }
}

override fun onActivityResumed(activity: Activity?) {
}

override fun onActivityPaused(activity: Activity?) {
}

private var numActivitiesStarted = 0

override fun onActivityStarted(activity: Activity?) {

}

override fun onActivityStopped(activity: Activity?) {

}

}

1 Ответ

0 голосов
/ 16 июля 2019

Похоже, вы не отправляете никакие свойства события с событием APP_CLOSE.

Если вы не собираетесь, вы можете просто включить событие сеанса, чтобы получить автоматический [Амплитуда] Начать сеанс / [Амплитуда] Завершить сеанс события в ваших данных без необходимости сохранять ваш собственный код для этого. Однако обратите внимание, что эти системные события не могут содержать свойства события.

Для этого вам просто нужно позвонить

Amplitude.getInstance().trackSessionEvents(true);
...