免费开源的iOS开发学习平台

远程消息推送:1-极光(JPush)消息推送集成

消息推送APN(Apple Push Notification)基本是每个App的标配,市面上通常由第三方平台提供SDK供我们集成消息推送功能,目前市面上比较主流的有极光推送以及友盟推送,两者在集成方法上基本一致,所以本节以极光推送为例,介绍一下集成方法。

集成极光JPush消息推送SDK,主要包括如下4个步骤:

  • 准备消息推送证书
  • 在极光推送平台注册App
  • 集成极光推送SDK
  • 测试极光推送

准备消息推送证书

在开发远程消息推送功能之前,需要预先准备APNS证书,我们最终需要的是两个p12文件,即:开发环境消息推送.p12、生产环境消息推送.p12。关于推送证书的配置方法,可以参考之前的章节。

在极光推送平台注册App

在极光平台注册App主要有两个目的:

  • 获取该App在极光平台的AppKey,该AppKey在接下来的集成过程中需要使用
  • 上传第一步中获取的两个p12文件

关于极光平台注册流程可以参见极光推送官网提供的教程《iOS SDK 集成指南-创建应用章节》(http://docs.jiguang.cn/jpush/client/iOS/ios_guide_new/)

注册成功后,我们可以得到AppKey,如下所示:

同时可以成功上传APNS证书文件,如下所示:

集成极光推送SDK

有关集成极光推送SDK的详细方法,可以参考极光推送官网提供的教程《iOS SDK 集成指南》(http://docs.jiguang.cn/jpush/client/iOS/ios_guide_new/)。

我们可以先测试在调试环境下的消息推送,在application:didFinishLaunchingWithOptions:方法中,按照如下方式注册:

    [JPUSHService setupWithOption:launchOptions appKey:@"ee2bcf8b09ea6364d83ea6f3"
                          channel:nil
                 apsForProduction:0
            advertisingIdentifier:nil];

成功集成后,在真机运行,控制台可以看到如下日志:

在日志中,我们可以获取到有用的:

  • device token:简单来说就是该App应用(对应唯一的Bundle ID)安装在该台设备(对应唯一的UUID)上所对应的一个唯一ID,device token是由苹果的服务器生成的,并返回到手机上。因为device token的存在,所以才能保证每一条远程推送消息能够精确匹配到唯一一台设备上的唯一一个App。
  • registrationID:极光推送平台使用,可以指定推送到唯一一台设备。

测试极光推送

在极光开发者服务界面,选择推送 -> 发送通知

设置推送内容、推送对象等选项,即可发送远程消息

收到消息如下所示。