收到带有数据的远程通知时激活iOS应用程序

时间:2018-07-05 13:34:38

标签: ios iphone swift ipad

我正在创建一个用于两因素身份验证的iOS应用程序。 我有一个用户登录的系统,我的服务器通过远程通知(推送消息)向我的iOS应用发送挑战。

当应用未激活时,我能够接收推送通知,所以很好。 我无法做的是激活我的应用程序。我不知道该怎么做。 推送消息包含结构化数据(不是简单的警报文本消息)。

有可能吗?我可以在推送消息中设置一些标志吗?还是这是违反iOS准则的事情之一?

2 个答案:

答案 0 :(得分:0)

转到“应用程序设置”->“功能”,然后为您的应用程序打开“背景模式”。检查最后一个选项,远程通知, 要了解更多信息,请查看本教程: This raywenderlich tutorial is all u need to get up and running with push notification


如果不起作用,请在您的推送通知参数中添加:'content_available'=> true 例如:

{
   "alert" :"",
    "badge" :"787",
      "Content-available" : "1" // or true,
       "sound" : ""
        }

如果将此键的值设置为1,(如果用户打开,则应用程序在后台或恢复运行),则将调用application:didReceiveRemoteNotification:fetchCompletionHandler:。

根据RemoteNotifications编程内容可用的定义是

  

为此键提供一个值为1的值,以指示新内容可用。包含此键和值意味着在后台启动或恢复您的应用时,将调用application:didReceiveRemoteNotification:fetchCompletionHandler:(报亭应用保证每24小时窗口至少可以通过此键接收一次推送。 )

答案 1 :(得分:0)

您可以参考有关Creating the Remote Notification PayLoad的Apple文档,并查找“配置后台更新通知”。请记住,如果您的应用程序被强制退出,这将无法正常工作。确保您的应用程序显示在AppSwitcher中,但处于非活动模式意味着您很久没有使用它了。