找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

查看: 7|回复: 0

[Nordic] 谷歌查找我的设备配件(Google Find My Device Accessory)详解和应用(6) 

[复制链接]
连续签到天数:1天
签到总天数:8天
签到总奖励:36金币
发表于 昨天 09:10 | 显示全部楼层 |阅读模式
2. DULT( Detecting Unwanted Location Trackers)协议
DULT( Detecting Unwanted Location Trackers)是苹果和谷歌合作制定的一项适用于蓝牙跟踪设备的行业规范——‘发现不需要的位置跟踪器’,该规范可以跨iOS和安卓系统,提醒用户未知设备是否正在被用来跟踪他们。这将有助于减少追踪物品的设备(例如AirTag)被滥用。
在iPhone手机上,如果用户附近发现未知的蓝牙跟踪器,并且该跟踪器随其移动了一段时间,无论该设备与哪个平台配对,用户都会收到一条通知:“发现[物品]与您同行”。安卓用户则会收到类似的提醒:“跟踪器正与您同行”。
用户点击通知可以查看跟踪器的识别信息,并且支持播放声音来定位跟踪器。该功能还包含如何禁用跟踪设备的说明。
DULT协议规范:https://datatracker.ietf.org/doc/draft-ietf-dult-accessory-protocol/
2.1 FMDN协议对DULT的规范
Google的FMDN协议规范对DULT有具体的要求,解释网址如下:
https://developers.google.com/nearby/fast-pair/specifications/extensions/fmdn#unwanted-tracking-prevention
Relevant guidelines specific to FMDN to be compliant with DULT spec:
为符合 DULT 规范,“查找我的设备网络”(FMDN)相关的具体准则如下:
  • Any FMDN compatible device must be registered in the Nearby Device Console, and have the "Find My Device" capability activated.
  • 任何与 “查找我的设备网络”(FMDN)兼容的设备都必须在 “Nearby Device Console” 中注册,并激活 “Find My Device” 功能。
  • The device must implement the Accessory Non-Owner service and characteristic defined in the implementation version of the DULT spec, including the Accessory Information operations and Non-owner controls.
  • 设备必须实现 DULT 规范实施版本中定义的 “配件非所有者服务” 及特性,包括 “配件信息” 操作和 “非所有者控制”
  • During the backward compatibility period, as defined in the DULT spec, there are no changes to the advertised frame as defined in this document.
  • 在 DULT 规范所定义的向后兼容期内,本文档中定义的广播帧不得进行更改。
  • "Unwanted tracking protection mode" defined in this document maps to the "separated state" defined by the DULT spec.
  • 本文档中定义的 “防止不必要追踪模式” 与 DULT 规范中定义的 “分离状态” 相对应。
  • Guidelines for implementing the Accessory Information opcodes:
    • Get_Product_Data should return the model ID provided by the console, zero padded to fit the 8-byte requirement. For example, model ID 0xFFFFFF is returned as 0x0000000000FFFFFF.
    • “获取产品数据”(Get_Product_Data)操作应返回控制台提供的型号标识,并且需用零填充以满足 8 字节的要求。例如,型号标识为 0xFFFFFF 时,应返回为 0x0000000000FFFFFF。
    • Get_Manufacturer_Name and Get_Model_Name should match the values provided in the console.
    • “获取制造商名称”(Get_Manufacturer_Name)和 “获取型号名称”(Get_Model_Name)操作返回的内容应与控制台中提供的值一致。
    • Get_Accessory_Category can return the generic "Location Tracker" value if no other category better fits the type of the device.
    • 如果没有更适合该设备类型的类别,“获取配件类别”(Get_Accessory_Category)操作可返回通用的 “位置追踪器” 这一值。
    • Get_Accessory_Capabilities must indicate the support for ringing as well as BLE identifier lookup.
    • “获取配件功能”(Get_Accessory_Capabilities)操作必须表明设备支持响铃功能以及Bluetooth LE(BLE)标识符查找功能。
    • Get_Network_ID should return Google's identifier (0x02).
    • “获取网络标识”(Get_Network_ID)操作应返回谷歌的标识(0x02)。
  • Guidelines for implementing the Get_Identifier opcode:
    • The operation should only return a valid response for 5 minutes after the user activated the 'identification' mode, which requires a combination of button presses. A visual or audio signal should indicate to the user that the provider entered that mode. The model-specific instructions for activating that mode must be provided to Google as a requirement for certification and at least 10 days prior to any update or modification to the instructions.
    • 只有在用户激活 “识别” 模式后的 5 分钟内,该操作才应返回有效响应。激活 “识别” 模式需要组合按下按钮。应通过视觉或音频信号向用户表明设备已进入该模式。激活该模式的具体型号操作说明必须作为认证要求提供给谷歌,并且在对操作说明进行任何更新或修改之前至少 10 天提供。
    • The response is constructed as: the first 10 bytes of current ephemeral identifier, followed by the first 8 bytes of HMAC-SHA256(recovery key, the truncated current ephemeral identifier).
    • 响应的结构为:当前临时标识符(EID)的前 10 个字节,接着是使用 HMAC-SHA256 算法(基于恢复密钥和截断后的当前临时标识符EID)生成结果的前 8 个字节。
  • Guidelines for implementing Identifier over NFC:
    • As a URL, use find-my.googleapis.com/lookup.
    • 网址方面,使用find-my.googleapis.com/lookup
    • As the e parameter, use the same response as constructed for Get_Identifier, hex encoded.
    • 对于 “e” 参数,使用与 “获取标识符”(Get_Identifier)操作构建的响应相同的内容,并进行十六进制编码。
    • As the pid parameter, use the same response as constructed for Get_Product_Data, hex encoded.
    • 对于 “pid” 参数,使用与 “获取产品数据”(Get_Product_Data)操作构建的响应相同的内容,并进行十六进制编码。
  • It is mandatory for the device to include a sound maker and support the ringing function. Per the DULT spec, the sound maker must emit a sound with minimum 60 Phon peak loudness as defined by ISO 532-1:2017.
  • 设备必须配备发声装置并支持响铃功能。根据《检测不必要位置追踪器》(DULT)规范,发声装置必须发出符合 ISO 532-1:2017 标准所定义的、峰值响度至少为 60 方(Phon)的声音。
  • Guidelines for implementing the Sound_Start opcode:
    • The command should trigger ringing in all available components.
    • 该命令应触发所有可用组件发出铃声。
    • The maximal supported volume should be used.
    • 应使用设备支持的最大音量。
    • The recommended duration for ringing is 12 seconds.
    • 铃声的推荐持续时长为 12 秒。
  • Locator tags must include a mechanism that lets users temporarily stop advertising without factory resetting the device (for example, pressing a combination of buttons).
  • 定位标签必须具备一种机制,使用户能够在不将设备恢复出厂设置的情况下暂时停止广播(例如,通过组合按键操作)
    • The disablement instructions must be documented in a publicly available URL and provided to Google as a requirement for certification and at least 10 days prior to any update or modification to the instructions.
    • 禁用说明必须记录在一个公开可访问的网址上,并作为认证要求提供给谷歌,且在对该说明进行任何更新或修改之前至少 10 天提供。
    • The URL should support localization. Depending on the client, the language will be provided either as a query param ("hl=en") or using the "accept-language" HTTP header.
    • 该网址应支持本地化。根据客户端的不同,语言信息将通过查询参数(如 “hl=en”)或使用 “accept-language” HTTP 标头来提供。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册  

×
楼主热帖
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2025-8-14 04:00 , Processed in 1.668571 second(s), 13 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表