我想为应用程序(iOS 和 Android)实现推送通知,并且需要对以下场景进行说明。
我了解推送通知的一般工作原理和限制。我确实阅读了文档,但这让我感到困惑并且没有回答我所有的问题。
在 iOS 和 Android 中如何处理以下场景:
- 设备关闭时
- 当设备未连接到 3G 或 Wifi 网络时
- 当设备崩溃需要重启时
- 当应用程序在前台时
- 当应用程序处于后台时
- 当用户当前正在使用应用程序时
- 当我的应用程序关闭(未打开/启动)时
- 当推送通知特定于用户并且两个用户共享同一设备和应用时。示例:如果丈夫和妻子共用同一台设备并使用带推送通知的银行应用程序。
- 如果设备由多个用户共享,您能否发送用户特定通知?
- 当用户在多个设备上安装应用时
- 能否同时向用户注册的所有设备发送通知?
- 您是否将设备类型(iOS 或 Android)与 registrationID 一起存储在用户表中,或者有没有办法通过检查 token 或 registrationID 来区分设备类型?
- 您能否取消之前发送但尚未阅读的通知并发送新通知?
- Android 推送通知在 Kindle Fire 上不起作用并且需要实现 Amazon Device Messaging 是否仍然正确
- 还有什么我需要考虑或计划的吗?我知道处理取消注册和反馈服务
最佳答案
我会回答你的一些问题,具体到 android thought。不知道 iPhone,如果它是类似的。
- 设备从谷歌云服务器接收通知 当服务器触发通知并且它没有 与应用程序状态(运行、关闭、后台或 前景)。
- 如果通知发送到未连接到的设备 互联网(关闭或未连接到网络),它得到 仅在连接到网络时通知。但是,如果设备 收到通知后死机重启,你 不会再收到通知。
它是用户特定的吗?
这取决于各个服务器的实现。
我们是否存储设备类型?
是的,我们可以。
我们可以区分iPhone和android的ID吗?
是的,android 设备 ID 的长度比 iPhone 长。
我们可以取消已经发送的通知吗?
不,据我所知,这是一种单向沟通 channel 。
关于android - 在 iOS 和 Android 上处理推送通知场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17357684/