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传输:

 <key>NSAppTransportSecurity</key> 
          <dict> 
      <key>NSAllowsArbitraryLoads</key> 
            <true/> 
        </dict>

二.集成

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文件里:


想要跳转到的界面加上:


在极光推送的时候选择:


五. 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

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

推荐阅读更多精彩内容

  • 我回住处拿了点随身的东西,打算打车去河对岸看泰姬陵日落。之前问了价格,Auto车大概是250Rs来回。我一出门就有...
    Martina阅读 451评论 0 1
  • 你不是一个人在战斗
    弹弹酱阅读 207评论 0 0
  • 产品经理的生涯中,肯定遇到过如下的痛点吧: 1.含辛茹苦地写完了需求文档(PRD),开发人员却将文档束之高阁(一万...
    拳头产品阅读 1,239评论 1 13
  • 遇到一种奇怪的现象,图片资源地址没有错,但是下载后的图片无法显示,最后找到原因竟然是下载的不是一张图片,而是一个h...
    夜千寻墨阅读 595评论 0 2
  • 这周终于可以稍清闲些,静下来把前面积累的线稿上个色。 小荷流水锦鲤跳 叶摇花香引蜂笑 ...
    优游球阅读 175评论 0 3