iOS ● JPush的封装与使用,简单的极光推送 !

一.框架准备

1. 拖拽CoreJPush到您的项目中,并添加以下依赖框架
CFNetwork.framework
CoreFoundation.framework
CoreTelephony.framework
SystemConfiguration.framework
Security.framework
libz.tbd 
2. 项目配置

(1) Search Paths 下的 User Header Search Paths 和 Library Search Paths为$(PROJECT_DIR)/CoreJPush/CoreJPush/Lib

(2) 选中Project-Target-Capabilities-Background Modes,勾选Remote Notifications。
(3) 请修改CoreJPush框架内Common文件夹下PushConfig.plist的Appkey为您的Appkey。.
(4) 如果你的工程需要支持小于7.0的iOS系统,请到Build Settings 关闭 bitCode 选项,否则将无法正常编译通过。
(5)允许XCode7支持Http传输方法

如果用的是Xcode7时,需要在App项目的plist手动加入以下key和值以支持http传输:

 NSAppTransportSecurity 
           
      NSAllowsArbitraryLoads 
             
        

二.集成

1.注册JPush(一句代码)

请删除您的AppDelgate中所有有关推送的方法,因为CoreJPush内部已经封装。

导入头文件#import "CoreJPush.h"
//注册JPush
[CoreJPush registerJPush:launchOptions];
2.突破空间限制,在您任意想得到推送数据的地方,三句代码搞定:
//1.添加一个监听者:此监听者是遵循了CoreJPushProtocol协议 [CoreJPush addJPushListener:self];
 //2.你需要在合适的地方(比如dealloc),移除监听者
 [CoreJPush removeJPushListener:self]; 
//3.您已经遵循了CoreJPushProtocol协议,直接在.m文件里面敲did ,Xcode会提示你如下方法: -(void)didReceiveRemoteNotification:(NSDictionary *)userInfo{ NSLog(@"ViewController: %@",userInfo); }

三. 定义标签与别名

注标签与别名为覆盖操作而非增量操作传nil为本次设置值忽略传为清除操作)注:标签与别名为覆盖操作,而非增量操作。传nil为本次设置值忽略,传""为清除操作。请注意返回block的res值为设置结果只有res--yes才表示标签与别名操作成功)请注意返回block的res值为设置结果,只有res = YES,才表示标签与别名操作成功。

1.登陆,设置别名:

在登陆.m文件里导入头文件#import "CoreJPush.h"
在登陆成功接口里写上:

[CoreJPush setTags:nil alias:@"登陆之后后台给你的别名" resBlock:^(BOOL res, NSSet *tags, NSString *alias) {

    if(res){
        NSLog(@"设置成功:%@,%@",@(res),tags,alias);
    }else{
        NSLog(@"设置失败");
    }
}];
2.退出登陆,清空别名
[CoreJPush setTags:nil alias:@""  resBlock:^(BOOL res, NSSet *tags, NSString *alias) {
}];

四.点击推送消息跳转进App某一个界面

在CoreJPush.m文件里:


iOS ● JPush的封装与使用,简单的极光推送 !_第1张图片

想要跳转到的界面加上:


iOS ● JPush的封装与使用,简单的极光推送 !_第2张图片

在极光推送的时候选择:


iOS ● JPush的封装与使用,简单的极光推送 !_第3张图片

五. Badge管理

框架内部已经完成封装,你无需管理。
(有时候不点击推送消息,或者不小心把推送消息删除了,App小红点一直不会消失,那么在Appdelegate.m里加上)

//清除badge
    [UIApplication sharedApplication].applicationIconBadgeNumber = 0;

六. 系统通知栏提示信息管理

框架内部已经完成封装,你无需管理。

七. Swift支持

支持swift只需做一件事情就是在框架的common文件夹中的appdelegatejpushh中引入yourappname-swifth即可)支持Swift只需做一件事情,就是在框架的Common文件夹中的AppDelegate+JPush.h中引入YourAppName-Swift.h即可。

(此封装项目非原创)
CoreJPush下载链接:https://github.com/LSK1994/CoreJPush

你可能感兴趣的:(iOS ● JPush的封装与使用,简单的极光推送 !)