iOS极光推送 --> JPush步骤

来源:互联网 发布:南斯拉夫 知乎 编辑:程序博客网 时间:2024/05/06 20:23

iOS 极光推送步骤:

(参考极光推送官网 iOS SDK集成,官网:http://docs.jpush.cn


1、在JPush Portal上创建应用

  • 在JPush的管理Portal上传证书并创建应用。
  • 创建成功后自动生成 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版本新增,此参数值需要与应用(build setting -code signing)所使用的证书环境一致,0 (默认值)表示采用的是开发者证书,1 表示采用生产证书( Ad_Hoc 或 APP Store )发布应用。
 

6、添加代码

API

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

@interfaceAPService : NSObject
 
// init Push
+ (void)setupWithOption:(NSDictionary *)launchingOption;
 
// register notification type
+ (void)registerForRemoteNotificationTypes:(NSUInteger)types
                                categories:(NSSet *)categories; // 注册APNS类型
 
// upload device token
+ (void)registerDeviceToken:(NSData *)deviceToken;
 
// handle notification recieved
+ (void)handleRemoteNotification:(NSDictionary *)remoteInfo;
 
@end

调用代码

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

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

监听通知

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方法获取,包括标题、内容、内容类型、扩展信息等。



1 0
原创粉丝点击