首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS AppDelegate didReceiveRemoteNotification未在后台通过蜂窝网络的silient推送触发

iOS AppDelegate中的didReceiveRemoteNotification方法是用于处理接收到远程推送通知的回调方法。当应用程序在前台运行或者在后台通过Wi-Fi网络接收到推送通知时,该方法会被调用并传递推送通知的相关信息。

然而,当应用程序在后台通过蜂窝网络接收到推送通知时,didReceiveRemoteNotification方法不会被调用。这是因为在后台通过蜂窝网络接收到的推送通知被视为"silent"(静默)推送,即不会直接展示给用户,而是由应用程序在后台自行处理。

对于这种情况,可以通过远程推送通知的"content-available"字段来实现后台处理。当推送通知的"content-available"字段为1时,表示这是一条静默推送,应用程序可以在后台进行相关操作,例如下载数据、更新UI等。

为了使应用程序能够在后台通过蜂窝网络接收到静默推送并触发相应操作,需要进行以下配置:

  1. 在应用程序的Info.plist文件中添加"UIBackgroundModes"字段,并设置为"remote-notification",表示应用程序支持远程推送通知的后台处理。
  2. 在AppDelegate中的didFinishLaunchingWithOptions方法中注册远程推送通知,以便应用程序能够接收到推送通知的相关信息。
  3. 在AppDelegate中的didReceiveRemoteNotification方法中判断推送通知的"content-available"字段是否为1,如果是,则进行相应的后台处理操作。

对于腾讯云相关产品,可以使用腾讯云移动推送(TPNS)来实现远程推送通知的功能。TPNS是腾讯云提供的一款移动推送服务,支持iOS、Android等平台,提供了丰富的推送功能和灵活的配置选项。

腾讯云移动推送(TPNS)产品介绍链接地址:https://cloud.tencent.com/product/tpns

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

推送-推送原理性说明

后台推送也是很必须,不是所谓多做活动,因为有些推送是条件触发,无法做到人为推送(比如大量用户中,接单后通知发单的人)。...App: 处于前台:可通过didReceiveRemoteNotificationiOS 7 before)didReceiveRemoteNotification:fetchCompletionHandler...处于后台:可通过didReceiveRemoteNotification:fetchCompletionHandler:获取通知内容 // 获取情况中与普通推送唯一不同点,此时 iOS 系统允许开发者在...App : 处于前台:可通过didReceiveRemoteNotificationiOS 7 before)didReceiveRemoteNotification:fetchCompletionHandler...处于后台:可通过 didReceiveRemoteNotification:fetchCompletionHandler: 获取通知内容 //获取情况中与普通推送唯一不同点,此时 iOS 系统允许开发者在

3.8K20

AppDelegate减负之常用三方封装 - 友盟推送

之前分享过集成友盟推送方法, 需要朋友可以查看一下链接: http://www.cnblogs.com/zhouxihi/p/6533058.html 一般开发中我们比较多使用三方有友盟推送, 友盟分享...光集成一个友盟推送就要好几十行代码, 如果多集成几个AppDelegate就会变得臃肿不堪, 也降低了可读性 为了解决这个问题, 目前想到以Category方式给AppDelegate添加新类别去完成这些三方集成...先以友盟推送为例 具体方法为先创建一个类别AppDelegate+UMengPush.h 给类别添加一个userInfo属性用来临时存放接收到推送消息, @property (nonatomic,...response.notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) { //应用处于后台远程推送接受...//应用处于后台本地推送接受 } } - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger

784110
  • iOS远程消息推送

    前言 iOS消息推送分两种,本地推送和远程推送。本地推送是由本地应用触发,是基于时间通知形式,不通过网络,直接安装应用后就可以接到通知,一般用于闹钟定时、待办事项等提醒功能。...远程推送是需要网络,服务端通过苹果消息推送服务器APNS实现推送,无论APP处于前台、后台或者被kill情况下仍能收到消息通知,如新闻推送、聊天消息接收等。 本文要讲的是后者远程消息推送。...主要从iOS远程消息推送过程以及客户端如何处理推送消息开发实现逻辑两方面来展开,最后梳理一下iOS消息推送测试时需要关注点。 1.iOS消息推送过程 ?...:(NSDictionary *)userInfo函数, 此时AppDelegate中函数执行顺序为: applicationWillEnterForeground application:didReceiveRemoteNotification...此时,不会执行前面提到 didReceiveRemoteNotification函数,而是在AppapplicationDidFinishLaunching函数中处理推送通过以下代码可以获取推送消息中数据

    4.5K20

    ios入门之消息推送

    那么在ios10之前,ios消息推送是怎么分类呢?...本地推送 不需要服务器支持(无需联网)就能发出推送通知,app本地创建通知,加入到系统Schedule里,如果触发器条件达成时会推送相应消息内容,如常见定时任务闹钟等。 ?...当用户点击本地推送通知时候,会自动打开app,这里有2种情况:app在后台运行,或者被系统进程杀死,对于这两种情况,我们怎么处理呢? app后台运行 ?...,一般会用到UNNotificationServiceExtension应用扩展,通过在 payload 中增加 mutable-content 字段来触发扩展。...在 didReceive 回调方法中 request 包含了推送具体信息,可以通过其 userInfo 属性来解析出多媒体 url。

    1.9K60

    iOS集成极光推送iOS集成极光推送

    apns_16.png 二、集成极光推送SDK sdk地址 我使用是JPush-iOS-SDK-2.1.0。...下载文件里有个pdf文件iOS+SDK+Integration+Guide.pdf,介绍了集成极光推送详细代码。 在工程文件中,做如下设置: ?...presentViewController:vc animated:YES completion:nil]; 三、关于极光推送收不到后台推送通知问题 首先,要了解一下 iOS开发环境和生产环境。...我情况是这样,代码里设置是生产环境,由于公司要求使用 alias 来区分需要推送通知用户,再使用 xcode 测试时候,使用极光推送控制台向指定 alias 推送通知,在极光推送控制台设置 iOS...4.如果推送使用是自己后台,需要告知,后台设置 iOS 环境为生产环境,才能收到后台推送通知,否则是收不到通知,被这个坑了好长时间。。。?

    2.9K21

    iOS 远程推送概念相关准备工作代码实现:(前提:确保bundleID和网站配置一样)AppDelegate全部代码

    远程推送原理 ---- 准备工作 开发iOS程序推送功能, iOS端需要做事 请求苹果获得deviceToken UDID : 目的是将来可以找到手机 Bundle ID : 目的是将来可以找到手机中程序...钥匙串 ---- 代码实现:(前提:确保bundleID和网站配置一样) 要注意,由于iOS8 以后推送需要用户授权,所以AppDelegate中要分别适配不同版本 注册推送,注册后就会向苹果服务器发送...点击推送 (4)推送成功程序右上角就会有一个1角标 ? 推送成功! 4.接收到通知后程序回调代理方法 注意:要考虑三种情况,后台、前台、退出程序。...远程推送和本地推送一样,都需要在两个地方做代码处理: 接受到通知时调用代理方法中(前台和后台) 启动时 didFinishLaunchingWithOptions方法中(退出状态),用 launchOptions...; (2)前台、后台和退出推送都会调用这个代理方法(iOS 7之后可用) - (void)application:(UIApplication *)application didReceiveRemoteNotification

    1.9K100

    iOS开发——推送跳转到指定页面

    今天在这2016年最后一篇博客里,咱来聊聊推送通知跳转。...,感觉这个库有一定局限性,用runtime实现跳转这不假,但是在请求字段里加上了ViewController类名,这其实就是局限地方了,毕竟除了服务咱们iOS端,你也得考虑考虑安卓端攻城狮不是,...之前几篇文章,我也在研究iOS开发组件化架构模式,也有的应用在走组件化道路上使用了URL来跳转界面完成解耦,在实现推送时,我们也能沿用这个思路,用URL实现界面的跳转。...来说一说这个基本使用方式,首先你得跟后台约定推送参数,比如我在跟后台约定里,参数名就是url,那么我在拿到推送userInfo时,就需要把url解析出来。...,在写好业务逻辑之后,我们需要去AppDelegatefunc application(application: UIApplication, didFinishLaunchingWithOptions

    1.9K20

    推送-远程通知推送教程

    iOS 9上,远程推送可以做到: 显示短文本 播放通知提示音 设置APP图标的角标 在不打开APP情况下,允许用户与APP交互 允许APP在后台静默唤醒来执行任务 这份远程推送通知教程会告诉你远程推送工作原理并让你了解它一些特性...如果你应用当前不在运行,并且用户通过点击推送通知启动应用,通知内容会通过 application(_:didFinishLaunchingWithOptions:) 方法 launchOptions...如果你应用正在运行,或者被挂起在后台,并且用户通过点击通知使应用进入前台 application(_:didReceiveRemoteNotification:) 方法会被调用。...在AppDelegate内,用下面更强大版本替换 application(_:didReceiveRemoteNotification:) 方法: func application(application...---- 原文链接 iOS 10 之前推送之远程推送iOS Notification Of Remote Notification)这篇文章也不错

    4K30

    iOS 推送手机消息背后技术

    开发者通过调用iOS系统方法就可以发起本地消息推送,例如我们最常见闹钟应用,App能够根据本地存储闹钟信息直接发起本地通知,因此即使没有网络也能收到闹钟提醒。...不同于本地消息推送不依赖网络请求,可以直接调用iOS系统方法,远程消息推送实现涉及到用户设备、我们自己业务方服务器和苹果APNs服务交互。...不同于Android系统中远程消息推送实现,需要App自身通过后台服务与业务服务器维持长链接通信,iOS消息推送是操作系统与苹果APNs服务器直接交互实现,App自身并不需要维持与服务器连接...以内,建议只透传一些id和url等关键参数,具体内容由客户端在收到推送时再去通过网络请求获取。...:①App在前台运行时收到通知,②App在后台运行时用户点击推送消息拉起App,这两种场景下都会被调用,区别是前两种方法对应远程消息推送接收和点击触发响应,didReceiveLocalNotification

    3.9K103

    iOS 点击推送消息跳转指定界面 —总结篇app 在后台app被杀死

    点击推送触发几个方法: ios7.0之前 - (void)application:(UIApplication *)application didReceiveRemoteNotification...8 - 10 点击本地推送 触发方法 /** ios 10 之前 点击本地推送 触发方法 @param application @param notification */ -(void...1.png 这个是转成本地推送方法,当然对于里面数据转换你要根据你们业务需求和后台返回情况做转化,因为你在之后点击本地推送时候还是要根据你转本地推送所传值进行对应跳转 - (void)...点击本地推送触发方法 iOS 10之前 -(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification...1.前台在收到消息时候做相应处理比如转本地推送,弹窗提醒等 2.后台是在点击消息时候做处理(因为后台时候推送消息过来之后,展示苹果已经帮我做好了,直接处理点击挑战就行了,当然如果是本地推送那是我们自己做处理

    8.5K71

    实现 iOS 前台时推送弹窗效果

    作者:Pikacode 原文链接:http://www.jianshu.com/p/67864e1c2085 本文获作者授权转载 或许很多童鞋还不知道,在 iOS 中收到推送通知时,如果 App 处于前台运行情况下...,推送顶部弹窗是不会弹出来。...在 AppDelegate.m 中添加代码 //AppDelegate.m #import "EBForeNotification.h" //ios7 before - (void)application...系统自带声音 id,系统级推送服务默认使用是三全音,id = 1312 其他系统声音 id 可以在这里查询到iOS Predefined sounds 备用地址AudioServices sounds...监听并处理点击事件 添加 Observer 监听 EBBannerViewDidClick,获取推送内容,通过推送时自定义字段处理自己逻辑,如:跳转到对应页面等。

    1.8K20

    iOS Push技术

    1、引言 开发iOS系统中Push推送,通常有以下3种情况: 1)在线Push:比如QQ、微信等IM界面处于前台时,聊天消息和指令都会通过IM自建网络长连接通道推送过来,这种Push在本文中暂且称为...,仅仅是让APP拥有一个统一系统通知方式而已,比如:闹钟定时提醒等; 3)离线/远程Push:这就是iOS程序员最熟悉APNs这一套东西了,它使得APP处于后台或者被kill情况下仍能收到网络通知...中,开发人员可以通过实现AppDelegate方法:- (BOOL)application:UIApplication)application didFinishLaunchingWithOptions...2)App运行在后台及前台 上面的2种情况处理基本一致, 不同点只有当运行再后台时候,会有弹窗提示用户另外一个App有通知,对于本地通知单处理都是通过AppDelegate方法:...创建方法: 接下来需要需创建一个包含待通知内容 UNMutableNotificationContent 对象: 在iOS上可以通过以下几种触发器来触发本地push:

    1.8K30

    了解iOS消息推送一文就够:史上最全iOS Push技术详解

    1、引言 开发iOS系统中Push推送,通常有以下3种情况: 1)在线Push:比如QQ、微信等IM界面处于前台时,聊天消息和指令都会通过IM自建网络长连接通道推送过来,这种Push在本文中暂且称为...,仅仅是让APP拥有一个统一系统通知方式而已,比如:闹钟定时提醒等; 3)离线/远程Push:这就是iOS程序员最熟悉APNs这一套东西了,它使得APP处于后台或者被kill情况下仍能收到网络通知...4.3 处理本地push ( iOS10以前) 1)App没有启动情况下处理本地push 这种情况下,当点击通知时,会启动App,而在App中,开发人员可以通过实现AppDelegate方法:- (...2)App运行在后台及前台 上面的2种情况处理基本一致, 不同点只有当运行再后台时候,会有弹窗提示用户另外一个App有通知,对于本地通知单处理都是通过AppDelegate方法:- (void)...在iOS上可以通过以下几种触发器来触发本地push: 1)UNCalendarNotificationTrigger 传送本地通知日期和时间; 2)UNTimeIntervalNotificationTrigger

    22.2K30

    iOS 10 消息推送(UserNotifications)秘籍总结

    我也被安排适配iOS10推送工作!...基本原理 iOS推送分为Local Notifications(本地推送) 和 Remote Notifications(远程推送)(原理图来源于网络,如有侵权请告知,我会添加来源,我怕我赔不起) Local...> 且要遵守协议,在Appdelegate.m中。...区分本地通知跟远程通知类是UNPushNotificationTrigger.h类中,UNPushNotificationTrigger类型是新增加通过它,我们可以得到一些通知触发条件 ,解释如下...图片来源于网络.jpeg 我们先学会基本技能简单推送(爬),后面在学习进阶定制推送(走),最后看看能不能高级推送(飞不飞起来看个人了,我是飞不起来): 基本Local Notifications(本地推送

    2.7K40

    推送-JPush(极光推送)使用

    10 系统之前 这个系统级别的方法,被触发条件: 程序在前台收到推送 (不会有顶部横条提示) 通过点击推送启动程序 iOS10静默式推送 //ios 7 前端 、点击、静默式推送有 包括...iOS10静默式推送 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary...: 程序在前台受收到推送 ,会有顶部横条提示,点击横幅时 通过点击推送启动程序时 // iOS 10 Support - (void)jpushNotificationCenter:(UNUserNotificationCenter...静默式推送 后台推送需要开启后台模式 Paste_Image.png 下面的代码一直执行不了,并且在控制台打印,JIGUANG服务器链接失败,我还以为是我证书失效了...,一定要看清楚推送iOS设备是开发环境还是生产环境。

    6.6K10

    iOS Push详述,了解一下?

    所以静默push又被我们称做 Background Remote Notification(后台远程推送)。静默推送是在iOS7之后推出一种推送方式。...push 这种情况下,当点击通知时,会启动App,而在App中,开发人员可以通过实现AppDelegate方法:- (BOOL)application:(UIApplication)application...[11.png] 2、App运行在后台及前台 上面的2种情况处理基本一致, 不同点只有当运行再后台时候,会有弹窗提示用户另外一个App有通知,对于本地通知单处理都是通过AppDelegate方法...创建方法: [13.png] 接下来需要需创建一个包含待通知内容 UNMutableNotificationContent 对象: [14.png] 在iOS上可以通过以下几种触发器来触发本地push...假如以时间间隔(TimeInterval)来触发,则设置触发器代码为: [15.png] 推送本地push代码为: [16.png] 在线、离线(远程)push流程 一、在线push流程 ------

    4.5K60

    项目中友盟推送适配iOS10

    ,因为我发现在iOS10环境下我推送还是可以用。...(声明:当前项目中用是友盟推送) 对于客户端来说,推送有三种情况:1.程序在前台运行  2.程序在后台运行   3.程序不在运行 先看下本人在iOS10之前推送代码: 当程序在运行(前台、后台)时接收到通知...如果是在后台运行在点击推送消息后就会直接进行页面的跳转,如果是在前台运行需要用户进行跳转选择,示意图: ? 当程序不在运行时接收到通知: ?...适配iOS10是必然,下面是适配iOS10代码: ? ? 疑问:iOS10之后不走didReceiveRemoteNotification方法,为什么alertView控件还能显示出来?...解答:alertView是通过iOS10新增方法显示出来

    93310
    领券