我有一个自托管的解析服务器,当我创建一个新的android用户时,数据库中的设备令牌没有设置。作为一个注释,我使用fcm进行推送
有没有人让FCM与解析服务器一起工作?
答案 0 :(得分:0)
我不认为这是可能的。从取代Parse的Pushwoosh website读取(因为Parse被Facebook收购):
GCM Android推送通知,现已被FCM取代, 要求您在Google Developer Console中创建项目并使用 您自己的发件人ID和服务器密钥。为了简化 配置过程中,Parse提供使用其内部发件人ID 和服务器密钥发送推送通知。如果您使用默认值 解析Android推送配置设置并没有注册您自己的 GCM发件人ID和GCM服务器密钥,您的所有GCM令牌都属于Parse。 这是我们在Pushwoosh从未做过的事情,我们总是问我们的用户 注册自己的GCM发件人ID和GCM服务器密钥。什么是 重要的是要理解Parse永远不会分享他的私人 服务器密钥因为它会破坏任何Android推送令牌 基于Parse的项目。
这是什么意思?
这意味着您可以使用已注册的默认发件人ID和API密钥 在Parse中仅通过Parse发送推送通知。你无法迁移 这些设备令牌到另一个推送服务,因为你没有 Parse的服务器密钥。通过这种方式,这些代币可以被认为已经消失。 唯一的解决方案 - 您应该开始收集新的推送令牌 你可以尽快。
简而言之,你必须只使用一个。
答案 1 :(得分:0)
我实际上找到了一个解决方案。
通过https://firebase.google.com/support/guides/parse-android#firebase-notifications
如此有效地修复,解析使用通过gcm请求令牌方法收集令牌的旧方法,fcm现在在应用程序首次安装时自动调用令牌。这会造成不匹配,因此解析实际上并不适用于fcm sdk。
但你实际上可以一起使用它们虽然gcm和fcm都有不同的令牌,但这些令牌实际上都指向同一个设备。我已经对此进行了测试,并且使用私有解析服务器中的两个令牌都可以正常工作。
您必须确保使用“ParsePushBroadcastReceiver”,或者使用自定义类,如链接所示。事情是你“FirebaseMessagingService”类,你自定义gcm接收器类将在消息进入时触发。所以我所做的是接收带有FirebaseMessagingService类的消息并根据需要进行过滤。