从GCM迁移到FCM。
在GCM中,我们可以为多个发送者ID调用getToken()方法,如下所示:
String senderIds = "112233445566,889922338899";
String token = instanceID.getToken(senderIds,
GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
Q1 - 进入FCM后,是否保持相同或者我需要进行任何更改以获取多个发件人ID的令牌?
从this引用,我知道我可以为每个发件人ID调用getToken(“senderIds1”,“FCM”),但我希望在迁移到FCM时进行最少的代码更改。
Q2 以下是否适用于FCM(与GCM相同)或我必须调用 getToken(“senderIds1”,“FCM”); getToken(“senderIds2”,“FCM”)?
getToken("senderIds1, senderIds2", "FCM")
答案 0 :(得分:5)
查看此功能 - 扫描文档和查看旧帖子 - 我决定更新此答案。由于行为本身在FCM正式发布之前就已经存在,因此很多事情已经在服务中更新(有些已经弃用)(在引擎盖下)。这方面的一个例子是回到C2DM到GCM的迁移,即tokens weren't interoperable was stated的部分。
通过传递逗号分隔的senderIds来使用getToken()
,因为它没有记录或在任何官方FCM文档或声明中被建议/提及,最好避免使用它们,而是继续使用官方程序 - 为每个 发件人使用getToken("senderId", "scope")
,并根据需要维护每个令牌。
通过传递以逗号分隔的senderIds来选择仍然使用getToken()
可能会在将来产生意外行为,因此我强烈建议开发人员在重复的帖子中继续使用建议的过程。