我在我的Android应用中使用了课程com.google.android.gcm.GCMBaseIntentService
及其方法onRegistered(Context context, String registrationId)
。
最近,这个方法已经开始在一开始就使用稀有字符串获取registrationId值,如|ID|1|: dSyzRPhBqSg:
,然后是正确的GCM ID。
我不知道这是什么原因。也许是因为我最近开始使用Firebase SDK。
有什么想法吗?
谢谢
编辑:onRegistered的代码
@Override
protected void onRegistered(final Context context, String registrationId) {
Log.i(TAG, "Device registered: regId = " + registrationId);
}
答案 0 :(得分:2)
这称为Canonical ID。在Firebase文档中说:
规范注册ID是最后一个的注册令牌 客户端应用程序请求注册。这是ID 服务器应该在向设备发送消息时使用。
如果您尝试使用旧的注册令牌发送消息,GCM将会 像往常一样处理请求,但它将包括规范ID 响应的registration_id字段。一定要更换 使用此规范ID存储在服务器中的注册令牌,如 最终旧的注册令牌将停止工作。
原因是客户端应用程序触发同一设备的多次注册。