关于iOS推送通知和登录的几个问题

关于iOS推送通知和登录的几个问题,ios,ios5,push-notification,apple-push-notifications,uiapplicationdelegate,Ios,Ios5,Push Notification,Apple Push Notifications,Uiapplicationdelegate,这是我的设想。作为我的应用程序的一部分,当某人收到信息时,它会向手机发送警报。如果他们点击警报,我想打开他们收到警报的特定消息。我有一个视图消息控制器,它将显示特定的消息。以下是我的问题: 当应用程序打开时,处理通知的最佳方式是什么?我在appDelegate中获得警报,如果他们选择查看,我是否应该显示从那里触发的警报框并打开正确的控制器?这似乎是不属于appDelegate的代码,但我不知道如果不是这样的话会发生什么 对于登录,这是一个非常类似的问题。当他们登录时,它会将他们登录到服务器,并且

这是我的设想。作为我的应用程序的一部分,当某人收到信息时,它会向手机发送警报。如果他们点击警报,我想打开他们收到警报的特定消息。我有一个视图消息控制器,它将显示特定的消息。以下是我的问题:

  • 当应用程序打开时,处理通知的最佳方式是什么?我在appDelegate中获得警报,如果他们选择查看,我是否应该显示从那里触发的警报框并打开正确的控制器?这似乎是不属于appDelegate的代码,但我不知道如果不是这样的话会发生什么

  • 对于登录,这是一个非常类似的问题。当他们登录时,它会将他们登录到服务器,并且他们会保持登录一段时间。当应用程序加载时,我想对服务器进行检查,看看他们的登录是否超时。如果有,我想把他们推到应用程序的登录屏幕上。在应用程序代理中也会发生这种情况吗

  • 我的第三个问题是如何最好地处理获取手机id的问题。我在我的应用程序委托中设置了一个方法,当他们接受推送通知时,我可以从中获取id。我的计划是检查他们是否已登录,如果他们已登录,请检查我是否已将他们的id保存到服务器。如果没有,请将其发送至保存。这是最好的方法吗

  • 是的,你会想显示一个通知(UIAlertView非常适合),这样应用程序就不会突然改变视图,或者在收到通知时跳转。您希望用户能够控制是否查看与通知相关的内容,就像他们可以选择忽略应用程序中的通知一样

  • 是的,或者将视图切换到处理登录的任何视图控制器(您可以通过模式执行此操作)。一定要让用户知道他们为什么会看到登录视图:“需要登录才能查看[通知]”之类的内容。但这取决于应用程序的其他流程*

  • 不完全确定你指的是哪个ID?您可能希望在与服务器通信的应用程序中存储唯一令牌。此令牌在第一次登录时生成,例如,这使您能够将用户的登录与令牌匹配。一个
    UUID
    可能有效,或者你也可以自己使用


  • *在你的自动注销上有一个说明,为什么你有这个?大多数应用程序始终保持登录状态,让用户控制何时注销(Facebook、Twitter、Instagram等,除非是银行应用程序或PayPal)。或者,您可以让用户添加自定义的四位数登录代码,例如Dropbox应用程序。

    该应用程序基本上是网站的移动前端。如果我检测到他们已注销,我是否应该将他们重新登录?他们没有登录到应用程序实际上,他们是通过应用程序登录到服务器。对于#3,我指的是用于发送推送通知的ID。好的,但您还必须考虑到,用户可能会在多个设备上登录到您的应用程序,并在每个设备上设置推送通知,因此,您必须能够在多个设备上向同一用户推送相同的通知。关于登录/注销,您可以将凭据保存在密钥链中(或创建令牌或其他安全的东西),然后从中确定他们是否登录。您可以在应用程序中设置标志,并与服务器进行验证。如果我每次启动应用程序时都必须登录,我个人会很恼火,除非信息非常敏感,比如银行应用程序。