Requesting Permission
Requesting Permission

Requesting Permission

Scenarios

Notification
Requesting PermissionRequesting PermissionEdit modeEdit mode
Advertisement

Requesting Permission

請求使用者允許訪問個人資料的權限。

⚡️ 相關資訊

Intro

介紹

當應用程式需要取得敏感資料時,都需要向使用者要求授權,並且讓使用者自行選擇接受或拒絕。若應用程式未取得相關授權,將無法發揮完整功能,例如:使用者沒有開啟相機的使用權限,則無法使用拍照功能。

所以要求權限的流程必須盡可能符合設計規範,以降低使用者對於要求敏感資料的抗拒不安全感,進而提升獲得完整體驗的機會。

Basic principles

基本原則

在設計權限流程時,務必遵守以下基本原則,避免違反平台規定。

1. 僅於必要時向使用者索取權限

使用者對於個人資訊的請求非常敏感,請確認應用程式索取的權限為必要的最小權限。

2. 在使用者「開始」與需要這項權限的功能互動時,再要求與情境相關的權限

避免在啟動應用程式時馬上要求所有權限,除非此權限為執行應用程式的主要功能,否則應該在使用者容易理解「為何需要取得的時機點」詢問

舉例說明:當使用者需要使用導航功能時,再向使用者要求位置授權,因為此時的場景容易讓使用者了解允許授權後將獲得什麼好處。

3. 教育使用者為什麼需要此權限

若此權限較難讓使用者直覺聯想索取原因,需要清楚的說明此權限包含什麼資料、將應用於何處、授權後將可以達成什麼目的,例如:應用程式在使用者開啟語音直播時要求通話權限,使用者較難了解目的是來電提醒,若此時突然顯示系統索取權限的對話框,將讓使用者感到困惑。

說明文字盡量使用直接、簡短的語句減輕閱讀負擔,切勿使用祈使句、命令句。

說明的時間點應發生於:

  1. 應用程式索取權限前
  2. 在使用者觸發語音直播功能(一起聽)時,會說明應用程式將要將索取何種權限,以及允許後將有何好處
    在使用者觸發語音直播功能(一起聽)時,會說明應用程式將要將索取何種權限,以及允許後將有何好處
  3. 使用者拒絕後,且再次觸發請求授權時
  4. 重新觸發時,說明取得授權的目的
    重新觸發時,說明取得授權的目的

4. 使用者拒絕授權後,不應立即要求使用者前往設定頁修改設定,或強迫使用者中斷使用應用程式

當使用者拒絕授權後,應用程式仍應盡可能提供最佳使用者體驗,例如:當使用者拒絕,仍讓使用者能夠繼續使用應用程式,可參考 Android Developers Guide 所提供的作法:

  • 引導使用者的注意力。 醒目顯示應用程式 UI 中,因為應用程式未擁有必要權限而造成功能受限的特定部分。以下提供幾種可能的做法:
    • 在該功能的結果或資料應該出現的位置顯示相關訊息。
    • 顯示包含錯誤圖示和顏色的不同按鈕。
  • 提供清楚明確的說明,不要顯示一般訊息。請改為明確因應用程式未擁有必要權限而無法使用哪些功能。
  • 不要封鎖使用者介面。也就是說,不要顯示全螢幕的警告訊息,以致使用者完全無法繼續使用您的應用程式。

5. 使用者拒絕授權後,提供重新觸發請求授權的方法

當使用者拒絕授權後,應用程式需保留觸發請求授權的路徑,並引導使用者至設定頁面重新設定。

⚠️
使用者拒絕授權後,再次觸發該功能時,請勿重複呼叫系統請求權限,應以其他手段(KKBOX App 目前使用系統的 Dialog 元件)和使用者說明為什麼需要此權限,提升授權意願

Types of Buttons

按鈕類型

當應用程式呼叫系統向使用者索取權限時,索取權限的對話框將提供「預設對應的按鈕」,按鈕點擊後的規則可參考下表:

一律允許 / 允許
位置權限:應用程式隨時都能取得位置權限,即使你當下並未使用該應用程式也一樣。 麥克風/相機/其他:每次使用指定功能時,應用程式可以直接取得上述權限。
僅在使用該應用程式時允許
While using the app 應用程式只有在你使用時,才能取得上述權限。
僅允許一次 / 下次詢問
Only this time 應用程式每次觸發特定功能時,都會要求取得上述權限,而且在你關閉應用程式前都可使用這些權限。
不允許 / 永不
Deny 應用程式即使在使用中,也無法取得上述權限。再次觸發未授權功能時,將顯示說明對話框,並提供重設路徑。

Changelog

Date
Version
Notes
Chapters
Person
June 26, 2023
1.27

・新增 Requesting Permission 草稿

Requesting Permission
Verna Wang