Android Parse SDK没有拿起deviceToken

时间:2016-09-09 14:53:40

标签: android parse-platform google-cloud-messaging

我有一个自托管的解析服务器,当我创建一个新的android用户时,数据库中的设备令牌没有设置。作为一个注释,我使用fcm进行推送

有没有人让FCM与解析服务器一起工作?

2 个答案:

答案 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类的消息并根据需要进行过滤。