隐私权限弹框的使用说明

监管部门要求在用户点击隐私协议弹框中 同意 按钮之前,App 不可以调用相关敏感 API。为应对此监管要求,mPaaS Android 10.1.68 基线的全部版本、10.1.60 基线的 10.1.60.5 及以上版本和 10.1.32 基线的 10.1.32.16 及以上版本对此要求进行了支持。如果您的工程接入了 框架 组件,请参考本文档对工程进行改造。

使用说明

您需要在应用中弹出隐私权限弹窗,并在用户点击同意之后调用框架的接口发送 同意 的广播,框架收到广播后会完成初始化,还会在 sharedpreference 中记录用户同意的行为,初始化完成时通过回调的方式通知您。您只有收到回调后,才能正常使用 mPaaS 各组件的能力。

操作步骤

重要

弹出隐私弹框的 Activity 不可以继承 mPaaS 的 BaseActivity,因为 BaseActivity 会进行埋点数据采集,会导致 App 在同意隐私政策之前采集隐私数据。

  1. meta-data 中配置隐私权限弹框的开关。该配置的默认状态是关闭。

        <meta-data
                 android:name="privacy_switcher"
                 android:value="true"></meta-data>
  2. 使用以下接口,发送 同意 的广播。

    说明

    只有在单击 同意 后才发送广播。

    QuinoxlessPrivacyUtil.sendPrivacyAgreedBroadcast(Context context);
  3. 用户是否已经同意隐私权限的使用。

    说明

    调用此 API 时,请先初始化 mPaaS 框架。

     QuinoxlessPrivacyUtil.isUserAgreed(Context context);
  4. 更新用户同意使用隐私权限的标记,可以方便您在特定的场景下再次弹窗。

    QuinoxlessPrivacyUtil.setUserAgreedState(Context context, **boolean **agreed);
  5. 框架初始化完成的回调。

    • 使用 QuinoxApplication:需要在 onMPaaSFrameworkInitFinished 之后使用 mPaaS 的能力。

      说明

      如果您需要使用热修复功能则必须使用 QuinoxApplication

    • 未使用 QuinoxApplication:需要在 IInitCallbackonPostInit 之后使用 mPaaS 的能力。

      QuinoxlessFramework.setup(this, new IInitCallback() 
      {
      @Override
        public void onPostInit() 
      {
      
      }
      });
  6. 如果您使用的是 10.1.68.42 及以上版本基线且需要清除隐私状态,请在以上所有调用之前调用 QuinoxlessPrivacyUtil.clearPrivacyState(context);