ios - 在网络服务中注册一个 iphone 应用程序

标签 ios web-services passkit

我查看了附近的一些航空公司应用程序。这提出了一些问题,我找不到答案,也想问你。我的问题不会有任何代码,但更多地针对此类应用程序的过程级别。

我想知道的第一件事:例如,当我使用航空公司应用程序订票时,我猜我的智能手机将在某处网络服务的数据库中注册。通常公司会向您发送推送通知以获取进一步更新。这对我来说意味着 APNS 的设备 token 保存在数据库表“设备”中,例如,这样他们可以稍后找到我的设备并向我发送通知。

为了让我的问题更清楚,我是这样考虑用户流的:

  1. 首次打开航空公司应用
  2. 询问用户是否允许推送通知
  3. 用户确认
  4. APNS 正在提供设备 token
  5. 航空公司的网络服务会将设备 token 保存在他们的数据库中
  6. 如果需要更新,请使用数据库中的设备 token 并发送 给客户的更新

这将是通过设备 token 识别我的用户的“简单”方法。但是跟踪已注册设备的“标准”方式是什么?

在第一个问题的基础上,我想稍微扩展一下这个例子。大多数航空公司应用程序都具有应用程序内的功能,可以将机票保存为存折通行证。我们考虑到用户已经接受了应用程序的推送通知,他将使用设备 token 注册并在 Web 服务器上列出以供将来引用。

据我所知,passkit 会向航空公司服务器发送一个 Web 请求,他们必须解析该请求才能与 passkit 服务器通信。但在此请求中包含存折应用程序请求接收更新的推送 token 。

现在我会想,同一个用户有两个不同的设备 token ?我不认为你可以使用现有的设备 token 将消息推送到数据库中的客户端? 那么你如何解决这样的问题呢?如果您在数据库中注册了一个用户,并且航空公司提供机票作为存折通行证,存折之后如何与此数据正确交互?

我希望我能在我的问题中表达我的观点:)

谢谢

最佳答案

跟踪注册设备的“标准”方式是什么?

每当用户启动您的应用程序时,您都会收到回调

 - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{

// associate device token with your username and send this to your server 
}

请注意,设备 token 不断变化。来自 Apple docs 您无法保存设备 token 并将其用于将来引用。每次运行都需要更新它。您的服务器需要同步其 token 数据库。

编辑.. 用户流量

To make my answer clearer I think about the flow of the user that way:

Open airline app 
User is being asked if he will allow push notifications
User confirms
You provide device token and username to your server.
If your server now needs to send push notification it uses the most recent token and
send it to APN.  

关于ios - 在网络服务中注册一个 iphone 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23300691/

相关文章:

ios - 无法为事件保存 PFUser

web-services - 用查询组成一个小组的 Restful 方法是什么

wcf - WCF 服务与 Web 服务和 REST 服务的区别

apple-push-notifications - 如何使用新的 APNS HTTP2 流程让 Apple Pass 更新生效?

objective-c - 编译时ARC错误

iphone - 在 IOS 中验证 XML 文件

java - RESTful Web 服务加载 MYSQL 文件中的数据

ios - 检查卡是否已添加到 PassKit 库

ios - 防止存折集中在一起

ios - 多个用户登录时访问的核心数据值(iOS Swift)