美文网首页
苹果远程推送,后台执行代码

苹果远程推送,后台执行代码

作者: 爆炸的白菜君 | 来源:发表于2017-12-18 15:04 被阅读117次
    image.png

    当有content-available字段的时候,就可以在后台做一些事情。

    在appdelegate里面会执行

    func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)
    

    在这个方法里可以拿到后台推给你的json数据,解析数据执行你想要的操作

    🌰:

    {
        "aps": {
            "alert": {
                "title": "aaa",
                "body": "内容体"
            },
            "badge": 6,
            "sound": "default"
        },
        "paramData": {
            "toUserNum": "toUserNum",
            "type": "CLIENT_NEWS"
        }
    }
    

    这种消息推过来,就不会执行上面的方法。。。亲测。。。

    如果你的app在后台,但是想在收到推送以后执行一点代码的话,可以试试

    静默推送

    在不打扰用户的情况下,推给app消息,让app执行某一个操作
    静默推送的要求是
    1.aps对应的value里面不能出现alert, sound, badge。但是可以自定义任何合法的参数字段例如

    {"aps":{"content-available":1,"haha":"hhh"}}
    

    在推出去以后,app会执行这个方法

    func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)
    

    打印结果


    image.png

    但是手机一直很安静🙄,不会出现任何的推送提示,就是不会出现下面的这种样子


    IMG_40F2EDB84A78-1.jpeg

    网上有些其他人写的,好像有点过时了,踩了几个坑。。。亲测~ 亲测~

    相关文章

      网友评论

          本文标题:苹果远程推送,后台执行代码

          本文链接:https://www.haomeiwen.com/subject/pnkmwxtx.html