Firebase InstanceId:绑定到服务失败:Kotlin



应用成功运行,但在调试中收到此错误消息。FirebaseInstanceId:绑定到服务失败

应用构建 Gradle:

android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
applicationId ""
minSdkVersion 16
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true // enable mun
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}

安卓清单:

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning">
<activity android:name=".FilterPage"></activity>
<activity android:name=".filterdashboard" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

我已经添加了

<uses-permission android:name="android.permission.INTERNET"/>

在我的清单文件中,并摆脱了Firebase InstanceId:绑定到服务失败。希望它会有所帮助。

我下载了最新版本的google-service.json(可以通过Firebase设置完成(。就我而言,oauth_client中添加了一个新条目。与文件系统同步并重建我的应用程序后,警告似乎不再出现。

编辑20-02-2020:经过更多测试后,不幸的是,最终似乎没有帮助。就我而言,错误消息仅在卸载应用程序后首次启动应用程序时肯定会发生 - 在大多数其他情况下不会发生。

请尝试使用实际设备。根据我的观察,即使您已经下载了与Google服务相关的所有必需库,当您使用模拟器时,您也会遇到这种错误。我还能够看到FirebaseInstanceId的其他错误。

就我而言,在模拟器(API:R(上登录Google Play可以解决问题。我认为这是关于Play服务的。

在应用程序标记中添加服务标记

<application>
....
<activity
....
</activity>
<service
android:name=".MyFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
</application>

然后添加一个新的 kotlin 文件 - MyFirebaseMessagingService.kt

import com.google.firebase.messaging.FirebaseMessagingService;
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onNewToken(String s) {
super.onNewToken(s);
System.out.println("NEW_TOKEN :::::::::::::::::::::::::: "+s);
}
}

手动卸载应用程序并重新安装。这将起作用。

最新更新