FCM | 多个发件人ID

Hey*_*You 3 android push-notification firebase google-cloud-messaging firebase-cloud-messaging

从GCM迁移到FCM.

在GCM中,我们可以为多个发送者ID调用getToken()方法,如下所示:

String senderIds = "112233445566,889922338899";
String token = instanceID.getToken(senderIds,
                        GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
Run Code Online (Sandbox Code Playgroud)

Q1 - 进入FCM后,是否保持相同或者我需要进行任何更改才能获得多个发送者ID的令牌?

这个引用中,我知道我可以为每个发送者ID调用getToken("senderIds1","FCM"),但我希望在进入FCM时进行最少的代码更改.

Q2不适用于FCM(与GCM相同)或我必须调用 getToken("senderIds1","FCM"); getToken("senderIds2","FCM")?

getToken("senderIds1, senderIds2", "FCM") 
Run Code Online (Sandbox Code Playgroud)

AL.*_*AL. 5

进一步了解这个功能 - 扫描文档和查看旧帖子 - 我决定更新这个答案.由于行为本身在FCM正式发布之前就已经存在,因此很多事情已经在服务中更新(有些已经弃用)(在引擎盖下).这方面的一个例子是回到C2DM到GCM的迁移,这是令牌不可互操作的部分.

对于使用getToken()通过传递逗号分隔senderIds,看到它不记录或建议/任何官方文件FCM或声明中提到,最好避免使用它们,而是与官方的程序进行-通过使用getToken("senderId", "scope") 针对每个发件人和根据需要维护每个令牌.

getToken()通过传递逗号分隔的senderIds 选择仍然使用可能会在将来产生意外的行为,因此我强烈建议开发人员在重复的帖子中继续执行建议的过程.