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");
}

目录
打赏
0
0
0
0
1
分享
相关文章
应用研发平台EMAS的用户反馈SDK确实使用了WebView
应用研发平台EMAS的用户反馈SDK确实使用了WebView
97 6
视觉智能开放平台操作报错合集之用sdk调用的时候报code: 400, AccessKeyId is mandatory for this action. 错误,该如何处理
在使用视觉智能开放平台时,可能会遇到各种错误和问题。虽然具体的错误代码和消息会因平台而异,但以下是一些常见错误类型及其可能的原因和解决策略的概述,包括但不限于:1. 认证错误、2. 请求参数错误、3. 资源超限、4. 图像质量问题、5. 服务不可用、6. 模型不支持的场景、7. 网络连接问题,这有助于快速定位和解决问题。
577 0
《五天玩转EMAS Serverless》——第二节 Serverless SDK集成与使用【上】
本文整理自EMAS Serverless讲师雨鸦,在《5天玩转EMAS Serverless训练营》的分享。本篇内容主要分为五个部分: 1.EMAS Serverless开发准备 2.Serverless SDK介绍 3.实战:Serverless SDK集成 4.实战:云资源调用 5.课程总结
166 0
《五天玩转EMAS Serverless》——第二节 Serverless SDK集成与使用【中】
本文整理自EMAS Serverless讲师雨鸦,在《5天玩转EMAS Serverless训练营》的分享。本篇内容主要分为五个部分: 1.EMAS Serverless开发准备 2.Serverless SDK介绍 3.实战:Serverless SDK集成 4.实战:云资源调用 5.课程总结
192 0
《五天玩转EMAS Serverless》——第二节 Serverless SDK集成与使用【下】
本文整理自EMAS Serverless讲师雨鸦,在《5天玩转EMAS Serverless训练营》的分享。本篇内容主要分为五个部分: 1.EMAS Serverless开发准备 2.Serverless SDK介绍 3.实战:Serverless SDK集成 4.实战:云资源调用 5.课程总结
157 0
应用研发平台EMAS产品常见问题之接入httpdns后 访问重定向的url访问有问题如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
应用研发平台EMAS产品常见问题之流水线符号表无法下载如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
应用研发平台EMAS产品常见问题之流水线符号表无法下载如何解决
应用研发平台EMAS产品常见问题之热更新和云发布不能共存如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
应用研发平台EMAS产品常见问题之私有云部署失败如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。

热门文章

最新文章

  • 1
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    10
  • 2
    【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
    16
  • 3
    CompreFace:Star6.1k,Github上火爆的轻量化且强大的人脸识别库,api,sdk都支持
    14
  • 4
    【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
    15
  • 5
    【Azure Developer】编写Python SDK代码实现从China Azure中VM Disk中创建磁盘快照Snapshot
    7
  • 6
    EMAS 性能分析全面适配HarmonyOS NEXT,开启原生应用性能优化新纪元
    10
  • 7
    【Azure Storage Account】利用App Service作为反向代理, 并使用.NET Storage Account SDK实现上传/下载操作
    6
  • 8
    短视频SDK,直播SDK,美颜SDK_提供开放API接口
    6
  • 9
    ti processor sdk linux am335x evm /bin/setup-minicom.sh hacking
    3
  • 10
    常用的工业相机及SDK
    3
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等