Firebase云消息-GCM规范ID是否仍然必要



我一直在阅读GCM中的规范ID,以及它们如何帮助纠正发送重复推送通知和安全性。但是现在有了Firebase云消息(FCM),这个问题还存在吗?

我是注册部分现在已经从开发者那里拿走了,我们只是等待令牌刷新,如下所示:

public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {
@Override
public void onTokenRefresh() {
// Get updated registration ID
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
Logger.d("Refreshed FCM token: " + refreshedToken);
}
}

关于规范ID的一些信息可以在这里找到。

更新

我最近重新讨论了这个关于规范ID的话题,并得出了以下结论。

在FCM中,由于实例ID服务的工作方式,似乎不再使用规范ID(或者至少很少使用)。简单地说,该服务的工作原理是每个应用程序实例只有一个有效的令牌。

如果旧的令牌过期(无论出于何种原因),FCM将触发一个令牌刷新事件,在该事件中您将获得一个新的注册令牌,并且您还必须相应地处理它(在onTokenRefresh()中)。


简短回答,是。这仍然是必要的

onTokenRefresh()方法预计将在令牌实际刷新时触发。从那里,开发者有责任向应用服务器发送注册令牌。

但是如果您无法获得新的注册令牌(例如忘记保存、删除并且只有以前的注册令牌等),可能会导致您(开发人员)发送一个本应不再有效的注册令牌。这就是典型身份证出现的时候。

我想你可以将规范ID视为另一种安全措施,这样开发者仍然可以获得有效的注册令牌。FCM文档中提到了关于规范ID的详细信息(它是如何处理的)。

相关内容

最新更新