当前位置:  开发笔记 > Android > 正文

Firebase云消息传递-是否仍然需要GCM规范ID?

如何解决《Firebase云消息传递-是否仍然需要GCM规范ID?》经验,为你挑选了1个好方法。

我一直在阅读GCM中的规范ID,以及它们如何帮助纠正发送重复的推送通知并具有安全性。但是现在有了Firebase Cloud Messaging(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的一些信息。



1> AL...:

更新

我最近重新讨论了有关规范ID的主题,并得出以下结论。

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

如果较旧的令牌到期(无论出于何种原因),则FCM会触发tokenRefresh事件,您将在该事件中获得新的注册令牌,并且还必须在该事件中相应地进行处理(在中onTokenRefresh())。


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

onTokenRefresh()只要令牌实际被刷新,该方法就会触发。从那里,开发者有责任将注册令牌发送到App Server。

但是,如果您无法获得新的注册令牌(例如,忘记保存,删除它并且仅拥有先前的注册令牌等),可能会导致您(开发人员)发送一个假定不再有效的注册令牌。这就是规范ID出现的时间。

我想您可以将Canonical ID视为另一种安全措施,以便开发人员仍可以保留有效的注册令牌。有关规范ID的详细信息(它是如何处理之类的东西)都在FCM文档提到这里。

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有