【问题标题】:Firebase Cloud Messaging. Token retrieval failed: SERVICE_NOT_AVAILABLEFirebase 云消息传递。令牌检索失败:SERVICE_NOT_AVAILABLE
【发布时间】:2019-12-15 06:52:39
【问题描述】:

我正在使用 Firebase 云消息传递来显示推送通知。前段时间在同一个项目上一切正常。现在,当我尝试从 firebase 检索令牌时,我收到 Token retrieval failed:SERVICE_NOT_AVAILABLE 错误。我已经看到了一些与 facebook SDK 和模拟器相关的堆栈溢出解决方案。我在多个真实设备上进行测试,这些解决方案都不起作用。

这是我的应用级别 gradle

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support:cardview-v7:27.1.1'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'com.github.JakeWharton:ViewPagerIndicator:2.4.1'
    implementation 'com.google.android.gms:play-services-maps:16.1.0'
    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'
    implementation project(':materialrangebar')
    api 'com.squareup.retrofit2:retrofit:2.5.0'
    api 'com.squareup.retrofit2:converter-gson:2.3.0'
    api 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.8.0'
    implementation 'com.facebook.fresco:fresco:1.12.0'
    implementation "com.facebook.fresco:imagepipeline-okhttp3:1.5.0"
    implementation 'com.github.stfalcon:frescoimageviewer:0.5.0'

    implementation 'com.google.firebase:firebase-core:16.0.9'
    implementation 'com.crashlytics.sdk.android:crashlytics:2.10.0'
    implementation 'com.google.firebase:firebase-messaging:18.0.0'
    implementation 'com.google.android.gms:play-services-location:16.0.0'
    implementation 'com.google.maps.android:android-maps-utils:0.5'


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

这就是我尝试获取令牌的方式

FirebaseInstanceId.getInstance().getInstanceId().addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
            @Override
            public void onComplete( Task<InstanceIdResult> task) {
                if (!task.isSuccessful()) {
                    Log.e(TAG, "getInstanceId failed", task.getException());
                    return;
                } else {
                    requestDeviceRegistration(task.getResult().getToken());
                    Log.e(TAG, task.getResult().getToken());
                }
            }
        });

【问题讨论】:

    标签: android firebase firebase-cloud-messaging


    【解决方案1】:

    我会按照add Firebase to your project. 的步骤确保您的google-services.json 正确,并且您的根级build.gradle 设置包含classpath 'com.google.gms:google-services:4.3.0'

    【讨论】:

    • 感谢您的回答。我已经按照这些步骤添加了 Firebase 到我的项目中。正如我提到的,它最近运行良好
    • 您是否将 Firebase 控制台中的 google-services.json 与代码库中的那个进行了交叉引用?
    猜你喜欢
    • 2019-08-20
    • 2018-10-01
    • 2019-02-08
    • 1970-01-01
    • 2019-07-19
    • 1970-01-01
    • 1970-01-01
    • 2016-11-21
    • 2017-07-04
    相关资源
    最近更新 更多