linux推送消息到指定链接,远程推送点击消息跳转到指定页面

本文详细介绍了移动应用在接收到推送通知时的各种处理逻辑,包括应用未启动、后台挂起和前台运行三种状态下的显示策略。同时,针对用户点击推送消息的行为,分别阐述了应用未启动和后台运行时的回调方法及其处理流程,主要涉及iOS系统的API调用和通知处理。
摘要由CSDN通过智能技术生成

各个推送平台:

极光推送

小米推送

友盟推送

个推

信鸽

阿里推送

推送的逻辑处理:

一、收到推送消息有三种情况:

1、应用未启动(默认显示在通知栏,或者锁屏时显示在锁屏页面)

2、应用在后台挂起(默认显示在通知栏,或者锁屏时显示在锁屏页面)

3、应用在前台(默认不显示)

二、点击推送消息有两种情况:

1、应用未启动-->启动:

无论是点击推送消息打开应用还是点击icon打开应用都会调用以下方法

//只有重新打开APP和后台杀死后在打开APP才会走下面的方法

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

NSDictionary *userInfo = launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey];

//如果userInfo 有内容说明是点击通知打开的应用,如果没有内容则是点击icon打开的应用

if (userInfo) { // 有推送的消息,处理推送的消息

_isLaunchedByNotification = YES;

} }

2、应用在后台 -> 应用在前台:

应用在后台挂起时点击推送消息和应用在前台时收到推送消息,都会调用以下方法:

ios7以上会调用下面这个方法

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

ios 10 会调用 下面的方法

// iOS 10 Support(极光) 处于前台的时候 消息推送过来的手机上弹出消息的 - (void)jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(NSInteger))completionHandler {

// Required

AudioServicesPlaySystemSound(1007);

NSDictionary * 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 {

// Required

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

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

[JPUSHService handleRemoteNotification:userInfo];

}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值