MobPush iOS端海外推送最佳实现

news2024/11/26 17:39:04

推送注册

在AppDelegate里进行SDK初始化(也可以在Info.plist文件中进行AppKey,AppSecret的配置)并对通知功能进行注册以及设置推送的环境和切换海外服务器等,参考如下步骤代码:

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code><span style="color:#bbb529">#import <MobPush/MobPush.h></span>
<span style="color:#bbb529">#import <MOBFoundation/MOBFoundation.h></span>
- (BOOL)application:(UIApplication \*)application didFinishLaunchingWithOptions:(NSDictionary \*)launchOptions{

   <span style="color:grey">//1.初始化SDK</span>
    [MobSDK registerAppKey:<span style="color:#6a8759">@"2e76e2e95a7ad"</span> appSecret:<span style="color:#6a8759">@"e83de04bc9d850784ca01b5fcfbc886e"</span>];
    <span style="color:grey">//2.上传隐私状态</span>
    [MobSDK uploadPrivacyPermissionStatus:<span style="color:#6897bb">YES</span> onResult:^(**BOOL** success) {}];

    <span style="color:grey">//3.设置推送环境    如果为开发状态设置为 NO; 如果为生产状态,应改为 YES</span>
    [MobPush setAPNsForProduction:<span style="color:#6897bb">NO</span>];

    <span style="color:grey">//4.设置地区:regionId 默认0(国内),1:海外</span>
    [MobPush setRegionID:<span style="color:#6897bb">1</span>];

    <span style="color:grey">//5.MobPush推送设置(获得角标、声音、弹框提醒权限)</span>
    MPushNotificationConfiguration *configuration = [[MPushNotificationConfiguration alloc] init];
    configuration.types = MPushAuthorizationOptionsBadge | MPushAuthorizationOptionsSound | MPushAuthorizationOptionsAlert;
    [MobPushsetupNotification:configuration];

}
</code></span></span>

添加推送监听

同时可以在AppDelegate里注册监听,可以监听到推送消息的到达和点击,参考代码如下:

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code><span style="color:#cc7832">-</span> (BOOL)<span style="color:#cc7832">application</span>:(UIApplication \*)<span style="color:#cc7832">application</span> <span style="color:#cc7832">didFinishLaunchingWithOptions</span>:(NSDictionary \*)<span style="color:#cc7832">launchOptions</span>{


   [[NSNotificationCenter defaultCenter] <span style="color:#cc7832">addObserver</span>:self <span style="color:#cc7832">selector</span>:@<span style="color:#cc7832">selector</span>(<span style="color:#6a8759">didReceiveMessage</span>:) <span style="color:#cc7832">name</span>:MobPushDidReceiveMessageNotification <span style="color:#cc7832">object</span>:nil];


}
</code></span></span>

接收回调处理

在回调中处理接收到的MobPush的通知监听,需要注意如果应用处于后台或者杀死,是不会走APNS回调的,需要点击通知消息才能触发被点击的回调,参考代码如下:

// 收到通知回调

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code>- (<span style="color:#cc7832">void</span>)didReceiveMessage:(NSNotification *)notification
  {
  MPushMessage *message = notification.object;

<span style="color:grey">// 推送相关参数获取示例请在各场景回调中对参数进行处理</span>
<span style="color:grey">//     NSString *body = message.notification.body;</span>

<span style="color:grey">//     NSString *title = message.notification.title;</span>
<span style="color:grey">//     NSString *subtitle = message.notification.subTitle;</span>
<span style="color:grey">//     NSInteger badge = message.notification.badge;</span>
<span style="color:grey">//     NSString *sound = message.notification.sound;</span>
<span style="color:grey">//     NSLog(@"收到通知:{\nbody:%@,\ntitle:%@,\nsubtitle:%@,\nbadge:%ld,\nsound:%@,\n}",body, title, subtitle, (long)badge, sound);</span>
<span style="color:#cc7832">switch</span> (message.messageType)
{
<span style="color:#cc7832">case</span> MPushMessageTypeCustom:
{<span style="color:grey">// 自定义消息回调</span>
}
<span style="color:#cc7832">break</span>;
<span style="color:#cc7832">case</span> MPushMessageTypeAPNs:
{<span style="color:grey">// APNs回调</span>
}
<span style="color:#cc7832">break</span>;
<span style="color:#cc7832">case</span> MPushMessageTypeLocal:
{<span style="color:grey">// 本地通知回调</span>

}
<span style="color:#cc7832">break</span>;
<span style="color:#cc7832">case</span> MPushMessageTypeClicked:
{<span style="color:grey">// 点击通知回调</span>

}
<span style="color:#cc7832">default</span>:
<span style="color:#cc7832">break</span>;
}
</code></span></span>

注意海外推送与国内推送SDK是一样的,不区分SDK版本,需要注意的是海外需要增加以下接口切换到海外服务器,另外目前4.x版本只支持APNS厂商通道推海外,TCP通道不支持。

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code><span style="color:#ffc66d">[MobPush setRegionID:1]</span><span style="color:grey">;</span>
</code></span></span>

使用开发者后台进行推送

登陆我们的后台,然后打开已注册的应用,添加 MobPush 产品之后,进行iOS设置,上传证书,Bundle id等信息,如下图:

然后 切换海外版 在 点击同步国内配置到海外版 ,将信息同步到海外,如下

最后点击 创建推送 进行推送

注意:选择的推送环境需要和代码里设置的推送环境,安装的包的环境,这3处的环境必须要一致。

使用API接口进行推送

接口:http://abroad.api.push.mob.com/v3/push/createPush

具体的传参可以参考国内接口传参:参考这里

可以使用Postman测试,例如:

注: API接口里的 iosProduction 参数是设置推送环境参数,与客户端代码设置的推送环境以及安装的包的环境一致。另推送可以选择在开发者后台进行推送或者是调用API接口进行推送,任选其一即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1873125.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[漏洞复现] MetInfo5.0.4文件包含漏洞

[漏洞复现] MetInfo5.0.4文件包含漏洞 MetInfo5.0.4 漏洞代码审计 漏洞出现在about/index.php中&#xff0c;因为利用了动态地址&#xff0c;所以存在漏洞。 漏洞检查语句&#xff08;&#xff01;192.168.109.100是我的服务器ip&#xff0c;需要换成自己的&#xff09;&…

[BUUCTF从零单排] Web方向 02.Web入门篇之『常见的搜集』解题思路(dirsearch工具详解)

这是作者新开的一个专栏《BUUCTF从零单排》&#xff0c;旨在从零学习CTF知识&#xff0c;方便更多初学者了解各种类型的安全题目&#xff0c;后续分享一定程度会对不同类型的题目进行总结&#xff0c;并结合CTF书籍和真实案例实践&#xff0c;希望对您有所帮助。当然&#xff0…

jupyter安装及使用

引言 之前安装了anaconda&#xff0c;然后conda的环境管理里面就有jupyter&#xff0c;但是我一直没用过。 但是我用过colab&#xff0c;从使用体验上来说&#xff0c;非常相似&#xff0c;这次给服务器装了一个jupyter&#xff0c;然后我本地连接远程的来用&#xff0c;还挺…

一种502 bad gateway nginx/1.18.0的解决办法

背景:上线的服务突然挂掉了 step1&#xff0c;去后端日志查看&#xff0c;发现并无异常&#xff0c;就是请求无法被接收 step2&#xff0c;查看了nginx的错误日志&#xff0c;发现该文件为空 step3&#xff0c;查看了niginx的运行日志&#xff0c;发现了以下问题 [error] 38#…

C++ 106 之 list容器

#include <iostream> #include <string> using namespace std; // #include <vector> // 容器头文件 #include <algorithm> // 标准算法头文件 #include <list>void printList(const list<int> & list1){for(list<int>::const…

半小时速通Python爬虫!GitHub开源的Python爬虫入门教程

今天给小伙伴们带来了一篇详细介绍 Python 爬虫入门的教程&#xff0c;从实战出发&#xff0c;适合初学者。 小伙伴们只需在阅读过程紧跟文章思路&#xff0c;理清相应的实现代码&#xff0c;30 分钟即可学会编写简单的 Python 爬虫。 这篇 Python 爬虫教程主要讲解以下 5 部…

flutter开发实战-ListWheelScrollView与自定义TimePicker时间选择器

flutter开发实战-ListWheelScrollView与自定义TimePicker 最近在使用时间选择器的时候&#xff0c;需要自定义一个TimePicker效果&#xff0c;当然这里就使用了ListWheelScrollView。ListWheelScrollView与ListView类似&#xff0c;但ListWheelScrollView渲染效果类似滚筒效果…

招聘,短信与您:招聘人员完整指南

招聘人员面临的最大挑战之一就是沟通和联系候选人。为何?我们可以从以下原因开始&#xff1a;候选人通常被太多的招聘人员包围&#xff0c;试图联系他们&#xff0c;这使得你很难吸引他们的注意。在招聘过程的不同阶段&#xff0c;根据不同的工作量&#xff0c;让申请人保持最…

墨刀原型-单选按钮场景交互

画原型过程中&#xff0c;会遇到单选或多选的交互场景 这时就可以直接在基础组件部分&#xff0c;拉取单选按钮直接使用&#xff0c;只需要完成对应的交互事件就可实现交互 首先先说单选按钮实现交互 拉取一个单选组件&#xff0c;右侧可调整样式尺寸&#xff0c;在选项部分&…

OpenGL3.3_C++_Windows(23)

伽ga马校正 物理亮度 光子数量 线性空间&#xff1a;光子数(亮度&#xff09;和颜色值的线性关系人眼感知的亮度&#xff1a;对比较暗的颜色变化更敏感&#xff0c;感知亮度基于人的感觉非线性空间&#xff1a;光子数(亮度&#xff09;和 颜色值^2.2&#xff0c;恰好符合屏幕…

Navicat数据库软件免费了!推出Navicat Premium Lite

2024年6月26日&#xff0c;数据库管理工具领域的知名品牌Navicat&#xff0c;推出其免费版本——Navicat Premium Lite&#xff0c;用户可从Navicat官网下载体验这款软件。 这款针对入门级用户的数据库管理开发工具&#xff0c;支持基础的数据库管理和协同合作功能&#xff0c…

仓颉开发入门初体验

作者&#xff1a;黄林晴 顺便吆喝一声&#xff0c;如果你计算机、软件工程、电子等相关专业本科及以上学历&#xff0c;欢迎来共事。前端/后端/测试均可投&#xff0c;技术大厂。 前言 在刚刚召开的华为开发者大会&#xff08;HDC 2024&#xff09;上&#xff0c;华为内部研…

观测到“量子反常霍尔效应”,为何就被称为“离诺奖最近的物理学家”?

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 文丨浪味仙 排版丨沛贤 深度好文&#xff1a;2000字丨8分钟阅读 6 月 24 日&#xff0c;2023 年度国家最高科学技术奖在京揭晓&#xff0c;61岁的凝聚态物理领域科学家、清华大学薛其坤院士荣…

基于改进天鹰优化算法(IAO)优化BP神经网络数据分类预测(IAO-BP)

改进天鹰优化算法(IAO)见&#xff1a;【智能优化算法】改进的AO算法(IAO)-CSDN博客 BP神经网络的数据分类预测&#xff1a;基于BP神经网络的数据分类预测-CSDN博客 代码原理 基于改进天鹰优化算法&#xff08;IAO&#xff09;优化BP神经网络数据分类预测&#xff08;IAO-BP&…

win系统缺少vcruntime140.dll文件的解决办法,亲测实用的解决方法

运行软件的时候提示无法启动此程序&#xff0c;因为计算机中丢失 vcruntime140.dll 尝试重新安装该程序以解决此问题&#xff0c;其实主要因为vcruntime140.dll丢失&#xff0c;如果您启动程序并收到 Windows 无法找到 vcruntime140.dll DLL 或它丢失的错误&#xff0c;您可以使…

# Kafka_深入探秘者(10):kafka 监控

Kafka_深入探秘者&#xff08;10&#xff09;&#xff1a;kafka 监控 一、kafka JMX 1、JMX &#xff1a;全称 Java Managent Extension 在实现 Kafka 监控系统的过程中&#xff0c;首先我们要知道监控的数据从哪来&#xff0c;Kafka 自身提供的监控指标(包括 broker 和主题的…

如何进行员工 OKR 反馈?

目标和关键结果框架是一种协作性的目标设定方法&#xff0c;帮助团队设定理想的目标&#xff08;目标&#xff09;&#xff0c;并有具体的、可衡量的行动项目&#xff0c;称为关键结果。实施 OKR 为一个富有成效的、以目标为导向的环境奠定了基础&#xff0c;从而消除了提供反馈…

报名通道开启!2024国际燃气轮机运维大会将于10月登陆花城

驱动未来运维技术革新 共筑燃机生态新纪元 | 2024国际燃气轮机运维大会报名通道正式开启 随着全球燃气轮机装备技术不断升级与“双碳”战略的深入&#xff0c;全球燃气轮机市场规模也将进一步扩大&#xff0c;预计到2033年达到536.7亿美元左右&#xff0c;2023-2033年预测期间年…

关于FPGA对 DDR4 (MT40A256M16)的读写控制 4

关于FPGA对 DDR4 &#xff08;MT40A256M16&#xff09;的读写控制 4 语言 &#xff1a;Verilg HDL 、VHDL EDA工具&#xff1a;ISE、Vivado、Quartus II 关于FPGA对 DDR4 &#xff08;MT40A256M16&#xff09;的读写控制 4一、引言二、DDR4 SDRAM设备中模式寄存器重要的模式寄存…

普元MDM主数据管理系统与金蝶云星空ERP系统(企业版)集成方案(工程机械行业)

一、客户介绍 某工程机械行业龙头公司业务范围包括工程机械、矿山机械、农业机械、环卫机械、应急救援装备和商用汽车、现代服务业等&#xff0c;产品远销190多个国家和地区&#xff0c;覆盖“一带一路”沿线95%以上的国家和地区&#xff0c;年出口总额和海外收入持续居中国行…