一、最新SDK版本说明
请务必确保您已经将设备指纹SDK升级至满足监管新规的最新版本。具体版本请联系邦盛相关工作人员进行咨询与下载。
二、SDK扩展业务功能的配置说明
接入说明:邦盛设备指纹SDK包括基本业务功能和扩展业务功能。
基本功能:为开发者赋予生成设备指纹(设备指纹Pro)的能力,实现为您的终端用户的设备生成跨渠道、跨平台的设备指纹。
扩展功能:为了提升开发者的服务体验,充分利用设备数据,我们提供了终端设备的风险检测能力,助力于客户的风控反欺诈业务。该功能是通过单独接口提供能力和基本功能调用不是同一接口。
产品功能类型 | 产品功能名称 | 功能介绍 | 包含子项 | 用途和目的 | 配置方式 |
基本功能 | 设备指纹Pro | 为开发者赋予生成设备指纹(设备指纹Pro)的能力,实现为您的终端用户的设备生成跨渠道、跨平台的设备指纹 | 设备标识:IMEI、IMSI、Android ID 、IDFV、IDFA、UDID、OAID、ODID、MAC地址、蓝牙(含蓝牙和设备名称) | 用于生成设备指纹,为设备赋予唯一ID | 基本功能,可选个人信息配置详见 “最小化使用功能要求” |
设备基础信息:型号、电池信息、屏幕亮度、屏幕分辨率、品牌、基带固件版本、设备类型、设备标签、制造商、版本号、存储、内存(总内存和可用内存) | 用于生成设备指纹,为设备赋予唯一ID | ||||
系统基础信息:系统版本、语言、时区、开机时间、构建版本号、系统ID | 用于生成设备指纹,为设备赋予唯一ID | ||||
网络基础信息:本地IP、设备联网方式和状态信息、网络类型、WiFi信息(SSID哈希值、BSSID、WiFi列表哈希值)、使用VPN状态、使用代理状态、CCID | 判断联网状态,获取运营商匿名数据后为设备生成跨渠道设备指纹。 | ||||
定位信息:经纬度、基站信息(基础信息及详细信息) | 用于生成设备指纹,为设备赋予唯一ID | ||||
运营商信息:SIM卡信息(SIM卡数量)、网络运营商名称 | 用于生成设备指纹,为设备赋予唯一ID | ||||
应用信息:集成指纹的APP的包名、版本号、应用签名 | 用于生成设备指纹,为设备赋予唯一ID | ||||
拓展功能 | 终端风险检测 | 为了提升开发者的服务体验,充分利用设备数据,我们提供了终端设备的风险检测能力,助力于客户的风控反欺诈业务。 | 定位信息:经纬度、基站信息(基础信息及详细信息) | 用于风险检测与判断,识别设备侧风险,助力风控反欺诈。 | Harmony经纬度: 基站信息: Android 经纬度:FeatureDict.getValueByName("coordinates"); FeatureDict.getValueByName("baseStation"); FeatureDict.getValueByName("nearbyBaseStation");
iOS 经纬度: [[BSDeviceFingerprint sharedInstance] getCollectionMap:@"coordinates"] 基站信息:不涉及 |
运营商信息:SIM卡信息(SIM卡数量)、网络运营商名称 | 用于风险检测与判断,识别设备侧风险,助力风控反欺诈。 | Harmony await frms.getElements().get("simCount")?.fun(); 网络运营商名称: await frms.getElements().get("carrier")?.fun(); Android FeatureDict.getValueByName("simCount"); 网络运营商名称: FeatureDict.getValueByName("carrier"); iOS [[BSDeviceFingerprint sharedInstance] getCollectionMap:@"simCount"]; 网络运营商名称: [[BSDeviceFingerprint sharedInstance] getCollectionMap:@"carrier"]; | |||
应用信息:集成指纹的APP的包名、版本号、应用签名 | 用于版本追踪,排查问题 | Harmony await frms.getElements().get("packageName")?.fun(); 版本号: await frms.getElements().get("systemVersion")?.fun(); 应用签名: 不涉及 Android FeatureDict.getValueByName("packageName"); 版本号: FeatureDict.getValueByName("systemVersion"); 应用签名: FeatureDict.getValueByName("signId"); iOS [[BSDeviceFingerprint sharedInstance] getCollectionMap:@"packageName"]; 版本号: [[BSDeviceFingerprint sharedInstance] getCollectionMap:@"systemVersion"]; 应用签名: 不涉及 | |||
系统文件信息:获取当前应用运行中的包名、关键文件等从而引申出的风险标签,如是否root、是否Xposed,是否虚拟机等 | 用于风险检测与判断,识别设备侧风险,助力风控反欺诈。 | Harmony 不涉及 是否Xposed: 不涉及 是否虚拟机: await frms.getElements().get("isVM")?.fun(); Android 不涉及 是否Xposed: FeatureDict.getValueByName("isXposed"); 是否虚拟机: FeatureDict.getValueByName("isVM"); iOS [[BSDeviceFingerprint sharedInstance] getCollectionMap:@"isRooted"]; 是否Xposed:不涉及 是否虚拟机: [[BSDeviceFingerprint sharedInstance] getCollectionMap:@"isVM"]; | |||
系统进程信息:获取当前应用运行中的进程名称、进程 ID ,如传感器列表、光传感器等,用于风险标签的检测 | 用于风险检测与判断,识别设备侧风险,助力风控反欺诈。 | Harmony 不涉及 Android 系统进程信息: iOS |
三、权限调用合规要求
接入说明:关于调用时机,SDK不会自启动,需要App端来调用后才能使SDK发起采集请求。请务必在⽤户同意您 APP中的隐私政策后,再进⾏设备指纹Pro SDK的业务功能调用。在⽤户同意隐私政策之前,避免动态申请涉及⽤户个⼈信息的敏感设备权限;⽤户同意隐私政策前,您应避免私⾃采集和上报个⼈信息。对于邦盛设备指纹Pro SDK可选申请的系统权限,您可以参考相关如下表格的内容,详细了解相关权限与各业务功能的关系及其权限申请时机,因相关权限的不申请将会对其对应的功能造成影响,您可以结合业务实际需要进⾏合理配置。
Harmony
必选权限
权限名称 | 权限说明 | 使用目的 | 权限申请时机 |
ohos.permission.INTERNET | 允许使用Internet网络 | 在使用获取指纹功能时,用于访问网络数据 | 启用业务功能读取 |
ohos.permission.GET_WIFI_INFO | 允许获取WiFi信息 | 获取WiFi相关信息,用于匹配设备指纹 | 启用业务功能读取 |
ohos.permission.GET_NETWORK_INFO | 允许获取网络信息 | 获取网络相关信息,用于匹配设备指纹 | 启用业务功能读取 |
可选权限
权限名称 | 权限说明 | 使用目的 | 权限申请时机 |
ohos.permission.APP_TRACKING_CONSENT | 允许获取广告ID | 获取广告ID,用于匹配设备指纹 | 启用业务功能读取 |
ohos.permission.APPROXIMATELY_LOCATION | 允许获取定位信息 | 获取经纬度,用于风险检测 | 启用业务功能读取 |
ohos.permission.ACCESS_BLUETOOTH | 允许获取蓝牙信息 | 获取设备名称,用于匹配设备指纹 | 启用业务功能读取 |
Android
必选权限
权限名称 | 权限说明 | 使用目的 | 权限申请时机 |
android.permission.INTERNET | 允许使用Internet网络 | 在使用获取指纹功能时,用于访问网络数据 | 启用业务功能读取 |
android.permission.ACCESS_WIFI_STATE android.permission.CHANGE_WIFI_STATE | 允许获取/修改WiFi信息 | 获取WiFi相关信息,用于匹配设备指纹 | 启用业务功能读取 |
android.permission.CHANGE_NETWORK_STATE | 允许获取/修改网络信息 | 获取网络相关信息,用于匹配设备指纹 | 启用业务功能读取 |
可选权限
权限名称 | 权限说明 | 使用目的 | 权限申请时机 |
android.permission.READ_PHONE_STATE | 读取手机状态信息 | 获取IMEI/IMSI,用于匹配设备指纹 | 启用业务功能读取 |
android.permission.ACCESS_COARSE_LOCATION android.permission.ACCESS_FINE_LOCATION | 允许获取定位信息 | 获取经纬度,用于风险检测 | 启用业务功能读取 |
android.permission.BLUETOOTH android.permission.BLUETOOTH_CONNECT | 允许获取蓝牙信息 | 获取设备名称,用于匹配设备指纹 | 启用业务功能读取 |
android.permission.DETECT_SCREEN_RECORDING | 允许获取屏幕录制通知 | 获取屏幕录制通知,用于风险检测 | 启用业务功能读取 |
iOS
可选权限
权限名称 | 权限说明 | 使用目的 | 权限申请时机 |
Privacy - Tracking Usage Description | 启用App跟踪 | 获取IDFA,用于匹配设备指纹 | 启用业务功能读取 |
Privacy - Location Usage Description | 启用定位权限 | 获取经纬度,用于风险检测 | 启用业务功能读取 |
四、延迟初始化要求
邦盛设备指纹SDK在后续APP启动时,设备指纹SDK提供接口进行初始化,在终端用户同意您APP中的隐私政策后,您可以调用该接口进行初始化。
五、最小化使用功能要求
我们的SDK针对可选的个人信息的处理提供了可配置采集功能,您可以基于业务诉求和隐私合规选择开启或关闭相关个人信息的采集。如何开启和关闭某些个人信息的采集:
前端在调用基础功能-设备指纹Pro前可通过下方配置示例进行关闭某些个人信息的采集,后端可以通过动态要素的配置下发关闭某些个人信息的采集,当您开启该功能后我们还会收集和使用您未配置的其他个人信息,用于指纹的生成和匹配。
扩展功能-终端风险检测不需要通过该配置,可根据功能要求不调用对应方法即可,如定位信息获取方式为如下,只要不调用该方法就不采集该信息。
await frms.getElements().get("coordinates")?.fun();
Harmony
可选信息 | 个人信息采集目的 | 配置示例 |
设备标识:OAID、ODID、蓝牙(设备名称) | 用于辅助设备指纹的生成 | frms.setIgnoreCollectType("OAID","ODID","deviceName") |
设备基础信息:电池信息、屏幕分辨率 | 用于辅助设备指纹的生成 | frms.setIgnoreCollectType("batteryLevel","batteryStatus","batteryHealth","batteryTemperature","resolution") |
网络基础信息:本地IP、网络类型、WiFi信息(SSID哈希值、BSSID、WiFi列表哈希值)、使用VPN状态、使用代理状态、CCID | 用于辅助设备指纹的生成 | frms.setIgnoreCollectType("wifiListHash","currentWiFi","localCode","networkType","isVPN","isProxy","CCID") |
运营商信息:SIM卡信息(SIM卡数量)、网络运营商名称 | 用于辅助设备指纹的生成和风险检测 | frms.setIgnoreCollectType("carrier","simCount","hasSimCard") |
定位信息:经纬度 | 用于辅助设备指纹的生成和风险检测 | frms.setIgnoreCollectType("coordinates") |
Android
可选信息 | 个人信息采集目的 | 配置示例 |
设备标识:IMEI、IMSI、设备名称 | 用于辅助设备指纹的生成 | setIgnoreCollectType(IgnoreCollectType.IMEI |IgnoreCollectType.IMEIS |IgnoreCollectType.IMSI |IgnoreCollectType.DEVICE_NAME) |
设备基础信息:存储、电池信息、屏幕亮度、屏幕分辨率、内存(总内存和可用内存) | 用于辅助设备指纹的生成 | setIgnoreCollectType(IgnoreCollectType.BATTERY |IgnoreCollectType.STORAGE|IgnoreCollectType.STORAGE_SIZE|IgnoreCollectType.RESOLUTION|IgnoreCollectType.BRIGHTNESS) |
网络基础信息:本地IP、网络类型、WiFi信息(SSID哈希值、BSSID、WiFi列表哈希值)、使用VPN状态、使用代理状态 | 用于辅助设备指纹的生成 | setIgnoreCollectType(IgnoreCollectType.CURRENT_WIFI |IgnoreCollectType.WIFI_LIST_HASH|IgnoreCollectType.NETWORK_TYPE|IgnoreCollectType.IS_VPN|IgnoreCollectType.IS_PROXY) |
运营商信息:SIM卡信息(SIM卡数量)、网络运营商名称 | 用于辅助设备指纹的生成和风险检测 | setIgnoreCollectType(IgnoreCollectType.CARRIER |IgnoreCollectType.SIM_COUNT) |
定位信息:经纬度经纬度、基站信息 | 用于辅助设备指纹的生成和风险检测 | setIgnoreCollectType(IgnoreCollectType.COORDINATES |IgnoreCollectType.STATION) |
iOS
可选信息 | 个人信息采集目的 | 配置示例 |
定位信息 | 用于辅助设备指纹的生成和风险检测 | [[BSDeviceFingerprint sharedInstance] setCustomType:BSCustomCollectTypeNormal]; |
六、隐私政策披露要求与示例说明
在您接入、使用邦盛设备指纹SDK服务前,我们要求您在隐私政策中向用户告知我们SDK的名称、SDK提供方名称、收集个人信息类型、使用目的、隐私政策链接,并获取用户的同意或取得其他合法性基础,在提供指纹服务时,涉及处理敏感个人信息/向中华人民共和国境外提供个人信息,建议您单独弹框获取用户的单独同意。您可以参考如下方式提供条款内容:
SDK名称:设备指纹SDK
第三方名称:浙江邦盛科技股份有限公司
SDK用途:实现服务体验优化和账号安全保障
收集个人信息:该SDK需要获取您的设备终端唯一标示符(IMEI、IMSI、Android ID 、IDFV、IDFA、UDID、OAID、ODID、MAC地址、蓝牙(含蓝牙地址和设备名称))、设备基础信息(如型号、电池信息、屏幕亮度、屏幕分辨率、品牌、基带固件版本、设备类型、设备标签、制造商、版本号、存储、内存(总内存和可用内存))、系统基础信息(UA信息、系统版本、语言、时区、构建版本号、系统总内存及可用内存、系统ID、开机时间)、网络基础信息(本地IP、WiFi信息((SSID 哈希值、BSSID、WiFi列表哈希值)、使用VPN状态、使用代理状态、网络类型、CCID)、运营商信息(SIM卡数量、运营商名称、移动设备国家代码、移动设备网络代码)、经纬度信息、基站信息(基础信息及详细信息)、集成了指纹SDK的APP信息版本和包名、系统进程文件信息(传感器列表名称、光传感器(按需)及引申的风险标签)等。
使用目的:用于指纹的匹配,设备风险的分析。如果您只使用部分SDK功能,则可以根据实际使用功能进行配置。
隐私政策链接:https://www.bsfit.com.cn/news/465
七、最终用户授权同意的建议方式
App ⾸次运⾏时应当有隐私弹窗,隐私弹窗中应公示简版隐私政策内容并附完整版隐私政策链接,并明确提示最终⽤户阅读并选择是否同意隐私政策;隐私弹窗应提供同意按钮和拒绝同意的按钮,并由最终⽤户主动选择。如涉及敏感个⼈信息,应当取得您最终⽤户的单独授权同意,您可以通过单独弹窗的形式来实现最终⽤户的授权,并在您的《隐私政策》中的第三方SDK中表明集成了邦盛的SDK,明示所有采集要素信息及邦盛隐私政策链接。具体可参考下方图片。
八、保障个人信息主体权利
为了保障用户便捷的实现删除个人信息,我们在SDK中提供了相关的接口,支持您通过接口调用方式来执行用户个人信息不获取的权力请求。
如果您对邦盛设备指纹Pro SDK有任何疑问、意见或建议,请通过以下方式与我们联系:
联系电话:0571-81903221
联系地址:浙江省杭州市西湖区西斗门路3号天堂软件园D幢17楼
电子邮箱:securities@bsfit.com.cn




