我正在构建Android SDK,它应该从SDK服务器接收推送通知。封闭应用程序的后端还发送推送消息,两个后端共享相同的项目ID和密钥。
因此,Google Play服务register()
会被调用两次 - 通过应用程序和SDK。
我主要担心的是,连续调用会损害推送发送机制 - 例如,通过更改registrationId
,将SDK或应用程序保留为过时的ID。
BroadcastRecievers
(对于SDK和应用程序)都在清单中注册了相同的类别 - 应用程序的包名称。 senderId
。实际上,senderId
是SDK参数之一。registrationId
从SDK调用register()
然后从应用程序调用会导致任何冲突或弃用吗?
答案 0 :(得分:0)
没有调试就很难分辨。但是,如果您为了模块化代码而将SDK中的详细代码与应用程序中的UI代码隔离开来,那么将所有具体代码保留在SDK中是个好主意。 GCM的后端代码(注册,处理推送通知,存储它们)应该由SDK而不是应用程序代码处理。如果你在两个模块中都这样做,是的,可能存在性能问题,这也会破坏SDK的目的..