推送 iOS 10

1:APNs通知与应用内消息对比

极光文档上面是这么写的

后来更直接的说法是:

2:下面是介绍app不同状态下面接受到通知调用的方法:

// iOS 10 Support,这个是程序在前台接受到通知是相应的方法

- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(NSInteger))completionHandler {

// Required

NSDictionary * userInfo = notification.request.content.userInfo;

if([notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {

[JPUSHService handleRemoteNotification:userInfo];

}

//如果是前台收到了通知,也可以设置提醒,具体的需求问问产品

completionHandler(UNNotificationPresentationOptionNone); // 需要执行这个方法,选择是否提醒用户,有Badge、Sound、Alert三种类型可以选择设置

}

可以通过上面的枚举对前台通知进行设置

// iOS 10 Support程序运行于后台 点击推送通知 都会走这个方法

- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler {

// Required

NSDictionary * userInfo = response.notification.request.content.userInfo;

if([response.notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {

[JPUSHService handleRemoteNotification:userInfo];

}

NSLog(@"%@",response.notification.request.content.body);

completionHandler();  // 系统要求执行这个方法

}

//程序已经杀死

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

[Bugly startWithAppId:@"49c45f90fe"];

//远程推送发送过来json字符串

NSDictionary *userinfo = launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey];

通知的内容存在于launchOptions中

NSDictionary *userinfo = launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey];

userinfo[@"aps"][@"alert"]

里面可以获取到通知的内容

//静默通知(静默通知app死掉的时候不进行)

静默推送:收到推送(没有文字没有声音),不用点开通知,不用打开APP,就能执行

使用静默通知的关键意义是程序在后台的时候能够在不点击通知的(应为静默通知本身就没有通知栏)敲敲的执行后台的代码

不管使用哪种三方的推送(极光,融云,个推,pushmeBaby),一定要设置

一定要加"content-available" : 1  (只设置这个字段的话,可以实现后台推送完成接收)

还有

sound,alert  badge也不能加,加入的话也是静默推送,可以测试时添加

实例静默推送内容

因为静默推送的关键意义在于后台的推松,所以一定要记得打开app后台推送的功能

如果升级了ios10,一定要按照最新的文档进行集成

注意:

1:应当提供

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {

  // 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];
}

 下面的方法会被上面的方法挤掉

如果想收到静默通知,必须实现上面的方法而不是下面的

即静默采用ios 7的方法替换原来的

2:关于证书:如果自己公司的后台集成了极光推送,应当提供好推送的两个证书的p12文件

生产证书不一定要上线

3:判断程序在前台的方法

[UIApplication sharedApplication].applicationState == UIApplicationStateActive

4:极光推送不展示小红点

application.applicationIconBadgeNumber = 0;

[JPUSHService setBadge:0];(推向极光的服务器)

关于通知的补充:

1:收到前台通知调用的方法

2:通知上面添加的点击事件,通过通知设置分类

点击上面不同的按钮调用下面的方法,通过identifier进行区分

3:

4.继承公司自己的推送只需要

appdelegate里面设置appid即可

5:后台进行的静默通知,应该进行流量的判断

时间: 2024-10-18 02:19:50

推送 iOS 10的相关文章

[转帖]微软宣布即将开始大规模推送Windows 10 V1903重大版本更新

微软宣布即将开始大规模推送Windows 10 V1903重大版本更新 https://www.cnbeta.com/articles/tech/894303.htm 微软要批量更新 1903了 bug10 再发力.. 2019年09月28日 10:27 1321 次阅读 稿源:蓝点网 0 条评论 微软官方在推特上宣布Windows 10 Version 1903版已被指定为可针对所有用户进行广泛部署的重大版本更新.与此同时微软也即将开始向正式版用户们大规模推送这个版本更新,相信多数还未收到更新

.net平台推送ios消息

1,ios应用程序中允许向客户推送消息 2,需要有苹果的证书以及密码(怎么获取,网上搜一下,需要交费的) 3,iphone手机一部,安装了该ios应用程序 4,.net 项目中引用PushSharp.Apple.dll,PushSharp.Core.dll(这两个文件在网上搜一下,有源码的) 5,开始写代码,定义全局的对象PushBroker pusher = new PushBroker(); 6,注册方法 protected void startApp() { pusher.Register

解决:推送iOS Invalid certificate chain (Received fatal alert: certificate_unknown)!

Invalid certificate chain (Received fatal alert: certificate_unknown)! 是由于导证书的时候 导的是产品推送的钥匙串.p12而不是 Apple Production IOS Push Services:XXX 的.p12 切记选择导出证书的时候保证推送证书的p12而不是钥匙串的 正确的导出方式: 错误的导出方式: 转自:http://segmentfault.com/a/1190000000376953

【转载自友盟消息推送iOS文档】在appDelegate中注册推送

1.2   基本功能集成指南 提示 请先在友盟的消息推送管理后台中创建App,获得AppKey和AppSecret 导入SDK 下载 UMessage_Sdk_All_x.x.x.zip并解压缩 导入插件 所需SDK文件夹:UMessage_Sdk_x.x.x 请在你的工程目录结构中,右键选择Add->Existing Files…,选择这个文件夹.或者将这个文件夹拖入XCode工程目录结构中,在弹出的界面中勾选Copy items into destination group's folder

远程推送-----iOS

前言 说一下我了解的推送 正文 APNs--------Apple Push Notification service 1 远程推送的大概流程及其原理 我们的设备联网时(无论是蜂窝联网还是Wi-Fi联网)都会与苹果的APNs服务器建立一个长连接(persistent IP connection),当Provider推送一条通知的时候,这条通知并不是直接推送给了我们的设备,而是先推送到苹果的APNs服务器上面,而苹果的APNs服务器再通过与设备建立的长连接进而把通知推送到我们的设备上.而当设备处于

微软将于12月起开始推送Windows 10 Mobile

[环球科技报道 记者 陈薇]据瘾科技网站10月8日消息,根据微软Lumia官方Faceboo发布的消息,新版系统Windows 10 Mobile 将会12月起陆续开始推送. 推送的具体时程根据地区.运营商会有不同,加入Windows Insider 预览计划则可以提前享受这一新系统. Windows 10 Mobile硬件要求必须有至少8GB 的容量,除此之外还得运行Lumia Denim(版本号:8.10.14219.341). 网友提供的win10系统,仅作参考: 32/64位win10系

微软Surface Book推送Windows 10新固件更新:增强系统和电池

微软公司最近为Surface Book推出了新的Windows 10固件系统和驱动的更新,并且以MSI的文件格式上传到了微软的下载中心里面.此次更新的内容主要是改进了Surface Book的系统的稳定性以及电池的可靠性,针对的版本是搭载Windows 10创意者更新(Version 1703)的微软的Surface Book设备. Surface Book是微软公司在2015年10月6号推出的一款笔记本电脑.作为微软的首款笔记本产品,Surface Book采用的是13.5英寸的显示器,内置英

IOS 之消息推送(个推)---个人小结

前言:自从上个星期开始整这个推送,弄了差不多一个星期,今天终于给整好了,因此现在来记录这段"奇妙"的旅程. 我们公司使用的消息推送是用的第三方--个推,这里不得不说一下,个推的技术人员还是蛮热心的,一直在帮助我排查问题,终于问题解决了,感谢感谢! 步骤及问题排查: 1.参照开发文档,集成SDK ,这里就不一一介绍了.(注意,个推的ios推送只能使用透传) 2.创建证书.苹果的推送证书分为开发证书(测试用)和生产证书(上线用).这里需要注意的就是,创建证书之前先必须打开证书的push 服

.net平台借助第三方推送服务在推送Android,IOS消息(极光推送)

最近做的.net项目(Windows Service)需要向Android手机发送推送消息,真是有点困难,没有搞过就不停的搜文档,最后看到了一个开源项目PushSharp,可以在.net平台推送IOS,Android,Windows Phone等设备消息,大喜,然后先做了IOS的,成功了,但是做Android的时候遇到了问题,一直推送不成功,程序执行了,但是推送一直出不来,后来费劲的在网上搜,没有找到,最后放弃使用这种推送Android,另寻出路,随后找到了一种C2DM云端推送功能,但是问题又出