美文网首页项目需要站在巨人肩上学习iOS开发资料收集
iOS ● JPush的封装与使用,简单的极光推送 !

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

作者: MyiOS | 来源:发表于2016-10-19 15:24 被阅读272次

    一.框架准备

    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

    相关文章

      网友评论

      • 喜欢吃生蚝:这个支持极光最新的SDK吗
      • 极小光:你好朋友,感谢您对极光的支持,我们现在有一个活动,只要写极光有关的文章,就可以获得奖品,您可以把这篇文章稍微修改一下,然后投到极光社区。我们的工作人员会联系您的,再次感谢。https://community.jiguang.cn/t/filco/11374

      本文标题:iOS ● JPush的封装与使用,简单的极光推送 !

      本文链接:https://www.haomeiwen.com/subject/jvexuttx.html