iOS中如何利用极光实现简单的推送

本人第一次在项目中集成极光推送,只是其中的一小部分功能,写此篇的主要目的是作为自己的笔记, 同时希望能给刚接触极光的同行一点点帮助。

一  首先我们要先集成极光的SDK

集成极光的SDK我自认为极光的iOS SDK集成指南比较详细,附链接如下

JPush iOS 集成指南 - 极光文档

2、导入API开发包到应用程序项目, 客户端SDK下载地址如下JPush - 极光文档http://docs.jiguang.cn/resources/#ios-sdk

将SDK包解压,将解压后的lib子文件夹(包含JPUSHService.h、jpush-ios-x.x.x.a)添加到你的工程目录中。

3、必要的框架

CFNetwork.framework

CoreFoundation.framework

CoreTelephony.framework

SystemConfiguration.framework

CoreGraphics.framework

Foundation.framework

UIKit.framework

Security.framework

Xcode7需要的是libz.tbd;Xcode7以下版本是libz.dylib

Adsupport.framework (获取IDFA需要;如果不使用IDFA,请不要添加)

4.允许XCode7支持Http传输方法

如果用的是Xcode7时,需要在App项目的plist手动配置下key和值以支持http传输:选择1:根据域名配置在项目的info.plist中添加一个Key:NSAppTransportSecurity,类型为字典类型。然后给它添加一个NSExceptionDomains,类型为字典类型;把需要的支持的域添加給NSExceptionDomains。其中jpush.cn作为Key,类型为字典类型。每个域下面需要设置2个属性:NSIncludesSubdomains、NSExceptionAllowsInsecureHTTPLoads。 两个属性均为Boolean类型,值分别为YES、YES。如图:jpush_ios

选择方式2:全局配置NSAppTransportSecurityNSAllowsArbitraryLoads

<key>NSAppTransportSecurity</key>

<dict>

      <key>NSAllowsArbitraryLoads</key>

      <true/>

<dict/>


二:以下是在工程中实现

1.首先在桥接文件中引入"JPUSHService.h",OC就直接在AppDelegate中引入"JPUSHService.h"头文件

2.在AppDelegate中初始化 , 在application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool 的方法中完成判断版本 和 注册

3.注册

JPUSHService.setupWithOption(launchOptions, appKey: 你的APPKey, channel: nil, apsForProduction:true)

4.得到deviceToKen, 在AppDelegate的方法中

func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {

//注册DeviceToken

JPUSHService.registerDeviceToken(deviceToken)

}

5.处理接收到的通知, 包括程序在前台运行和在后台运行时的判断及处理

6.点击icon后红色角标消失, 和通知栏的消息也消失


7.如果想要给个人发送通知就要设定标签(tags)和别名(alias)iOS SDK API - 极光文档

我是在登录成功后将每一个用户的id作为推送的标签和别名,因为每个id是每一个用户的标识, 注意tag的参数是个集合, 这样设定就可以做到当你登录成功后就可以给每个用户设定一个标签退送时根据用户的id就可以将通知发送给指定的用户

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容