当前位置: 首页 > 知识库问答 >
问题:

Firebase云消息。令牌检索失败:服务不可用

文华美
2023-03-14

我正在使用Firebase云消息传递来显示推送通知。前段时间在同一个项目上一切正常。现在我得到令牌检索失败:SERVICE_NOT_AVAILABLE错误,当我试图检索令牌从Firebase。我已经看到了一些与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());
                }
            }
        });

共有1个答案

缪志新
2023-03-14

我会按照以下步骤将Firebase添加到您的项目中。确保您的google-services.json是正确的,并且您的根级build.gradle设置包含类路径com.google.gms: google-service: 4.3.0

 类似资料:
  • 是否有任何API(Python、JS、...)可用于生成和检索Firebase云消息传递服务器令牌? 最终目标应与单击“项目设置”中的“添加服务器密钥”按钮相同。

  • 我将Django JWT与DRF一起使用,将Vue Js与Axios一起使用。当用户登录时,我检索并将令牌存储在本地存储器中,我已验证该令牌可以正常工作。然后我重定向到一个新页面,在那里我提出另一个请求以获取数据。每次我重定向到这个页面,我得到一个401未授权,当我刷新页面,它工作良好。在发出第二个请求之前,我检查了是否存储了令牌。我尝试在创建的钩子中获取重定向页面上的数据。我还创建了一个axio

  • 我正在尝试,为了实施新的GCM,我遵循Google get声明:http://developer.android.com/guide/google/gcm/gs.html 我被困在获取我的设备注册ID! 我的应用程序一直试图与谷歌服务器连接,这里我的错误日志: 这是我的活动代码,询问身份证: 这是我的服务代码 这是我的Android清单: 我遵循谷歌的指示,但我坚持这个服务不可用的错误, 我做错了

  • 我正在编写一个应用程序,它应该将推送通知从服务器发送到android和iOS设备。为此,我尝试使用FCM。iOS应用程序使用了APNS,因此我可以在服务器端获取APNS订阅令牌。然后我尝试批量导入这些令牌,我得到一些长度为174个符号的注册令牌,而不是Firebase中通常使用的152个。当我使用IID方法得到https://iid.googleapis.com/iid/info/{token},

  • 我的应用程序在服务器上发生某种事件后接收推送通知。 除了在一小段时间内有许多事件一个接一个地发生的情况外,一切都很正常。 设备上的Firebase令牌也是正常的,因为应用程序从Firebase控制台接收通知。

  • Firebase云消息传递密钥在以下两个位置是否相同?1) 火基控制台- 我的项目在两个地方都有不同的键。迁移到FCM后,我无法向服务器发送任何消息