(转载)iOS 极光推送SDK 集成指南

iOS SDK 集成指南

使用提示

本文匹配的 SDK版本:r1.2.5 以后。

查看最近更新了解最新的SDK更新情况。

产品功能说明

极光推送(JPush)是一个端到端的推送服务,使得服务器端消息能够及时地推送到终端用户手机上,让开发者积极地保持与用户的连接,从而提高用户活跃度、提高应用的留存率。极光推送客户端支持 Android, iOS 两个平台。

本 iOS SDK 方便开发者基于 JPush 来快捷地为 iOS App 增加推送功能,减少集成 APNs 需要的工作量、开发复杂度。

主要功能
  • 为 JPush Server 上报 Device Token,免除开发者管理 Device Token 的麻烦
  • 应用运行时,应用内 JPush 长连接可以持续地收到推送消息
主要特点
  • 集成简单
  • iOS SDK 集成后,服务器端向 iOS 设备推送简单方便
集成压缩包内容

包名为JPush-iOS-SDK-[版本号]

  • lib文件夹:包含头文件 APService.h,静态库文件 libPushSDK.a ,支持的iOS版本为 5.0 及以上版本。(请注意:模拟器不能实现APNS)
  • pdf文件:开发指南
  • demo文件夹:示例

开发环境

  • 使用Xcode 6版本运行IOS8版本SDK,XCode 5运行非IOS 8版本SDK

SDK集成步骤

1、在JPush Portal上创建应用

  • 在JPush的管理Portal上 上传证书并创建应用。如果对APNs证书不太了解 请参考 iOS 证书设置指南

 * 创建成功后自动生成 AppKey 用以标识该应用。

2、导入API开发包到应用程序项目

  • 将SDK包解压,在XCode中选择“Add files to ‘Your project name‘...”,将解压后的lib子文件夹(包含APService.h、libPushSDK.a)添加到你的工程目录中。

3、必要的框架

  • CFNetwork.framework
  • CoreFoundation.framework
  • CoreTelephony.framework
  • SystemConfiguration.framework
  • CoreGraphics.framework
  • Foundation.framework
  • UIKit.framework
  • Security.framework
  • libz.dylib

4、Build Settings

  • 设置 Search Paths 下的 User Header Search Paths 和 Library Search Paths,比如SDK文件夹(默认为lib)与工程文件在同一级目录下,则都设置为"$(SRCROOT)/[文件夹名称]"即可。

5、创建并配置PushConfig.plist文件

在你的工程中创建一个新的Property List文件,并将其命名为PushConfig.plist,填入Portal为你的应用提供的APP_KEY等参数。

{
 "APS_FOR_PRODUCTION" = "0";
 "CHANNEL" = "Publish channel";
 "APP_KEY" = "AppKey copied from JPush Portal application";
}
  • CHANNEL
  • 指明应用程序包的下载渠道,为方便分渠道统计。根据你的需求自行定义即可。
  • APP_KEY
  • 在管理Portal上创建应用时自动生成的(AppKey)用以标识该应用。请确保应用内配置的 AppKey 与第1步在 Portal 上创建应用时生成的 AppKey 一致,AppKey 可以在应用详情中查询。

  • APS_FOR_PRODUCTION
  • 1.3.1版本新增,表示应用是否采用生产证书发布( Ad_Hoc 或 APP Store ),0 (默认值)表示采用的是开发者证书,1 表示采用生产证书发布应用。
  • 此处设置的值建议按对应证书来设置值。
  • 在1.2.2或之前版本的配置文件中,有 TEST_MODE 这个键,新版的SDK不再使用,可以将它删除。

6、添加代码

API

APIs 主要集中在 APService 接口类里。

@interface APService : NSObject

// init Push
+ (void)setupWithOption:(NSDictionary *)launchingOption;

// register notification type
+ (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types;

// upload device token
+ (void)registerDeviceToken:(NSData *)deviceToken;

// handle notification recieved
+ (void)handleRemoteNotification:(NSDictionary *)remoteInfo;
调用代码

监听系统事件,相应地调用 JPush SDK 提供的 API 来实现功能。

以下 3 个事件监听与调用 JPush SDK API 都是必须的。请直接复制如下代码块里,注释为 "Required" 的行,到你的应用程序代理类里相应的监听方法里。


    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];

    // Required
   if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {
    //可以添加自定义categories
    [APService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |
                                                   UIUserNotificationTypeSound |
                                                   UIUserNotificationTypeAlert)
                                       categories:nil];
  } else {
    //categories 必须为nil
    [APService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
                                                   UIRemoteNotificationTypeSound |
                                                   UIRemoteNotificationTypeAlert)
                                       categories:nil];
  }

    // Required
    [APService setupWithOption:launchOptions];

    return YES;
}

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {

    // Required
    [APService registerDeviceToken:deviceToken];
}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {

    // Required
    [APService handleRemoteNotification:userInfo];
}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {

  // IOS 7 Support Required
  [APService handleRemoteNotification:userInfo];
  completionHandler(UIBackgroundFetchResultNewData);
}
监听通知

API里面提供了下面 5 种类型的通知:

extern NSString * const kJPFNetworkDidSetupNotification; // 建立连接

extern NSString * const kJPFNetworkDidCloseNotification; // 关闭连接

extern NSString * const kJPFNetworkDidRegisterNotification; // 注册成功

extern NSString * const kJPFNetworkDidLoginNotification; // 登录成功

extern NSString * const kJPFNetworkDidReceiveMessageNotification; // 收到消息(非APNS)

其中,kJPFNetworkDidReceiveMessageNotification通知是有传递数据的,可以通过NSNotification中的userInfo方法获取,包括标题、内容、内容类型、扩展信息等

时间: 2024-10-05 00:22:20

(转载)iOS 极光推送SDK 集成指南的相关文章

Android消息推送 SDK 集成指南

使用提示 本文是 Android SDK 标准的集成指南文档. 匹配的 SDK 版本为:r1.8.0及以后版本. 本文随SDK压缩包分发.在你看到本文时,可能当前的版本与本文已经不是很适配.所以建议关注在线文档: 3 分钟快速 Demo(Android):如果您想要快速地测试.感受下极光推送的效果,请参考本文在几分钟内跑通Demo. 极光推送文档网站上,有极光推送相关的所有指南.API.教程等全部的文档.包括本文档的更新版本,都会及时地发布到该网站上. 极光推送问答网站:大家除了文档之外,还有问

android 极光推送sdk集成

一.注册 二.在官网登录,右上角,点击控制台 进去后点创建应用 填好应用名称和应用包名 点击下面的图片 左上角有一个选择应用,进入你刚才创建的应用,你会得到一个AppKey,后面会用到 三.创建应用后,我们来创建一个应用.注意应用名称和包名要和刚才的相同. 然后去官网->文档->资源下载->JPush->下载Android-SDK,如果需要x86 SDK和MIPS SDK框架的,可以全部下载. 四.将下载的文件解压,libs文件夹下面的文件全部复制粘贴到你项目的libs中,将jpu

项目实战:iOS极光推送集成(30分钟搞定)

推送有非常多,如个推.友盟.融云和极光等等.在这里就讲下怎样使用极光推送. 主要内容是将官方文档资料详细汇总并一步一步集成到项目中,您也能够直接去官方文档阅览. 极光推送SDK下载 直接打开官方文档下载最新的SDK 极光网创建APP并上传证书 一.制作推送证书和描写叙述文件:须要注意要制作两个证书,一个是測试证书,一个是公布证书,详细看官方文档截图:点击查看证书制作 直接看<iOS 证书 设置指南>其它的不用看了,废话太多 二.在极光推送官网注冊你的APP吧. bundle id要和你项目一直

iOS开发——iOS10升级极光推送SDK、友盟分享SDK

前不久升级了Xcode8 ,同时iOS10系统也推送久. 由于公司需要适配iOS 10系统,同时第三方sdk建议升级. 包含替换升级新的SDK和相应的代码修改. 主要分享如何升级极光推送SDK,友盟分享SDK和升级过程中的遇到的报错 一. 升级极光推送SDK,有一篇不错的博客,代码变更也写的挺详细就不在多写, 遇到的编译报错见第三部分 http://blog.csdn.net/cloud_pro/article/details/52574637 二. 升级友盟分享SDK到目前最新版5.2.1(升

ios极光推送通知

iOS极光推送文档 一.创建工程 Product Name:baixin Company Identifier:com.bluewave Bundle Identifier:com.bluewave.baixin 二.申请证书 1.创建应用程序ID a.登陆 iOS Dev Center 选择进入iOS Provisioning Portal. b.在 iOS Provisioning Portal中,点击App IDs进入App ID列表. c. 创建 App ID,如果 ID 已经存在可以直

极光推送SDK通过泰尔终端实验室检测,符合统一推送接口标准

1月7日,中国深圳--国内领先的开发者服务提供商极光(Aurora Mobile, NASDAQ:JG)宣布其旗下产品极光推送SDK通过中国信息通信研究院泰尔终端实验室的检测,其性能和接口标准符合统一推送联盟(UPA)T-UPA0003-2019<统一推送技术要求和测试方法 V1.0.0>的各项要求. 经评测,极光开发者服务旗下的极光推送SDK产品符合统一推送标准的各项性能要求,其待机占用系统资源较少,并能有效节省电量与流量,能够给终端用户稳定流畅的使用体验.同时,在相关网络条件下,极光推送S

安卓集成极光推送SDK基础服务

1.到极光推送官网注册用户. 2.创建一个应用根据包名申请app key,注意一个包名对应一个appkey,如果不对应则不能实现功能. 3.下载官网上的SDK,内附指南. 4.首先是各种粘贴复制,注意别漏掉 5.然后是配置Manifest.xml文件 1)一开始第一条permission被我忘了 2)除了标注着required的部分还要把MyReceiver的部分也复制过来 3)注意该修改包名的地方和最后的appkey,不过官网提供的example里已经是改好的了可以直接用 <permissio

iOS: 极光推送

之前做过环信和友盟的推送,照着官方文档集成其实挺简单的,今天公司需要,特地做了一下极光推送.不用不知道,原来极光推送集成如此简单,不得不说说了. 当然做推送钱需要做一些准备工作了,就是推送必须的p12推送证书:开发环境(开发时测试需要的推送证书).生产环境(发布到AppStore时需要的推送证书),因为xcode已经升级到了7.0以上,所以一些真机测试的配置文件证书就不需要自己手动去创建了,只要有Apple ID,真机测试时,就能自动生成,免费测试: 制作证书的过程就不啰嗦了,详细看官方文档或者

iOS极光推送

1.配置开发证书(得有开发者账号,个人,企业的都可以) 开发环境测试 在对 JPush iOS 开发环境进行测试前,请确保 3 个统一: App 是开发环境打包(开发证书 Development) 上传了开发证书并验证通过 Portal 上的应用设置为开发环境 发布环境测试 在对 JPush iOS 生产环境进行测试前,请确保 3 个统一: App 是 ad-hoc 打包或者App Store 版本(发布证书 Production) 上传了发布证书并验证通过 Portal 上的应用设置为生产环境