EMAS 移动推送SDK如何处理隐私合规问题

本文涉及的产品
移动研发平台 EMAS,开发者版免费套餐
简介: 读取个人信息, 读取应用列表,自启动,应用上架被驳回。

移动推送SDK读取的个人信息以及用途:

移动推送

设备信息,包括操作系统、设备型号,IP ,运营商信息

用于识别推送设备,实现向单个设备推送功能


移动热修复SDK读取的App权限以及用途:

移动推送

ACCESS_NETWORK_STATE

获取网络连接状态

当推送异常时,用于判断网络状态。

以上是移动推送设计个人信息和权限的用途, 需要加到你的app隐私文档中,除此之外,你还需要在代码中如下操作:

移动推送SDK的关键方法 PushServiceFactory.init(applicationContext); 必须在Application的onCreate中执行,它不会获取用户信息。register() 需要在用户签署隐私政策之后调用:

public class MyApplication extends Application {

   @Override
   public void onCreate() {

       super.onCreate();
       PushServiceFactory.init(this);  // 正常初始化,这个方法无需延后也不要判断任何进程
       // 获取隐私政策签署状态 ,signedFlag 是你在签署隐私协议的时候保存的签署状态:同意 or 拒绝
       if (signedFlag) {

           CloudPushService.register(callback); //阿里注册
           HuaWeiRegister.register(this); // 厂商注册
       }

   }

}


// 在用户同意隐私协议之后这样写:
if (userClickedUserAgreement) {

   CloudPushService.register(callback); // 阿里注册
   HuaWeiRegister.register(getApplication()); // 厂商注册
}

以上代码片段可以通过大部分应用市场的隐私检查, 但是2022年8月后部分厂商加严了隐私检查,有可能会提示以下问题:


1,android.intent.action.BOOT_COMPLETED用于维持重启后推送通道的稳定性,个别厂商可能会不允许,解决方法:在清单文件中移除调用,移除后对推送功能影响不大,代码如下:

<receiver
   android:name="com.taobao.accs.EventReceiver"
   tools:node="merge"
   android:exported="true">
   <intent-filter tools:node="remove">
       <action android:name="android.intent.action.BOOT_COMPLETED" />
   </intent-filter>
</receiver>

2,部分检测机构认为 读取应用安装列表,原因是调用堆栈中有 queryIntentActivitiesAsUser  调用:

说明: 移动推送代码如下

public static boolean disableComponent(Context context, String componentName) {

   ComponentName comptName = new ComponentName(context, componentName);
   PackageManager pm = context.getPackageManager();
   try {

       ALog.d(TAG, "disableComponent,comptName=" + comptName.toString());
       int enabled = pm.getComponentEnabledSetting(comptName);
       if (enabled != PackageManager.COMPONENT_ENABLED_STATE_DISABLED) {

           pm.setComponentEnabledSetting(comptName,
                   PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                   PackageManager.DONT_KILL_APP);
           return true;
       }

   } catch (Throwable e) {

   }

   return false;
}

PackageManager 的 setComponentEnabledSetting 方法内部实现会去调用 queryIntentActivitiesAsUser,很多 Google 自己的 API 都会调用 queryIntentActivitiesAsUser;

但所有检测机构检测有没有获取安装列表就是坚持有没有代码调用 queryIntentActivitiesAsUser 方法,并不管是业务代码调的,还是 Google 自己 API 调的。

开发者被提示这个的话可以提供以上代码段去厂商申诉,阿里云移动推送SDK并未读取应用安装列表。

如果申诉失败,可以更改SDK初始化代码如下,即可规避:

public static void initOld(Application context) {

   boolean isFirstInstall = true;
   if (isFirstInstall) {

       // 此方法会调用 setComponentEnabledSetting 方法,setComponentEnabledSetting 内部会 触发 queryIntentActivitiesAsUser 调用
       // 所以不存在获取应用列表的行为
       // 但是这个配置,不必每次启动都调用,可以考虑仅在应用第一次启动时,调用,避免后续的频繁调用
       // 是否使用channel进程,这种初始化方式,默认是关,需要手动开启
       ACCSClient.enableChannelProcess(context, true);
   }

   // 这个有参初始化方法仅会在安装时调用一次,不会被应用市场驳回。

   PushServiceFactory.init(context, "appKey", "appSecret");
}

相关文章
|
7月前
|
开发工具 Android开发
应用研发平台EMAS的用户反馈SDK确实使用了WebView
应用研发平台EMAS的用户反馈SDK确实使用了WebView
84 6
|
安全 数据处理 开发工具
第三方SDK合规浅析
近日,工信部通报了22款APP、SDK存在侵害用户权益行为。通报超半数的原因违反了《个保法》最小化收集的原则,包括超范围收集个人信息,APP强制、频繁、过度索取权限。
218 1
|
6月前
|
开发工具 图形学
视觉智能开放平台操作报错合集之用sdk调用的时候报code: 400, AccessKeyId is mandatory for this action. 错误,该如何处理
在使用视觉智能开放平台时,可能会遇到各种错误和问题。虽然具体的错误代码和消息会因平台而异,但以下是一些常见错误类型及其可能的原因和解决策略的概述,包括但不限于:1. 认证错误、2. 请求参数错误、3. 资源超限、4. 图像质量问题、5. 服务不可用、6. 模型不支持的场景、7. 网络连接问题,这有助于快速定位和解决问题。
438 0
|
开发工具 数据安全/隐私保护
您需要检查并确保应用是否正确集成了EMAS的SDK
您需要检查并确保应用是否正确集成了EMAS的SDK
50 1
|
存储 小程序 安全
《五天玩转EMAS Serverless》——第二节 Serverless SDK集成与使用【上】
本文整理自EMAS Serverless讲师雨鸦,在《5天玩转EMAS Serverless训练营》的分享。本篇内容主要分为五个部分: 1.EMAS Serverless开发准备 2.Serverless SDK介绍 3.实战:Serverless SDK集成 4.实战:云资源调用 5.课程总结
138 0
|
存储 JSON 缓存
《五天玩转EMAS Serverless》——第二节 Serverless SDK集成与使用【中】
本文整理自EMAS Serverless讲师雨鸦,在《5天玩转EMAS Serverless训练营》的分享。本篇内容主要分为五个部分: 1.EMAS Serverless开发准备 2.Serverless SDK介绍 3.实战:Serverless SDK集成 4.实战:云资源调用 5.课程总结
170 0
|
存储 小程序 安全
《五天玩转EMAS Serverless》——第二节 Serverless SDK集成与使用【下】
本文整理自EMAS Serverless讲师雨鸦,在《5天玩转EMAS Serverless训练营》的分享。本篇内容主要分为五个部分: 1.EMAS Serverless开发准备 2.Serverless SDK介绍 3.实战:Serverless SDK集成 4.实战:云资源调用 5.课程总结
142 0
|
存储 域名解析 缓存
集成了阿里云的EMAS相关SDK怎么处理隐私问题?
EMAS中包含一系列SDK,开发者可能集成一个或者多个,有的SDK会涉及到隐私合规问题导致应用上架审核不通过, 以下一些方案可以参考
|
开发工具 Android开发 开发者
EMAS 移动热修复SDK如何处理隐私相关
个人信息读取,权限申请,应用上架被驳回
|
7月前
|
运维 监控 Android开发
应用研发平台EMAS产品常见问题之流水线符号表无法下载如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
应用研发平台EMAS产品常见问题之流水线符号表无法下载如何解决

热门文章

最新文章