Как использовать Google Analytics в Android kotlin - PullRequest
2 голосов
/ 17 апреля 2019

В моем приложении я хочу использовать Google Analytics , чтобы показать пользователям log !
Я пишу ниже коды, но после запуска приложения не показывает мне каких-либо событий на Google Analytics Dashboard !
У меня есть application class и я инициализирую код google analytics для этого класса и использую этот класс в fragments или activities!
После установки redPoint для отладки покажите мне null Tracker и Analytics !
Класс моего приложения:

class App : Application() {
    private var analytics: GoogleAnalytics? = null

    override fun onCreate() {
        super.onCreate()
        //Google Analytics
        analytics = GoogleAnalytics.getInstance(this)
        //Fabric initialize kits
        val fabric = Fabric.Builder(this)
            .kits(Crashlytics())
            .debuggable(true)
            .build()
        Fabric.with(fabric)
    }

    override fun attachBaseContext(base: Context) {
        super.attachBaseContext(base)
        MultiDex.install(this)
    }

    @Synchronized
    fun getDefaultTracker(): Tracker? {
        var tracker: Tracker? = null
        analytics = GoogleAnalytics.getInstance(context) // here pass your activity instance
        analytics?.let {
            tracker = it.newTracker(R.xml.global_tracker)
        }
        return tracker
    }

    fun googleTracker(category: String, action: String, label: String) {
        val tracker: Tracker? = getDefaultTracker()
        tracker?.send(
            HitBuilders.EventBuilder()
                .setCategory(category)
                .setAction(action)
                .setLabel(label)
                .build()
        )
    }
}

Коды фрагментов:

App().googleTracker(ANALYTICS_SIGNUP_CATEGORY, ANALYTICS_SIGNUP_SIGNIN_ACTION, "")

Отладка изображений:
enter image description here

enter image description here

1 Ответ

1 голос
/ 17 апреля 2019

Вы должны инициализировать Google Analytics в этой функции:

 @Synchronized
fun getDefaultTracker(): Tracker? {
    var tracker: Tracker? = null
    analytics = GoogleAnalytics.getInstance(context) // here pass your activity instance
    analytics?.let {
        tracker = it.newTracker(R.xml.global_tracker)
    }
    return tracker
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...