zoukankan      html  css  js  c++  java
  • 极光推送-适配 iOS10

    //************************ iOS10 适配 **************************//

    //************************ 11/02/2016 **************************//

    添加下 iOS10 的适配 主要代码,其他参照官方文档

    注意 AppDelegate中import  <UserNotifications/UserNotifications.h>:

    #ifdef NSFoundationVersionNumber_iOS_9_x_Max

    #import <UserNotifications/UserNotifications.h>

    #endif

    // 极光配置
    - (void)configJPush:(NSDictionary *)launchOptions {
        
        if ([[UIDevice currentDevice].systemVersion floatValue] >= 10.0) {
    #ifdef NSFoundationVersionNumber_iOS_9_x_Max
            JPUSHRegisterEntity * entity = [[JPUSHRegisterEntity alloc] init];
            entity.types = UNAuthorizationOptionAlert|UNAuthorizationOptionBadge|UNAuthorizationOptionSound;
            [JPUSHService registerForRemoteNotificationConfig:entity delegate:self];
    #endif
        }
        else if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {
    
                //可以添加自定义categories
                [JPUSHService registerForRemoteNotificationTypes:
                                                                 (UIUserNotificationTypeBadge |
                                                                  UIUserNotificationTypeSound |
                                                                  UIUserNotificationTypeAlert)
                                                      categories:nil];
            }
            else {
                //categories 必须为nil
                [JPUSHService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
                                                                  UIRemoteNotificationTypeSound |
                                                                  UIRemoteNotificationTypeAlert)
                                                      categories:nil];
            }
        //Required
        // 如需继续使用pushConfig.plist文件声明appKey等配置内容,请依旧使用[JPUSHService setupWithOption:launchOptions]方式初始化。
        [JPUSHService setupWithOption:launchOptions appKey:JPUSH_APPKEY
                              channel:JPUSH_CHANNEL
                     apsForProduction:JPUSH_ISPRODUCTION
                advertisingIdentifier:nil];
        
        //2.1.9版本新增获取registration id block接口。
        [JPUSHService registrationIDCompletionHandler:^(int resCode, NSString *registrationID) {
            if(resCode == 0){
                NSLog(@"registrationID获取成功:%@",registrationID);
                
            }
            else{
                NSLog(@"registrationID获取失败,code:%d",resCode);
            }
        }];
    }

    //************************ iOS10 适配 end ****************************************//

    极光推送

    1.首先当然是账号的申请

    2.之后 环境配置:

      这里放链接: 极光官方文档讲的很清晰,给赞(文档可以操作到开启remote notifications处,之后再参考iOS SDK 集成指南集成JPush SDK)。

      PS:提一句,遇到问题还是查看官方文档最有效。

    3.集成JPush:仍是参照文档

      集成之后,在下图两个方法中,进行收到通知的操作(这里按照自己项目的需求来了)

    4.到这里算是OK,注意下图代码中 isProduction,是否是生产环境,如果是开发环境则设为NO,生产环境要设为YES。

    友情提醒:仔细阅读官方文档哦。

    注意:分享转载请注明原博链接,多谢。

  • 相关阅读:
    (原创)神舟笔记本bios设置——神船战神ZX7-CP7S2 <一>
    Kali笔记<三> 安装中文输入法
    (原创)Kali笔记<二>root权限的使用和启用
    (原创)Kali笔记<一>虚拟机安装Kali
    加快vmware虚拟机运行速度的方法(大牛勿笑)
    PR/AE/PS 素材模板网站
    批量查杀该死的VBscript “svchost.exe” 脚本挂马
    echarts统计图Y轴(或X轴)文字过长问题解决
    正则实例
    Angular.js的自定义功能
  • 原文地址:https://www.cnblogs.com/zhangzhang-y/p/5190305.html
Copyright © 2011-2022 走看看