iOS集成极光推送

iOS集成极光推送

一、配置APNs

苹果APNs(英文全称:Apple Push Notification Service)

1.配置开发证书

![Uploading apns_13_803165.png …]

2.配置生产证书

和配置开发证书的流程相同。

3.将配置好的证书导出为 .p12 文件

一、注册极光推送帐号

可登录 极光推送官网 注册帐号。

注册成功后进入控制台

二、集成极光推送SDK

sdk地址

我使用的是JPush-iOS-SDK-2.1.0。下载的文件里有个pdf文件iOS+SDK+Integration+Guide.pdf,介绍了集成极光推送的详细代码。

在工程文件中,做如下设置:

![Uploading apns_18_876090.png …]

下面是我写的代码:

AppDelegate.m文件


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //设置appKey
    [JPushConfig registerJPush:launchOptions];
    return YES;
}

#pragma mark 修改通知处理函数
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(nonnull void (^)(UIBackgroundFetchResult))completionHandler {
    //推送消息携带 content-available: 1 是Background 运行的必须参数,如果不携带此字段则与iOS7 之前版本的普通推送一样。
    //清空角标
    [JPUSHService resetBadge];
    if (!userInfo) {
        completionHandler(UIBackgroundFetchResultNoData);
        return ;
    }
    completionHandler(UIBackgroundFetchResultNewData);
    //根据服务器设置的 userInfo 的格式,进行解析
}

// Required
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    [JPUSHService registerDeviceToken:deviceToken];
}

// Required
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
    [JPUSHService handleRemoteNotification:userInfo];
    application.applicationIconBadgeNumber = 0;
}

- (void)application:(UIApplication *)application
didReceiveLocalNotification:(UILocalNotification *)notification {
    [JPUSHService showLocalNotificationAtFront:notification identifierKey:nil];
}

-(void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    [application setApplicationIconBadgeNumber:0];
}

JPushConfig.m文件

/** 注册 JPush */
+(void)registerJPush:(NSDictionary *)launchOptions {
    // Required
    if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {
        //可以添加自定义categories
        [JPUSHService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |
                                                          UIUserNotificationTypeSound |
                                                          UIUserNotificationTypeAlert)
                                              categories:nil];
    } else {
        //categories 必须为nil
        [JPUSHService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |
                                                          UIUserNotificationTypeBadge |
                                                          UIUserNotificationTypeBadge)
                                              categories:nil];
    }
    NSString *appKey = @"极光推送生成的KEY";
    NSString *channel = @"App Store";//发布渠道,可以随便定义
    BOOL isProduction = false;//这个要根据极光推送控制台里设置的是开发环境还是生产环境
    //Required
    [JPUSHService setupWithOption:launchOptions
                           appKey:appKey
                          channel:channel
                 apsForProduction:isProduction];
}

收到通知消息后,在AppDelegate.m跳转到指定界面的方法:

    UIViewController *vc = [[UIViewController alloc] init];
    [self.window.rootViewController presentViewController:vc animated:YES completion:nil];
时间: 2024-09-29 18:12:39

iOS集成极光推送的相关文章

iOS集成极光推送遇到的几个问题

1.APNs证书和主证书的区别 刚开始做推送的时候本来以为APNs证书就是主证书里加了个允许推送而已,事实证明我还是太天真了. 首先是创建Provisioning Profile文件时选择证书列表时是不能选择APNs证书的,而且在XCode里Code Signing也是不能选择的.APNs证书其实是只表示了有推送功能,主证书还是必不可少的.所以现在只是又添加了两个证书,其他的是不用变的,所以现在就有4个证书了.作为一个有轻微强迫症的人,创建完APNs证书就顺手把主证书删了,在这里让我折腾了好久.

李洪强iOS之集成极光推送一iOS SDK概述

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC"; color: #000000 } span.s1 { } span.s2 { font: 18.0px Menlo } 李洪强iOS之集成极光推送一iOS SDK概述 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000 } span.s1 { } JPus

Swift集成极光推送

今天介绍一下用swift集成极光推送 一.首先到极光推送的官网下载iOS对应的SDK包   SDK下载地址 二.第二步在极光的官网创建账号配置对应的应用信息,推送证书的这些就不介绍了很基本,官网的很详细 配置应用地址 三.第三创建一个工程,导入下载的SDK包,并且导入依赖的库文件,编译看有没有错误提示 四.配置工程的相关信息 五.开始代码编写,集成Jpush 六.运行工程,检测是否集成正确 七.后台测试,来到极光推送的应用后台测试 滑动消息进入前台,控制台打印通知消息 以上便是极光推送的集成步骤

thinkphp3.2集成极光推送

项目中用到了给客户端的推送功能,选用了极光推送,下面演示一下在thinkphp中集成极光推送 1.下载极光推送的php类,可以从笔者的git下载 地址:https://git.oschina.net/zhangchao123/jiguangtuisongphplei.git 2.thinkphp集成 解压后,直接把jpush文件夹放在Thinkphp/Libray/Vender目录 /*   * 极光推送   * $pushId:极光ID,字符串或者array()   * $content:推送

1行命令集成极光推送

本文写给那些想极速集成推送功能的开发者,不用阅读任何文档,不用写一行代码,1分钟集成,立即使用! 不论你的项目是用 Objective-C 开发的 native app 还是基于 Cordova(phonegap.ionic.We5x 等框架)的 Hybrid app 或是 Cocos2d-x 的 iOS 项目,统统只需打开 终端 输入一行命令: appkey=yourAppkey platform=yourPlatform npm install one-line-jpush-ios 下载推送

iOS最新极光推送详解(2016转)

1.配置开发证书(得有开发者账号,个人,企业的都可以) 开发环境测试 在对 JPush iOS 开发环境进行测试前,请确保 3 个统一: App 是开发环境打包(开发证书 Development) 上传了开发证书并验证通过 Portal 上的应用设置为开发环境 发布环境测试 在对 JPush iOS 生产环境进行测试前,请确保 3 个统一: App 是 ad-hoc 打包或者App Store 版本(发布证书 Production) 上传了发布证书并验证通过 Portal 上的应用设置为生产环境

iOS:极光推送控制器跳转

在前面已经做完了极光消息的推送,那么有消息了,如何跳转到需要的控制器呢?其实,主要还是在userInfo这个消息里面做判断来处理,具体如下: 下面这两个是远程推送时接收消息的方法,这是应用程序提供的方法,只要成功注册了极光推送,推送消息时,就会调用这两个方法,在这两个方法收到的userInfo消息做判断即可. // Required,For systems with less than or equal to iOS6 -(void)application:(UIApplication *)ap

集成极光推送

Write By lz:  转发请注明原地址: http://www.cnblogs.com/lizhilin2016/p/6952445.html Lz 寄语: 极光推送, 跟着套路走 官方文档: http://docs.jiguang.cn/ 集成文档: http://docs.jiguang.cn/jpush/client/Android/android_guide/ Step 1: 直接查看集成文档 Step 2: Jcenter 自动集成 2.1 module的build中添加依赖 A

安卓集成极光推送SDK基础服务

1.到极光推送官网注册用户. 2.创建一个应用根据包名申请app key,注意一个包名对应一个appkey,如果不对应则不能实现功能. 3.下载官网上的SDK,内附指南. 4.首先是各种粘贴复制,注意别漏掉 5.然后是配置Manifest.xml文件 1)一开始第一条permission被我忘了 2)除了标注着required的部分还要把MyReceiver的部分也复制过来 3)注意该修改包名的地方和最后的appkey,不过官网提供的example里已经是改好的了可以直接用 <permissio