我有一些依赖于服务器端的应用程序。从那里得到他们的数据。无论如何,服务器端都需要开发。服务器代码托管在我们这边完成。客户端-服务器通信,结构已经建立。在这种状态下,我们需要实现一个推送通知:如果服务器上有新数据,那么它应该以某种方式对用户可见。
现在推荐的“标准”方式是使用Google Cloud Messaging System。
我对此有一些担忧:
- 需要客户端和服务器端编码并在我们的代码中绑定它们的技术。这不是最大的:
- 正在改变相对经常的技术:弃用,并且需要改变我们的代码。这是最大的。在此之前是另一回事,在此之前是另一回事。在 4-5 年内 3 次变化太多了。
我正在考虑这样实现:
当用户连接互联网时,我将编写一个广播接收器来监听。在 Internet 连接上,它将检查服务器以查看它是否有新内容。如果确实如此,它将显示一个通知并完成工作。如果用户单击通知,它将启动应用程序并下载播放负载。 我将使用警报计划,在 1 或 15 分钟或 4 小时后再次检查服务器,无论如何。它不会在后台运行任何服务,只有接收器!
注册 - 取消注册功能应该在 app.xml 中完成。
与服务器的通信加上:
- registerMyDevice(IMEI)-或用户名+密码
- 注销我的设备(IMEI)
- isSomethingNewData()
当客户端到达服务器时,它无论如何都会发送他的IMEI来识别,因此服务器会知道谁需要发送推送。
任何人都可以采用 Google 提出的解决方案并证明在这种情况下它比我们的内部解决方案更好吗?