我查看了那里的一些航空公司应用程序。这提出了一些问题,我找不到答案,也想问你。我的问题不会有任何代码,而是更多地针对此类应用程序的程序级别。
我想的第一件事是:例如,当我使用航空公司应用程序预订机票时,我猜我的智能手机将在某处网络服务的数据库中注册。通常公司会向您发送推送通知以获取进一步的更新。这对我来说意味着 APNS 的设备令牌保存在数据库表“设备”中,例如,他们可以稍后找到我的设备并向我发送通知。
为了使我的问题更清楚,我以这种方式考虑用户的流程:
- 首次打开航空公司应用程序
- 询问用户是否允许推送通知
- 用户确认
- APNS 正在提供设备令牌
- 航空公司的 Web 服务会将该设备令牌保存在其数据库中
- 如果需要更新,请使用数据库中的设备令牌并将更新发送到客户端
这将是通过设备令牌识别我的用户的“简单”方式。但是跟踪注册设备的“标准”方式是什么?
为了建立我的第一个问题,我想稍微扩展一下这个例子。大多数航空公司的应用程序都具有将机票保存为存折通行证的功能。我考虑到用户已经接受了应用程序的推送通知,他将注册并在 Web 服务器上列出,并带有设备令牌以供将来参考。
据我所知,passkit 将向航空公司服务器发送一个 Web 请求,他们必须解析该请求才能与 passkit 服务器通信。但在此请求中包含的是存折应用程序请求接收更新的推送令牌。
现在我想,您对同一用户有两个不同的设备令牌?我认为您不能仅使用现有的设备令牌将消息推送到数据库中的客户端吗?那么你如何解决这样的问题呢?如果您在数据库中注册了一个用户,并且航空公司提供了一张机票作为存折通行证,那么存折之后如何正确地与此数据交互?
我希望我能在我的问题中提出我的观点:)
谢谢