在使用Parse实施推送时,我没有使用与Google Cloud Messaging相关的任何内容。我没有打开谷歌开发控制台并切换GCM消息,我也没有获得任何发件人ID,我没有注册设备来获取注册ID,但是Parse可以发送推送。我想知道Parse使用自己的套接字?在Parse Android源代码中,我无法捕捉到与此相关的任何内容。现在,所有Parse迁移服务都需要GCM注册ID,包括Parse自己的开源推送后端解决方案。有人可以提供有关此的详细信息吗?
答案 0 :(得分:14)
解析DO使用GCM。他们只是使用自己的帐户。
你不必相信我,Android SDK已经在不久前开源了: https://github.com/ParsePlatform/Parse-SDK-Android
这些是用于集成到GCM的类: https://github.com/ParsePlatform/Parse-SDK-Android/blob/bdd5f50d51d30030b9df12c0e09d08d8859e64be/Parse/src/main/java/com/parse/GCMService.java https://github.com/ParsePlatform/Parse-SDK-Android/blob/e2329512e5531f0efd56671c02f476285f87386b/Parse/src/main/java/com/parse/GcmRegistrar.java https://github.com/ParsePlatform/Parse-SDK-Android/blob/bdd5f50d51d30030b9df12c0e09d08d8859e64be/Parse/src/main/java/com/parse/GcmBroadcastReceiver.java
然而,他们有一种支持不带GCM的推送通知的方法,它主要针对非Google设备或在非Google Play市场上发布应用。它被称为PPNS
提供程序之间的切换是在这个类中完成的: https://github.com/ParsePlatform/Parse-SDK-Android/blob/bdd5f50d51d30030b9df12c0e09d08d8859e64be/Parse/src/main/java/com/parse/PushService.java
PPNS类应该由名为com.parse.PPNSService的类处理,该类不在github代码中。它是通过反射实例化的,我猜他们稍后会在jar中添加它并且它们没有公开。它肯定必须打开并处理它自己的套接字。