健康運(yùn)營指引 / 用戶隱私保護(hù) / 小程序隱私協(xié)議開發(fā)指南
# 小程序隱私協(xié)議開發(fā)指南
# 一、功能介紹
涉及處理用戶個人信息的小程序開發(fā)者,需通過彈窗等明顯方式提示用戶閱讀隱私政策等收集使用規(guī)則。
為規(guī)范開發(fā)者的用戶個人信息處理行為,保障用戶合法權(quán)益,微信要求開發(fā)者主動同步微信當(dāng)前用戶已閱讀并同意小程序的隱私政策等收集使用規(guī)則,方可調(diào)用微信提供的隱私接口。
特別注意:
2023.08.22更新:
以下指南中涉及的 getPrivacySetting、onNeedPrivacyAuthorization、requirePrivacyAuthorize 等接口目前可以正常接入調(diào)試。調(diào)試說明:
在 2023年9月15日之前,在 app.json 中配置 __usePrivacyCheck__: true 后,會啟用隱私相關(guān)功能,如果不配置或者配置為 false 則不會啟用。
在 2023年9月15日之后,不論 app.json 中是否有配置 __usePrivacyCheck__,隱私相關(guān)功能都會啟用。
接口用法可參考下方完整示例demo
2023.09.14更新:
隱私相關(guān)功能啟用時間延期至 2023年10月17日。在 2023年10月17日之前,在 app.json 中配置 __usePrivacyCheck__: true 后,會啟用隱私相關(guān)功能,如果不配置或者配置為 false 則不會啟用。在 2023年10月17日之后,不論 app.json 中是否有配置 __usePrivacyCheck__,隱私相關(guān)功能都會啟用。
新增官方隱私授權(quán)彈窗功能,相關(guān)功能參考下方官方隱私彈窗功能說明。
# 二、接入流程
# 1. 配置《小程序用戶隱私保護(hù)指引》
開發(fā)者需在「小程序管理后臺」配置《小程序用戶隱私保護(hù)指引》,詳細(xì)指引可見:用戶隱私保護(hù)指引填寫說明。
需要注意的是,僅有在指引中聲明所處理的用戶信息,才可以調(diào)用平臺提供的對應(yīng)接口或組件。若未聲明,對應(yīng)接口或組件將直接禁用。隱私接口與對應(yīng)的處理的信息關(guān)系可見:小程序用戶隱私保護(hù)指引內(nèi)容介紹。
配置完成后,對于每個使用小程序的用戶,開發(fā)者均需要同步微信當(dāng)前用戶已閱讀并同意小程序的隱私政策等收集使用規(guī)則后,才可以調(diào)用已聲明的接口或組件。同步的開發(fā)方式見下文。
對于已經(jīng)同步過的用戶,后續(xù)若開發(fā)者更新了配置,對于舊版本已經(jīng)有接口或組件,不需要重新同步;對于更新后產(chǎn)生的新的接口或組件,需要重新同步。例如,7月11日更新的版本中包含「收集你選擇的位置信息」,7月12日同步用戶同意狀態(tài),7月13日更新后新增了「收集你的微信運(yùn)動步數(shù)」,則在未再次同步的情況下,可以調(diào)用 wx.chooseLocation 接口,無法調(diào)用 wx.getWeRunData 接口。
# 2. 主動查詢隱私授權(quán)同步狀態(tài)以及展示隱私協(xié)議
從基礎(chǔ)庫 2.32.3 開始支持
開發(fā)者可通過 wx.getPrivacySetting 接口,查詢微信側(cè)記錄的用戶是否有待同意的隱私政策信息。該信息可通過返回結(jié)果 res 中的 needAuthorization 字段獲取。
同時,wx.getPrivacySetting 接口會返回開發(fā)者在小程序管理后臺配置的《小程序用戶隱私保護(hù)指引》名稱信息,開發(fā)者可以調(diào)用 wx.openPrivacyContract 接口打開該頁面。
如果存在有待用戶同意的隱私政策信息,開發(fā)者需要主動提示用戶閱讀隱私政策等收集使用規(guī)則,對于提示方式,小程序開發(fā)者可自行設(shè)計,同時需要在相關(guān)界面中使用 <button open-type="agreePrivacyAuthorization"> 組件,當(dāng)用戶輕觸該 <button> 組件后,表示用戶已閱讀并同意小程序的隱私政策等收集使用規(guī)則,微信會收到該同步信息,此時開發(fā)者可以在該組件的 bindagreeprivacyauthorization 事件回調(diào)后調(diào)用已聲明的隱私接口。
代碼示例
從基礎(chǔ)庫 2.32.3 版本起,隱私同意按鈕支持與手機(jī)號快速驗證組件、手機(jī)號實時驗證組件耦合使用,調(diào)用方式為 <button open-type="getPhoneNumber|agreePrivacyAuthorization"> 或 <button open-type="getRealtimePhoneNumber|agreePrivacyAuthorization">。
也支持隱私同意按鈕與獲取用戶信息組件耦合使用,調(diào)用方式為<button open-type="getUserInfo|agreePrivacyAuthorization">
示例代碼
# 3. 被動監(jiān)聽隱私接口需要用戶授權(quán)事件
從基礎(chǔ)庫 2.32.3 開始支持
小程序開發(fā)者除了可以自行判斷時機(jī),提示用戶閱讀隱私政策等收集使用規(guī)則外,也可以通過 wx.onNeedPrivacyAuthorization 接口來監(jiān)聽何時需要提示用戶閱讀隱私政策。當(dāng)用戶觸發(fā)了一個微信側(cè)未記錄過同意的隱私接口調(diào)用,則會觸發(fā)該事件。開發(fā)者可在該事件觸發(fā)時提示用戶閱讀隱私政策。
需要注意的是,對于 <input type="nickname"> 組件,由于 <input> 的特殊性,如果用戶未同意隱私協(xié)議,則<input type="nickname"> 聚焦時不會觸發(fā) onNeedPrivacyAuthorization 事件,而是降級為 <input type="text"> 。
此外,微信還提供了 wx.requirePrivacyAuthorize 接口,可用于模擬隱私接口調(diào)用。
代碼示例
# 4. 清空歷史同步狀態(tài)
當(dāng)用戶從「微信下拉-最近-最近使用的小程序」中刪除小程序,將清空歷史同步狀態(tài)。下次訪問小程序后,需要重新同步微信當(dāng)前用戶已閱讀并同意小程序的隱私政策等收集使用規(guī)則。
開發(fā)者可通過此方式進(jìn)行調(diào)試,也可以在開發(fā)者工具中「清除模擬器緩存-清除授權(quán)數(shù)據(jù)」清空歷史同步狀態(tài)。
# 三、其他說明
低于 2.32.3 版本的基礎(chǔ)庫未集成隱私相關(guān)功能,也不會攔截隱私接口調(diào)用。# 四、完整示例demo
demo1: 演示使用 wx.getPrivacySetting 和 <button open-type="agreePrivacyAuthorization"> 在首頁處理隱私彈窗邏輯 https://developers.weixin.qq.com/s/gi71sGm67hK0
demo2: 演示使用 wx.onNeedPrivacyAuthorization 和 <button open-type="agreePrivacyAuthorization"> 在多個頁面處理隱私彈窗邏輯,同時演示了如何處理多個隱私接口同時調(diào)用。 https://developers.weixin.qq.com/s/hndZUOmA7gKn
demo3: 演示 wx.onNeedPrivacyAuthorization、wx.requirePrivacyAuthorize、<button open-type="agreePrivacyAuthorization"> 和 <input type="nickname"> 組件如何結(jié)合使用 https://developers.weixin.qq.com/s/jX7xWGmA7UKa
demo4: 演示使用 wx.onNeedPrivacyAuthorization 和 <button open-type="agreePrivacyAuthorization"> 在多個 tabBar 頁面處理隱私彈窗邏輯 https://developers.weixin.qq.com/s/g6BWZGmt7XK9
# 五、常見錯誤說明
{ "errMsg": "A:fail api scope is not declared in the privacy agreement", "errno": 112 } 使用到了 A 隱私接口,但是開發(fā)者未在「MP后臺-設(shè)置-服務(wù)內(nèi)容聲明-用戶隱私保護(hù)指引」中聲明收集 A 接口對應(yīng)的隱私類型。補(bǔ)充的隱私類型聲明, 將在5分鐘后生效。
{ "errMsg": "A:fail appid privacy api banned" } 使用到了 A 隱私接口,但是開發(fā)者在 mp 提審時勾選了“未采集隱私”,或者未聲明隱私協(xié)議,被平臺回收了接口調(diào)用權(quán)限。
# 六、官方隱私彈窗功能說明
為了讓開發(fā)者能更便利地完成小程序隱私合規(guī)要求,除了通過以上指引進(jìn)行隱私協(xié)議開發(fā)外,平臺還提供了官方隱私授權(quán)彈窗。此彈窗在隱私相關(guān)功能啟用后(2023年10月17日后或開發(fā)者在 app.json 中配置 __usePrivacyCheck__: true 后),無需開發(fā)者適配開發(fā),自動向 C 端用戶展示。具體邏輯為:
當(dāng)開發(fā)者調(diào)用隱私相關(guān)接口時,微信會判斷此次調(diào)用是否需要觸發(fā) wx.onNeedPrivacyAuthorization 事件,若觸發(fā)后開發(fā)者未進(jìn)行響應(yīng),微信將主動彈出官方彈窗。若用戶同意,該接口將正常執(zhí)行后續(xù)調(diào)用邏輯;若用戶拒絕,將進(jìn)行報錯。
需要注意的是,用戶可能拒絕官方隱私授權(quán)彈窗,為了避免過度彈窗打擾用戶,開發(fā)者再次調(diào)用隱私相關(guān)接口時,若距上次用戶拒絕不足10秒,將不再觸發(fā)彈窗,直接給到開發(fā)者用戶拒絕隱私授權(quán)彈窗的報錯。
官方隱私彈窗將有兩種樣式:
與授權(quán)彈窗耦合樣式:用戶在此彈窗下需要勾選隱私協(xié)議才可以進(jìn)行允許操作,若用戶在彈窗中拒絕,報錯信息為用戶拒絕(錯誤碼為 103)。與授權(quán)彈窗耦合樣式將會在后續(xù)版本的基礎(chǔ)庫中支持(支持版本將在后續(xù)更新),在低版本基礎(chǔ)庫中所有彈窗均將采用直接彈窗樣式。
相關(guān)知識
健康碼的隱私政策還有哪些改進(jìn)空間?
美年健康隱私政策
華為運(yùn)動健康拒絕數(shù)據(jù)濫用,多方位保障用戶隱私安全
隱私條款
隱私政策
醫(yī)療健康云平臺,保障個人隱私與提供高效服務(wù)的平衡
麥當(dāng)勞中國隱私政策
衛(wèi)健委印發(fā)電子病歷規(guī)范,明確要求存儲加密,保護(hù)患者隱私
健康醫(yī)療可穿戴設(shè)備數(shù)據(jù)安全與隱私保護(hù)問題研究
BMJ:隨著移動健康app越來越普及,健康和隱私關(guān)系值得被關(guān)注!@MedSci
網(wǎng)址: 健康運(yùn)營指引 / 用戶隱私保護(hù) / 小程序隱私協(xié)議開發(fā)指南 http://www.u1s5d6.cn/newsview649530.html
推薦資訊
- 1發(fā)朋友圈對老公徹底失望的心情 12775
- 2BMI體重指數(shù)計算公式是什么 11235
- 3補(bǔ)腎吃什么 補(bǔ)腎最佳食物推薦 11199
- 4性生活姿勢有哪些 盤點夫妻性 10428
- 5BMI正常值范圍一般是多少? 10137
- 6在線基礎(chǔ)代謝率(BMR)計算 9652
- 7一邊做飯一邊躁狂怎么辦 9138
- 8從出汗看健康 出汗透露你的健 9063
- 9早上怎么喝水最健康? 8613
- 10五大原因危害女性健康 如何保 7828