推送通知到达时获取数据Swift 4.2

时间:2019-01-11 08:57:11

标签: ios swift notifications

因此,当应用程序未运行或在后台运行时,我想获取接收到的消息(推送)并将其保存在本地数据存储中,以便当用户打开应用程序时,他们可以改为看到消息

我尝试了这个,但是没有被调用

a23:g42

1 个答案:

答案 0 :(得分:1)

您必须使用静默通知

静默通知并不意味着在快速刷新操作之后仍可让您的应用在后台保持清醒,也不是为了进行高优先级更新。 APN将后台更新通知视为低优先级,如果总数过多,则可能会完全限制其发送。实际限制是动态的,可以根据条件而变化,但请尝试每小时发送的通知不超过几个。

静默通知有效载荷应如下所示:

{
    "aps" = {
        "content-available" : 1,
        "sound" : ""
    };
    // You can add custom key-value pair here...
}
  

当收到静默通知时,iOS会在   后台,以便您可以从服务器获取新数据或执行   背景信息处理。

     

对于无声通知,请确保没有警报,   声音或aps词典中的徽章有效载荷。

您可以点击以下链接:https://medium.com/@m.imadali10/ios-silent-push-notifications-84009d57794c

在您的plist文件中添加以下项以实现传输安全:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>example.com</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSIncludesSubdomains</key>
            <true/>
        </dict>
    </dict>
</dict>