Firebase 令牌未生成



>im 不会生成获取令牌。

onTokenrefresh(( 没有调用。 谁能帮忙。

它连接到Firebase,令牌仍然没有生成。

public class MyFireBaseInstanceId extends FirebaseInstanceIdService {
private static final String TAG = "MyFirebaseIIDService";
@Override
public void onTokenRefresh() {
//Getting registration token
String refreshedToken = FirebaseInstanceId.getInstance().getToken();

//Displaying token on logcat
Log.d(TAG, "Refreshed token: " + refreshedToken);
sendRegistrationToServer(refreshedToken);
}
private void sendRegistrationToServer(String token) {
//You can implement this method to store the token on your server
//Not required for current project
SharedPrefManager.getInstance(getApplicationContext()).saveDeviceToken(token);
}
}

我明白了。 我刚刚验证了令牌是否为空.如果 token 为 null,那么我们将调用 ontokenrefresh(( 方法。

代码为:

tokengenerate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (token!=null) {
Toast.makeText(MainActivity.this,token,Toast.LENGTH_LONG).show();
RegisterToken registerToken = new RegisterToken();
registerToken.execute();
}
else
myFireBaseInstanceId.onTokenRefresh();
}
});
}

你确定FirebaseInstanceIdService在你的AndroidManifest中正确定义.xml像这样

<service android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<service android:name=".FirebaseIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>

从任何活动中尝试:

FirebaseMessaging.getInstance().subscribeToTopic("news");
String notificationToken = FirebaseInstanceId.getInstance().getToken();

如果仍然没有获得令牌,则项目中的google-services.json文件将出现错误

1(请检查您在项目中添加了正确的google-services.json文件。 2(检查您在清单文件中添加了 FCM 服务。

onTokenRefresh只会在特定条件下调用:

  • 应用删除实例 ID
  • 应用已在新设备上恢复
  • 用户卸载/重新安装应用
  • 用户清除应用数据

因此,当您首次启动应用程序时,它可能会调用此方法,但在第二次启动时不会调用此方法。

由于您使用共享首选项,因此可以使用它来检索活动内的令牌。

FCM 在获取 FCM 实例时生成令牌,并首先在应用程序中刷新令牌。 当您再次需要时,您必须在设备中重新安装应用程序。

String refreshedToken = FirebaseInstanceId.getInstance().getToken();

请确保将实例 ID 的属性添加到活动选项卡下的 Android 清单文件中。 在 android 清单中错误添加属性可能会导致此错误。

相关内容

  • 没有找到相关文章

最新更新