前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >项目中友盟推送适配iOS10

项目中友盟推送适配iOS10

作者头像
用户1451823
发布2018-09-13 16:19:38
8960
发布2018-09-13 16:19:38
举报
文章被收录于专栏:DannyHoo的专栏DannyHoo的专栏

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1337934

iOS10出来也有一段时间了,对项目中的一些功能也适配了iOS10,但对于苹果这次改动较大的推送本人在当前项目中却没有进行适配,因为我发现在iOS10环境下我的推送还是可以用。当然适配iOS10是必然的,这里就说一下。(声明:当前项目中用的是友盟推送)

对于客户端来说,推送有三种情况:1.程序在前台运行  2.程序在后台运行   3.程序不在运行

先看下本人在iOS10之前的推送代码:

当程序在运行(前台、后台)时接收到通知:

如果是在后台运行在点击推送消息后就会直接进行页面的跳转,如果是在前台运行需要用户进行跳转的选择,示意图:

当程序不在运行时接收到通知:

此方法写在didFinishLaunchingWithOptions中。点击推送消息启动程序,进入程序后同样需要用户进行跳转的选择,示意图同上。

由于我用了跳转选择所以即使不适配iOS10也没关系,因为如果在iOS10环境下运行就不会再走didReceiveRemoteNotification这个方法了。

适配iOS10是必然的,下面是适配iOS10的代码:

疑问:iOS10之后不走didReceiveRemoteNotification方法,为什么alertView控件还能显示出来?

解答:alertView是通过走iOS10新增的方法显示出来的。

2017.10.18新增内容:

友盟推送新、旧版本推送的内容:

// 新版(适配iOS10)

userInfo2:{

    aps =     {

alert =         {

            body = "\U5185\U5bb9";

            subtitle = "\U526f\U6807\U9898";

            title = "\U4e3b\U6807\U9898";

        };

        sound = default;

    };

    d = uu84330150829462222811;

    p = 0;

}

// 旧版本

userInfo2:{

    aps =     {

alert = "\U5185\U5bb9";

        sound = default;

    };

    d = uu35928150829477708211;

    p = 0;

}

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年10月10日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档