MobPush iOS端 扩展业务功能设置

1、扩展业务说明
MobPush提供的扩展业务功能为:
(1)按照地域提供更为精准的推送;
(2)实现网络链路的选择与优化、检测并实现与特定区域相关的服务;
(3)生成用户画像;
(4)合并链路服务。
其中iOS端支持第(1)和(2)点。MobPush为开发者提供退出上述功能的接口,开发者可以调用接口,向最终用户提供退出的能力。最终用户退出上述功能后,MobPush依然可以为您终端用户提供基础的消息推送服务。开发者需遵守相关法律法规的要求,在App内为最终用户提供退出上述扩展业务的功能,并保证在最终用户点击退出功能后能正常调用MobPush的能力接口。
2、配置方法
应用若需要控制MobPush扩展业务功能进行配置,只需要自定义类 MobCustomController 准守协议 MOBFoundationPrivacyDelegate对这些功能所依赖之数据项进行配置即可。操作方法如下:
2-1、按照地域提供更为精准的推送
此功能依赖数据项包括:地理位置信息。自定义类 MobCustomController 中与之对应的开关和数据回传方法列表如下:

/**用于判断是否允许SDK主动采集经纬度信息,用于给终端用户推送消息,将终端用户的行为分成不同群体以便精准推送,并形成“推送报表”与“统计报表”呈现@return YES表示可以主动采集经纬度信息,NO表示不可以,默认为YES*/
- (BOOL)isLocInfoEnable;/**APP提供经纬度信息当SDK被拒绝主动采集经纬度信息后(isLocInfoEnable返回NO),会通过此方法向App请求经纬度信息@return 经纬度信息,如果返回 nil 则表示不提供地理位置信息,默认为nil*/- (CLLocation* _Nullable)getLoc;
  • 当上述数据开关接口返回 YES时,MobPush被允许自行获取相应数据;
  • 当上述开关接口返回 NO时,MobPush被禁止自行获取相应数据,仅允许向 App请求相应数据。此时 App可选择是否回传相应数据。

2-2、实现网络链路的选择与优化、检测并实现与特定区域相关的服务
此功能依赖数据项包括:网络状态信息。自定义类 MobCustomController 中与之对应的开关和数据回传方法列表如下:

/**用于判断是否允许SDK主动采集wifi信息,用于实现网络链路的选择与优化,确保稳定地提供MobPush产品和/或服务,以及为了检测并实现与特定区域相关的服务@return YES表示可以主动采集wifi信息,NO表示不可以,默认为YES*/
- (BOOL)isWiFiInfoEnable;/**用于判断是否允许SDK主动采集ip信息,用于实现网络链路的选择与优化,确保稳定地提供MobPush产品和/或服务,以及为了检测并实现与特定区域相关的服务@return YES表示SDK可以主动采集ip信息,NO表示不可以,默认为YES*/
- (BOOL)isIpEnable;/**APP提供wifi地址信息当SDK被拒绝主动采集wifi地址信息后(isWiFiInfoEnable返回NO),会通过此方法向App请求wifi地址信息@return wifi名称信息,如果返回 nil 则表示不提供wifi地址信息,默认为nil*/
- (NSString* _Nullable)getBSSID;/**APP提供wifi名称信息当SDK被拒绝主动采集wifi名称信息后(isWiFiInfoEnable返回NO),会通过此方法向App请求wifi名称信息@return wifi名称信息,如果返回 nil 则表示不提供wifi名称信息,默认为nil*/
- (NSString* _Nullable)getSSID;/**APP提供 蜂窝 ipv4 信息当SDK被拒绝主动采集 蜂窝 ipv4 信息后(isIpEnable返回NO),会通过此方法向App请求 蜂窝 ipv4 信息@return 蜂窝 ipv4信息,如果返回nil则表示不提供蜂窝ipv4信息,默认为nil*/
- (NSString* _Nullable)getCellIpv4;/**APP提供 蜂窝ipv6 信息当SDK被拒绝主动采集 蜂窝ipv6 信息后(isIpEnable返回NO),会通过此方法向App请求蜂窝ipv6信息@return 蜂窝ipv6信息,如果返回nil则表示不提供蜂窝ipv6信息,默认为nil*/
- (NSString* _Nullable)getCellIpv6;/**APP提供 wifi ipv4 信息当SDK被拒绝主动采集 wifi ipv4 信息后(isIpEnable返回NO),会通过此方法向App请求蜂窝wifi ipv4信息@return wifi ipv4 信息,如果返回nil则表示不提供 wifi ipv4 信息,默认为nil*/
- (NSString* _Nullable)getWifiIpv4;/**APP提供 wifi ipv6 信息当SDK被拒绝主动采集 wifi ipv6 信息后(isIpEnable返回NO),会通过此方法向App请求蜂窝wifi ipv6信息@return wifi ipv6 信息,如果返回nil则表示不提供 wifi ipv6 信息,默认为nil*/- (NSString* _Nullable)getWifiIpv6;
  • 当上述数据开关接口返回 YES时,MobPush被允许自行获取相应数据;
  • 当上述开关接口返回 NO时,MobPush被禁止自行获取相应数据,仅允许向 App请求相应数据。此时 App可选择是否回传相应数据。

2-3、其它配置
其它 App数据采集主动控制器的配置方法,可参考:https://www.mob.com/wiki/detailed?wiki=675&id=714
3、接入方法
3-1、声明一个类,遵守协议 MOBFoundationPrivacyDelegate
示例代码:

#import <MOBFoundation/MOBFoundation.h>/**自定义数据配置控制类,准守协议MOBFoundationPrivacyDelegate*/
@interface MobCustomController : NSObject <MOBFoundationPrivacyDelegate>@end@implementation MobCustomController- (BOOL)isWiFiInfoEnable
{return YES;
}- (NSString *)getSSID
{return nil;
}- (NSString *)getBSSID
{return nil;
}- (BOOL)isIdfvEnable
{return YES;
}- (NSString* _Nullable)getIdfv
{return nil;
}- (BOOL)isIdfaEnable
{return YES;
}- (NSString* _Nullable)getIdfa
{return nil;
}- (BOOL)isLocInfoEnable
{return YES;
}- (CLLocation *)getLoc
{return nil;
}- (BOOL)isIpEnable
{return YES;
}@end

3-2、通过隐私提交接口设置 自定义类 MobCustomController 实例

#import <MOBFoundation/MOBFoundation.h>MobCustomController *privacyDataServie = [MobCustomController new];
[MobSDK uploadPrivacyPermissionStatus:YES privacyDataDelegate:privacyDataServie onResult:^(BOOL success) {}];

注意:通过隐私提交接口设置 MobCustomController 实例时,必须每次启动 APP 时,均调用该接口进行设置。若您的 APP 并非每次启动都会调用隐私提交接口,也可以通过[MobSDKsetPrivacyDataDelegate:privacyDataServie]; 接口进行设置。
3-3、(可选)通过 setPrivacyDataDelegate: 接口设置 MobCustomController 实例

#import <MOBFoundation/MOBFoundation.h>TestPrivacyDataService *privacyDataServie = [TestPrivacyDataService new];
[MobSDK setPrivacyDataDelegate:privacyDataServie];

setPrivacyDataDelegate:接口调用时机说明:

  • 建议在应用启动时尽快调用该接口,比如

application:didFinishLaunchingWithOptions: 中

  • 该接口必须每次启动都调用

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

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

相关文章

三万字带你一遍跑通uer

三万字带你一遍跑通uer 参考文档 今天给大家介绍个非常强大的项目uer&#xff0c;集成了许多可以做自然语言的东西&#xff0c;效果的话也非常好&#xff0c;很适合企业级的应用&#xff01; 1. 先将项目uer从github拉取下来&#xff08;zip或git都ok&#xff09; 2. 用pycha…

HTTP代理服务器:深度解析与应用

“随着互联网的飞速发展&#xff0c;HTTP代理服务器在网络通信中扮演着越来越重要的角色。它们作为客户端和服务器之间的中介&#xff0c;不仅优化了网络性能&#xff0c;还提供了强大的安全性和隐私保护功能。” 一、HTTP代理服务器的概念与作用 HTTP代理服务器是一种能够接…

价值499的从Emlog主题模板PandaPRO移植到wordpress的主题

Panda PRO 主题&#xff0c;一款精致wordpress博客主题&#xff0c;令人惊叹的昼夜双版设计&#xff0c;精心打磨的一处处细节&#xff0c;一切从心出发&#xff0c;从零开始&#xff0c;只为让您的站点拥有速度与优雅兼具的极致体验。 从Emlog主题模板PandaPRO移植到wordpres…

兴业小课堂|什么是法拍房助拍机构?如何挑选靠谱的助拍机构?

随着法拍房市场的不断发展和扩大 使法拍房数量的增加 其交易的复杂性和专业性需求也日益凸显 这促使了专门机构的出现来满足市场需求 法拍房助拍机构存在的原因主要有以下几点&#xff1a; 1.专业知识和经验&#xff1a; 法拍房的交易流程相对复杂&#xff0c;涉及到法律法…

【全网最全ABC三题完整版】2024年APMCM第十四届亚太地区大学生数学建模竞赛(中文赛项)完整思路解析+代码+论文

我是Tina表姐&#xff0c;毕业于中国人民大学&#xff0c;对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在&#xff0c;我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

全面探索C语言内存模型:从底层原理到高效实践

引言 在计算机科学领域&#xff0c;C语言以其贴近硬件的特性著称&#xff0c;程序员可以直接操作内存地址和管理内存空间。内存模型是理解程序运行机制的关键&#xff0c;它决定了变量存储的位置、生命周期以及数据访问效率。本文将深入剖析C语言中的内存布局、内存分配策略以…

第六节:如何解决@ComponentScan只能扫描当前包及子包(自学Spring boot 3.x的第一天)

大家好&#xff0c;我是网创有方&#xff0c;继上节咱们使用了Component和ComponentScan的方法实现了获取IOC容器中的Bean&#xff0c;但是存在一个问题&#xff0c;就是必须把AppConfig和要扫描的bean类放在同一个目录下&#xff0c;这样就导致了AppConfig类和bean类在同一个目…

FANG:利用社交网络图进行虚假新闻检测

1.概述 社交媒体已逐渐演变成为公众获取信息的主要途径。然而,值得警惕的是,并非所有流通的信息都具备真实性。特别是在政治选举、疫情爆发等关键节点,带有恶意企图的虚假信息(即“假新闻”)可能会对社会秩序、公平性和理性思考造成严重的干扰。作为全球抗击COVID-19的一部…

webpack 之 splitChunks分包策略

webpack 之 splitChunks分包策略 一、为什么需要拆包二、拆包方式三、splitChunks介绍四、splitChunks 拆包策略五、总结 一、为什么需要拆包 随着应用程序规模的增长&#xff0c;JavaScript 文件的大小也越来越大。一个大的 JavaScript 文件会导致页面加载时间过长&#xff0…

6.8应用进程跨网络通信

《计算机网络》第7版&#xff0c;谢希仁 理解socket通信

成都仅需浏览器即可快速查看的数据采集监控平台!

LP-SCADA数据采集监控平台无需额外客户端&#xff0c;只需要一个标准的Web浏览器&#xff0c;用户可以迅速访问系统并开始使用&#xff0c;同时支持跨平台访问。一个用户可监控多个过程&#xff0c;多个用户可以监控同一过程&#xff0c;真正实现了数据的开放性及过程信号的透明…

基于单片机的多功能计算器的设计与实现电气工程自动化

摘要&#xff1a; 伴随着科技水平的提高&#xff0c;信息化以及自动化技术也被广泛地运用到了国内的各个行业当中&#xff0c;并且取得了良好的成效。 在新时期的大环境下&#xff0c;人们对于电子产中的需求量越来越大&#xff0c;对于各类电子产品的要求也变得日益严格&#…

CVPR2024自动驾驶轨迹预测方向的论文整理

2024年自动驾驶轨迹预测方向的论文汇总 1、Producing and Leveraging Online Map Uncertainty in Trajectory Prediction 论文地址&#xff1a;https://arxiv.org/pdf/2403.16439 提出针对在线地图不确定性带给轨迹预测的影响对应的解决方案。 在轨迹预测中&#xff0c;利用在…

【产品与技术双视角】初创团队利用小程序云基础设施“低成本试错”

文章目录 前言一、产品视角之三大困难二、技术视角之难以抉择三、利用小程序云基础设施“低成本试错” 前言 学生团队和初创团队在没有得到风投之前&#xff0c;想要做出一款产品太难了&#xff0c;难在哪呢&#xff1f;难在没有资源。用最狭隘的视角看这个资源&#xff1a;人…

SSM中小学生信息管理系统-计算机毕业设计源码02677

摘要 随着社会的发展和教育的进步&#xff0c;中小学生信息管理系统成为学校管理的重要工具。本论文旨在基于SSM框架&#xff0c;采用Java编程语言和MySQL数据库&#xff0c;设计和开发一套高效、可靠的中小学生信息管理系统。中小学生信息管理系统以学生为中心&#xff0c;通过…

hitcontraining_uaf

BUUCTF[PWN][堆] 题目&#xff1a;BUUCTF在线评测 (buuoj.cn) 程序del是没有将申请的指针清零&#xff0c;导致可以再次调用输出print。 查看add_note函数&#xff1a;根据当前 notelist 是否为空&#xff0c;来申请了一个8字节的空间将地址(指针)放在notelist[i]中&#xff…

野指针的概念 如果规避野指针

目录 野指针的概念 有关野指针的代码 如何规避野指针 野指针的概念 野指针就是指针指向的位置是不可知的&#xff08;随机的&#xff0c;不正确的&#xff0c;没有明确限制的&#xff09; 有关野指针的代码 指针未初始化&#xff1a; #include<stdio.h> int main…

Linux 永久挂载磁盘

文章目录 前言一、使用步骤1.命令 总结 前言 一、使用步骤 1.命令 第一步&#xff1a;创建挂载点 sudo mkdir /hhkj 第二步&#xff1a;磁盘挂载到挂载点&#xff08;lsblk、lvdisplay&#xff09; sudo mount /dev/sdb2 /hhkj 或者 sudo mount /dev/centos/home /hhkj 第三…

高阶面试-hbase的整理

背景 冷热分离需要用到hbase&#xff0c;冷数据较多&#xff0c;需求&#xff1a; 存放上亿数据支持简单的组合关键字查询存放数据不需要变更 基本存储数据结构 HBase可以被看作是一个稀疏的多维度Map&#xff08;映射&#xff09;&#xff0c;稀疏的、分布式、多维的Map&a…

使用 mongo2neo4j 和 SemSpect 通过各种方式进行图探索

用于可视化和探索每个 MEAN 堆栈背后的数据图的 ETL 您是否正在努力回答有关 MEANS Web 服务数据的紧急问题&#xff1f;哪里有 BI 可以快速回答“上个季度哪些亚洲的artisan.plus 用户触发了订单&#xff1f;”这个问题&#xff0c;而无需编写查询&#xff1f;使用 mongo2neo4…