向用戶請求權(quán)限的正確方式

1 評論 3347 瀏覽 8 收藏 10 分鐘

權(quán)限的目的是保護用戶隱私,那么在何時以及用什么方式請求用戶權(quán)限會是比較合適的?本文將詳細介紹Android的運行時權(quán)限模型,并展示設(shè)計一個UX來請求你的應(yīng)用程序所需的權(quán)限,希望對你有所啟發(fā)。

從Android 6.0開始,沒有在安裝時請求所有權(quán)限,而是引入了運行時權(quán)限模型,開發(fā)者可以控制應(yīng)用何時以及如何請求權(quán)限。這如同你想邀某人出去約會,過早、過頻繁或以錯誤的方式對你來說并不好。

本文我將詳細介紹Android的運行時權(quán)限模型,并向你展示如何設(shè)計一個UX來請求你的應(yīng)用程序所需的權(quán)限。權(quán)限的目的是保護用戶的隱私,但當你請求權(quán)限時,你是在要求用戶放棄一點隱私,因此,你需要提供明確且平等的利益以換取訪問。運行時權(quán)限允許你在用戶更了解你請求權(quán)限的原因和授予權(quán)限的好處時選擇合適的時間請求權(quán)限。Android實現(xiàn)它們的方式使得以正確的方式請求它們變得十分重要。

運行時權(quán)限模型有利于保護用戶的隱私,當你的應(yīng)用程序請求權(quán)限時,Android會顯示一個對話框讓用戶接受或拒絕它,第一次請求權(quán)限時對話框不會顯示“不再詢問”復選框,只會在用戶至少一次拒絕權(quán)限請求后顯示它,你可以檢查之前是否被拒絕過,并明智的決定在何時提供更多教育。

從Android 11開始,如果用戶在使用應(yīng)用的過程中多次拒絕某項特定的權(quán)限,那么在你的應(yīng)用再次請求該權(quán)限時,用戶將不會看到系統(tǒng)權(quán)限對話框。該操作表示用戶希望“不再詢問”。

你無需過度防御,例如在實際請求權(quán)限之前你始終通過預許可(預授權(quán))來衡量用戶授予權(quán)限的可能性,本質(zhì)上是請求兩次,這種雙重提示可能是不必要且煩人的,你可以通過在正確的時間以正確的方式詢問來達到同樣的效果。

Material Design分解了在兩個維度上請求權(quán)限的不同方法。首先權(quán)限對你的應(yīng)用程序的運行有多重要?其次,你請求它的原因有多清晰?根據(jù)這兩個因素,建議你采用不同的方法來請求權(quán)限。

圖片來源:Material Design

一、預先請求權(quán)限(Ask up-front)

如果某項權(quán)限對應(yīng)用程序運行至關(guān)重要,并且顯而易見為什么需要請求它。例如日歷應(yīng)用,拒絕日歷權(quán)限會使應(yīng)用程序無法運行,并且用戶顯然知道日歷應(yīng)用的用途以及請求日歷權(quán)限的原因,因此不需要用任何不必要的解釋來打擾用戶,只需在用戶首次啟動應(yīng)用時立即請求它即可。

預先請求權(quán)限

二、預先教育(Educate up-front)

如果某項權(quán)限對應(yīng)用至關(guān)重要,但請求它的原因不是很清晰。例如信貸應(yīng)用,為了準確評估用戶的信貸資格、償還能力和防范反欺詐,通訊錄權(quán)限、通話記錄權(quán)限、位置權(quán)限對于風控而言非常重要,建議請求權(quán)限之前對用戶進行教育。

預先教育

三、使用場景中請求權(quán)限(Ask in context)

如果應(yīng)用中的某項次要功能需要權(quán)限,但請求它的原因很清晰,建議你在使用場景中請求權(quán)限。例如筆記應(yīng)用允許用戶使用語音或音頻創(chuàng)建筆記,那么很明顯為什么此功能需要麥克風權(quán)限,無需過早的請求它,以免用戶負擔過重,最好等到用戶嘗試使用該功能時,因為用戶更有可能允許符合其預期的權(quán)限請求。

使用場景中請求權(quán)限

四、結(jié)合使用場景進行教育(Educate in context)

如果應(yīng)用中的某項次要功能需要權(quán)限,并且請求他的原因不是很清晰,建議你結(jié)合使用場景進行教育。例如筆記應(yīng)用允許用戶與朋友協(xié)作,那么請求聯(lián)系人權(quán)限可能是合理的,但它不是顯而易見的,當用戶調(diào)用該功能時,解釋應(yīng)用獲得聯(lián)系人權(quán)限后可為用戶提供哪些好處,比如自動填充郵件地址,然后才請求聯(lián)系人權(quán)限讓用戶授予它。

結(jié)合使用場景進行教育

五、處理權(quán)限請求遭拒情況

通過使用正確的方法,用戶應(yīng)該清楚應(yīng)用請求權(quán)限的原因以及應(yīng)用獲得權(quán)限后可以為他們提供哪些好處。然而,這并不意味著用戶一定會授予權(quán)限。如果用戶拒絕了權(quán)限請求,建議采用以下做法:

  • 在應(yīng)用界面中突出顯示因為沒有獲得特定權(quán)限而受限的功能所在的具體部分,例如在原本用于顯示該功能的結(jié)果或數(shù)據(jù)的位置顯示一條消息,讓用戶知道因缺少權(quán)限而無法使用該功能,幫助用戶在權(quán)限和功能之間建立心理聯(lián)系。
  • 不要阻止界面顯示,不要全屏警告消息,讓用戶根本無法繼續(xù)使用應(yīng)用。即使在權(quán)限請求遭拒后,應(yīng)用也應(yīng)盡可能提供最佳的用戶體驗。例如即使麥克風使用權(quán)限請求遭拒,仍應(yīng)全面提高文本功能的易用性。
  • 用戶可能已經(jīng)選中了“不再詢問“復選框,應(yīng)用可能會在用戶未看到權(quán)限請求對話框的情況下受到拒絕,此時應(yīng)用應(yīng)該提供一個鏈接,鏈接到設(shè)備設(shè)置中用戶可以打開權(quán)限的具體位置。

六、盡量減少權(quán)限請求

在應(yīng)用中聲明權(quán)限之前,請先考慮是否需要這樣做,或者是否有替代方法可以在應(yīng)用中支持該功能。因為如果應(yīng)用聲明權(quán)限,那么每當用戶使用需要運行時權(quán)限的功能時,應(yīng)用便不得不中斷用戶的操作,請求相應(yīng)權(quán)限。然后,用戶必須做出決定。如果用戶不能理解您的應(yīng)用為何請求特定權(quán)限,可能就會拒絕授予該權(quán)限,甚至卸載應(yīng)用。下面介紹幾個可以在不聲明任何權(quán)限的情況下實現(xiàn)的用例:

1. 拍攝照片/錄制視頻

Android為應(yīng)用提供了相互通信的功能,讓你可以將任務(wù)委托給其他應(yīng)用。例如,如果你希望允許用拍照,但它不是應(yīng)用的核心部分,可以考慮使用Intent請求相機應(yīng)用拍攝照片并將其分享給你的應(yīng)用,這樣就不需要CAMERA權(quán)限。

2. 自動輸入動態(tài)短信驗證碼

雙因素身份驗證流程中,動態(tài)短信驗證碼作為第二校驗因素時,使用SMS Retriever API(短信檢索器)可以讓應(yīng)用自動執(zhí)行用戶身份驗證,不需要用戶手動輸入驗證碼,不需要READ_SMS權(quán)限。

以上就是Android運行時權(quán)限模型和請求權(quán)限的一些方法,你可以針對何時以及如何請求權(quán)限設(shè)計完美的流程,從而最大程度的提高用戶授予權(quán)限的可能性。

本文由@張楚 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自 Unsplash,基于 CC0 協(xié)議。

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 干貨

    來自廣東 回復