Нет событий, регистрируемых Firebase - PullRequest
0 голосов
/ 30 июня 2018

Я пытаюсь интегрировать Firebase Analytics. Однако проблема заключается в том, что каждый раз, когда я пытаюсь записать событие, ни о каком событии не сообщается (даже после включения режима отладки через adb для анализа firebase). Это происходит как на эмуляторе, так и на моем персональном устройстве. Я вижу сообщение об ошибке входа в систему logcat всякий раз, когда я регистрирую событие

Исключение задачи в рабочем потоке: java.lang.NullPointerException: Попытка вызвать виртуальный метод 'java.lang.String com.google.firebase.iid.FirebaseInstanceId.getId () 'для нулевого объекта ссылка: com.google.android.gms.internal.measurement.zzfc.zzgl (Неизвестно Источник: 32)

Моя конфигурация gradle следующая

Верхний уровень build.gradle

// Файл сборки верхнего уровня, в который можно добавить параметры конфигурации, общие для всех подпроектов / модулей.

buildscript {

    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.0-beta02'
        classpath 'com.google.gms:google-services:4.0.1'
        classpath 'io.fabric.tools:gradle:1.+'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

build.gradle проекта

dependencies {
    implementation 'com.google.firebase:firebase-config:16.0.0'
    implementation 'com.google.firebase:firebase-core:16.0.0'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    debugImplementation 'com.facebook.stetho:stetho:1.5.0'
    // ViewModel and LiveData
    implementation "android.arch.lifecycle:extensions:1.1.1"
    implementation "android.arch.lifecycle:common-java8:1.1.1"
    implementation "android.arch.persistence.room:runtime:1.1.1"
    implementation "com.google.android.gms:play-services-vision:15.0.2"
    implementation 'joda-time:joda-time:2.10'
    implementation('com.crashlytics.sdk.android:crashlytics:2.9.0@aar') {
        transitive = true;
    }
    annotationProcessor "android.arch.persistence.room:compiler:1.1.1"

    implementation 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
    // Paging
    implementation "android.arch.paging:runtime:1.0.0"
    // Test helpers for LiveData
    testImplementation "android.arch.core:core-testing:1.1.1"
    // Test helpers for Room
    testImplementation "android.arch.persistence.room:testing:1.1.1"
    annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

apply plugin: 'com.google.gms.google-services'

AndroidManifest

<receiver
    android:name="com.google.android.gms.measurement.AppMeasurementReceiver"
    android:enabled="true"
    android:exported="false"/>
<receiver
    android:name="com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver"
    android:enabled="true"
    android:exported="true"
    android:permission="android.permission.INSTALL_PACKAGES">
    <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER" />
    </intent-filter>
</receiver>

<service
    android:name="com.google.android.gms.measurement.AppMeasurementService"
    android:enabled="true"
    android:exported="false" />
<service
    android:name="com.google.android.gms.measurement.AppMeasurementJobService"
    android:enabled="true"
    android:exported="false"
    android:permission="android.permission.BIND_JOB_SERVICE" />

Класс применения

@Override
public void onCreate() {
    super.onCreate();
    FirebaseApp.initializeApp(this);
    mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
    mFirebaseAnalytics.setAnalyticsCollectionEnabled(true);
    mFirebaseAnalytics.setUserId(Utils.fetchDeviceId(this));
    Bundle bundle = new Bundle();
    bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "Test");
    bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "Test");
    bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "Test");
    mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
}

1 Ответ

0 голосов
/ 30 июня 2018

Наконец-то нашел! Это была проблема слияния. Некоторые службы для InstanceID так и не были добавлены из-за сбоя. Скопировал сервис получателей вручную и начал работать!

...