我们目前正在实施推送通知(目前仅适用于 IOS),并且我们正计划使用 Urban Airship。如果他们安装了我们的应用程序并启用了推送,我们希望向设备发送推送消息,如果没有,则发送 SMS 消息。我们的用户为通知付费,因此我们希望尽可能确保他们始终收到推送消息或 SMS 消息。发送推送消息本身工作正常,但我对如何跟踪我们实际可以向谁发送推送消息感到困惑。
据我所知,真正确定用户是否可以接收推送消息的唯一方法是,在发送推送消息之前,对城市飞艇 API 进行额外调用,以检查设备是否存在并且处于活动状态。我宁愿不为每条推送消息进行 2 次 api 调用,因此另一种方法是在本地跟踪城市飞艇中的所有注册设备,并每小时左右更新一次该列表。然而,这意味着“活动设备列表”并不总是完全准确,我们必须自己跟踪所有注册设备,这感觉就像重新实现城市飞艇的一部分。
还有其他(更好的)方法可以做到这一点吗?据我所知,当我向城市飞艇发送推送消息时,无论设备是否处于活动状态,或者它是否存在,api 总是返回它已成功发送。
我无法想象我是唯一一个有这个问题的人。有没有人有更好的方法来解决它,还是我坚持我自己想出的两个选项?