JPush 使用教程

自己使用的一些经验,为了方便直接从这里复制过去就行。
就当做个笔记,防止长时间忘记之后,还需要去官网看文档。

主要思路: sdk文件 + 三方依赖系统库 + 头文件 + 添加代理 + 初始化代码

1.版本信息

  • JPush : 2.2.0
  • Xcode : 8.3.3
  • iOS : 6.0 +

2.使用步骤

  • 导入头文件
#import "JPUSHService.h"
// iOS10注册APNs所需头文件
#ifdef NSFoundationVersionNumber_iOS_9_x_Max
#import <UserNotifications/UserNotifications.h>
#endif
  • 添加如下代码(支持版本为 iOS 6.0+)
#pragma mark -- JPush/**注册apns*/
- (void)registerAPNSWithOptions:(NSDictionary *)launchOptions{//Required//notice: 3.0.0及以后版本注册可以这样写,也可以继续用之前的注册方式JPUSHRegisterEntity * entity = [[JPUSHRegisterEntity alloc] init];entity.types = UNAuthorizationOptionAlert|UNAuthorizationOptionBadge|UNAuthorizationOptionSound;if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {// 可以添加自定义categories// NSSet<UNNotificationCategory *> *categories for iOS10 or later// NSSet<UIUserNotificationCategory *> *categories for iOS8 and iOS9}[JPUSHService registerForRemoteNotificationConfig:entity delegate:self];// Required// init Push// notice: 2.1.5版本的SDK新增的注册方法,改成可上报IDFA,如果没有使用IDFA直接传nil// 如需继续使用pushConfig.plist文件声明appKey等配置内容,请依旧使用[JPUSHService setupWithOption:launchOptions]方式初始化。[JPUSHService setupWithOption:launchOptions appKey:@"2c6034060b406cfe94d4e2e2"channel:@"App Store"apsForProduction:YESadvertisingIdentifier:nil];NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter];[defaultCenter addObserver:self selector:@selector(networkDidReceiveMessage:) name:kJPFNetworkDidReceiveMessageNotification object:nil];}
/**极光推送消息处理@param notification 极光推送通知*/
- (void)networkDidReceiveMessage:(NSNotification *)notification {NSDictionary * userInfo = [notification userInfo];NSString *content = [userInfo valueForKey:@"content"];NSDictionary *extras = [userInfo valueForKey:@"extras"];NSString *customizeField1 = [extras valueForKey:@"customizeField1"]; //服务端传递的Extras附加字段,key是自己定义的}- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {/// Required - 注册 DeviceToken[JPUSHService registerDeviceToken:deviceToken];
}#pragma mark- JPUSHRegisterDelegate// iOS 10 Support
- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(NSInteger))completionHandler {// RequiredNSDictionary * userInfo = notification.request.content.userInfo;if([notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {[JPUSHService handleRemoteNotification:userInfo];}completionHandler(UNNotificationPresentationOptionAlert); // 需要执行这个方法,选择是否提醒用户,有Badge、Sound、Alert三种类型可以选择设置
}// iOS 10 Support
- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler {// RequiredNSDictionary * userInfo = response.notification.request.content.userInfo;if([response.notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {[JPUSHService handleRemoteNotification:userInfo];}completionHandler();  // 系统要求执行这个方法
}- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {NSString *content = [userInfo valueForKey:@"content"];NSDictionary *extras = [userInfo valueForKey:@"extras"];NSString *customizeField1 = [extras valueForKey:@"customizeField1"];NSLog(@"content --- %@",content);NSLog(@"extras --- %@",extras);NSLog(@"customizeField1 --- %@",customizeField1);// Required, iOS 7 Support[JPUSHService handleRemoteNotification:userInfo];completionHandler(UIBackgroundFetchResultNewData);
}- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {// Required,For systems with less than or equal to iOS6[JPUSHService handleRemoteNotification:userInfo];
}#pragma mark -- JPush
  • 添加依赖库文件

3.其他配置

  • 在 JPush 官网注册应用,记住对应的Appkey,

代码中注册的时候使用。

  • 证书配置

直接导出调试推送证书 和 发布推送证书 的 .12 文件上传到JPush 官网。

  • 开放App的后台能力 和 推送能力

JPush 官网: https://www.jiguang.cn/accounts/login/form

官方iOS SDK 集成指南:https://docs.jiguang.cn/jpush/client/iOS/ios_guide_new/

转载于:https://www.cnblogs.com/xiaoyouPrince/p/7249970.html

JPush 使用教程相关推荐

  1. 老板来了:人脸识别 + 手机推送,老板来了你立刻知道!

    背景介绍 学生时代,老师站在窗外的阴影挥之不去.大家在玩手机,看漫画,看小说的时候,总是会找同桌帮忙看着班主任有没有来. 一转眼,曾经的翩翩少年毕业了,新的烦恼来了,在你刷知乎,看视频,玩手机的时候, ...

  2. Python人脸识别+手机推送,老板来了你就会收到短信提示

    前言 在你上班的时候刷知乎,看视频,玩手机的时候,老板来了!不用担心,不用着急,基于最新的人脸识别 + 手机推送做出的 BossComing.老板站起来的时候,BossComing 会通过人脸识别发现 ...

  3. Python实现人脸识别 + 手机推送功能,老板来了你就会收到短信提示

    前言 在你上班的时候刷知乎,看视频,玩手机的时候,老板来了!不用担心,不用着急,基于最新的人脸识别 + 手机推送做出的 BossComing.老板站起来的时候,BossComing 会通过人脸识别发现 ...

  4. hello python jpush_Python人脸识别 + 手机推送,老板来了你就会收到短信提示

    原标题:Python人脸识别 + 手机推送,老板来了你就会收到短信提示 前言 在你上班的时候刷知乎,看视频,玩手机的时候,老板来了!不用担心,不用着急,基于最新的人脸识别 + 手机推送做出的 Boss ...

  5. Python 人脸识别 + 手机推送,老板来了你就会收到短信提示

    前言 在你上班的时候刷知乎,看视频,玩手机的时候,老板来了!不用担心,不用着急,基于最新的人脸识别 + 手机推送做出的 BossComing.老板站起来的时候,BossComing 会通过人脸识别发现 ...

  6. php集成jpush教程,Laravel 集成 JPush 极光推送指北

    我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就不用看了). Laravel 使用 Composer 来管理代码依赖.所以 ...

  7. Android JPush(极光推送)的使用教程

    首先进入官网 https://www.jpush.cn/,先注册一个账号. 注册号以后,创建应用 1.点击右上角进入个人中心 2.点击创建应用 3.在创建应用界面输入自己项目的应用名和应用的包名,输入 ...

  8. JPush (极光推送) For Xamarin.Android

    http://www.cnblogs.com/xling/p/JPush-for-Xamarin-Android.html 官方教程上讲的是 GCM (Google Cloud Messaging) ...

  9. phonegap app推送新手教程与坑

    为项目开发做前期准备,试着app推送消息测试,一个demo.试过百度推送,没有成功.又试了极光推送,终于在多次实验后成功了.后来发现,成功与否关键是没有搞明白混合应用推送的原理. 推送的过程/原理 用 ...

最新文章

  1. java编写socket使用bufferedReader.readLine()问题研究
  2. linux alpine 提示'/bin/sh: rc-service: not found'解决方案
  3. 决战丰水期:大批矿工迁往云贵川
  4. c++ 将输入存储到数组,然后反转数组,最后输出
  5. QFileDialog::getOpenFileName
  6. [vue] vue的:class和:style有几种表示方式?
  7. 乌云挂了,知识库的文章却在流传
  8. Java虚拟机(九)——方法区
  9. .net中调用windows performance记录性能信息
  10. Android Window 9问9答
  11. UDP通信的简单实现(程序)
  12. 《金融时报》和麦肯锡:本年度最佳书单
  13. linux给文件备份,Linux文件备份
  14. html5用本地存储做留言板,带有本地存储功能的留言板js代码
  15. 网站服务器在国外怎么维护,网站服务器如何维护
  16. 黑马程序员—黑马历程--我的人生,我的路--黑九的我毕业了
  17. 南唐后主李煜诗词选编
  18. MoveIt!入门教程-简介
  19. 阿里马来西亚办公室开业,马财政部长加持:“阿里巴巴家喻户晓”
  20. python中的库有哪些餐厅_推荐一些实用的的 Python 库

热门文章

  1. c语言链表找姓,急啊!!!求救了 C语言编一个链表,输出姓名和学号就好
  2. 《OpenCV3编程入门》学习笔记9 直方图与匹配(四)反向投影(back projection)
  3. linux 3.4内核初始化,S3C2440移植linux3.4.2内核之内核框架介绍及简单修改
  4. python实现冒泡排序完整算法_Python实现冒泡排序算法的完整实例
  5. mongo在哪创建管理员_MongoDB初始化创建管理员账户登录
  6. php怎么看数据化,3.2.11 查看和判断数据类型
  7. python中adb连接手机_Python脚本利用adb进行手机控制的方法
  8. 和12岁小同志搞创客开发:手撕代码,做一款亮度可调节灯
  9. LabVIEW实现PCB电路板元器件匹配定位(实战篇—7)
  10. Linux那些事儿 之 戏说USB(20)设备的生命线(三)