隐私控制

隐私控制

此章节将演示如何在初始化时配置用户的隐私信息控制

提示

如无特殊需求,可以直接跳转到【常见问题

个性化推荐与程序化推荐

说明

为遵循《个人信息保护法》相关法规,ZJSDK 将为开发者提供个性化广告关闭能力接口,开发者可以调用接口,为用户提供个性化广告关闭能力。开发者应遵循法律法规要求,在客户端为用户创建可便捷查找的个性化广告关闭按钮,并保证用户点击关闭按钮后调用 ZJSDK 关闭能力接口,保证个性化广告关闭功能真实有效。

个性化推荐

应用需要自行记录个性化推荐的开关状态,在状态发生变化时调用ZJAndroid.setPersonalizedState(bool)方法配置,下次启动后生效。调用时请确保 SDK 已初始化完成

方法参数
ZJAndroid#setPersonalizedState(bool state)state: 是否开启推荐

程序化推荐

应用需要自行记录程序化推荐的开关状态,在状态发生变化时调用ZJAndroid.setProgrammaticRecommend(bool)方法配置,下次启动后生效。调用时请确保 SDK 已初始化完成

方法参数
ZJAndroid#setProgrammaticRecommend(bool state)state: 是否开启推荐

隐私信息控制

说明

ZJSDK 已支持工信部隐私敏感权限要求。SDK 不会强制获取任何敏感权限,以下系统权限及用户授权均为可选配置,不获取不影响 SDK 功能。

配置方法

开发者需要在调用 initWithoutStart() 初始化时传入customController属性来配置隐私权限开关

/// 隐私权限控制
class ZJCustomController {
  static const List<String> defaultInstalledPackages = [];

  /// 主动获取定位
  final bool canReadLocation;

  /// 经度
  final double longitude;

  /// 纬度
  final double latitude;

  /// 主动获取设备信息
  final bool canUsePhoneState;

  /// IMEI
  final String imei;

  /// 主动获取AndroidID
  final bool canUseAndroidId;

  /// AndroidID
  final String androidId;

  /// 主动获取MAC地址
  final bool canUseMacAddress;

  /// MAC地址
  final String macAddress;

  /// 主动获取OAID
  final bool canUseOaid;

  /// OAID/GAID
  final String oaid;

  /// 获取网络状态
  final bool canUseNetworkState;

  /// 使用存储
  final bool canUseStoragePermission;

  /// 主动读取已安装应用列表
  final bool canReadInstalledPackages;

  /// 已安装应用列表
  final List<String> installedPackages;
  
  /// 是否允许SDK在申明和授权了的情况下使用录音权限
  bool canRecordAudio;

  /// 是否允许SDK主动获取BootID
  bool canReadBootId;
  
  ZJCustomController({this.canReadLocation = true,
    this.longitude = 0.0000,
    this.latitude = 0.0000,
    this.canUsePhoneState = true,
    this.imei = "",
    this.canUseAndroidId = true,
    this.androidId = "",
    this.canUseMacAddress = true,
    this.macAddress = "",
    this.canUseOaid = true,
    this.oaid = "",
    this.canUseNetworkState = true,
    this.canUseStoragePermission = true,
    this.canReadInstalledPackages = true,
    this.installedPackages = defaultInstalledPackages,
    this.canRecordAudio = true,
    this.canReadBootId = true});
}