IOS 推送功能

2019-10-15  本文已影响0人  一杯开水

目录: 

1. IOS系统为什么会有推送?

2. 推送的种类;

3. 推送的实现;

4. 第三方推送服务。


1. IOS系统为什么会有推送?

        1.1 苹果系统不允许APP长时间停留在后台模式;

        1.2 提供服务器主动与用户相互的能力;


2. 推送的种类

          2.1 本地推送: 不依赖与网络,例如:闹铃、备忘录提示;          

          2.2 远程推送:基于APNS的远程推送, 例如:新闻、购物APP的推送等;


3. 推送的实现

        3.1 APNS:苹果推送通知服务 Apple Push Notification services;

                    APNs 的作⽤:    

                              - 防⽌每个App 都要维持连接;

                              - 保证连接带来安全性和性能的挑战,由苹果公司统一来管理推送的服务器。

        3.2 远程推送的原理:

            - APP安装到手机、第一次启动时会将UUID和BundleID提供registerForRemoteNotifications函数发给APNs,然后再UIApplicationDelegate回调注册结果获取DeviceToken;    

              - APP再将DeviceToken发给推送服务器(一般为第三方推送服务器);

              - 当需要推送信息时,服务器器将信息和设备 deviceToken 发送给APNs;

             - APNs 根据 deviceToken 进⾏推送 ;

IOS推送原理

        3.3 UserNotifications.framework的简介

            -  iOS10 之后统一 UserNotifications.framework用来管理推送功能:

                 注意事项: 1)使用UNUserNotificationCenter单例管理全部推送 ;2)需要兼容低版本机型 。

          - 统一的权限申请

                在每次 App 启动时调用 requestAuthorizationWithOptions申请或者检查权限;

                系统在首次会出现弹窗,之后保存用户选择;

                远程/ 本地推送UNAuthorizationOptions相同。

UNAuthorizationOptions

        3.4 证书的配置 / Capabilities配置

        3.5 本地推送

本地推送流程图

        3.6 远程推送            

远程推送流程图

4. 第三方推送平台:

    - 个推;

    - 极光推送;

    -友盟推送;

上一篇下一篇

猜你喜欢

热点阅读