APP授權設計:如何讓用戶不反感并同意授權

36 評論 47303 瀏覽 321 收藏 28 分鐘

授權機制,是手機操作系統安全機制中的一部分,在開發應用時需要用到各種各樣的手機系統權限。那在我們的APP中,它的授權該如何設計,才能讓用戶同意授權,或者不反感授權呢?

本文大綱圖:

一、認識授權

1.1 什么是授權

授權機制,是手機操作系統安全機制中的一部分,在開發應用時需要用到各種各樣的手機系統權限。

一般來說,在操作系統中權限會被分類,有些權限級別較低,應用只需在開發時聲明即可使用;而與用戶有關的權限級別都非常高,需要用戶親自授權才可以。

我們的產品中的功能經常會涉及到這些權限,為了能使應用正常使用,從而給用戶帶來更好的體驗,我們希望用戶都能授予我們相關權限。

1.2 需要用戶授權的權限有哪些

iOS需要用戶授權的權限有下面兩種:

①涉及到用戶隱私的權限:

②系統服務權限:

  1. 無線網絡與蜂窩數據(iOS10以后加入,中國大陸特有的權限)
  2. 通知權限
  3. VPN
  4. 鍵盤

……

兩種權限的區別:

涉及到用戶隱私的授權彈窗中,可以添加簡短的自定義的向用戶解釋說明的語句;而系統服務權限彈窗不可以添加說明,有系統的固定提示語。

注意:

  1. iOS應用需要使用iCloud服務時,如果用戶已經在iPhone上登錄了iCloud,則不需要用戶授權可以直接使用。
  2. 使用TouchID,FaceID也不需要用戶授權,可以直接在應用中開啟。

Android中需要用戶授權的權限:

Android6.0后有普通權限和危險權限之分,需要用戶授權的權限是危險權限。危險權限共有9個權限組,每個權限組又包括若干子項,在授權時只要用戶對一個權限組的任意一個子項授權,則整個權限組都被視為授權。

9個權限組分別為:日歷、相機、通訊錄、定位、麥克風(用于錄音)、電話(一般用于讀取本機識別碼)、傳感器SMS(短信)、存儲。

iOS與Android權限的區別:

在iOS和Android中對不同的權限需不需要用戶授權,劃分不一樣。

比如:iOS中最常見的通知權限和網絡權限,都需要用戶授權才能使用;而這兩項權限在Android中則不需要用戶授權,所以Android手機總是有很多彈窗,還有相冊權限在Android中,也是不需要授權的。

具體兩者有何區別,可以結合上面給出的圖自行對照,總的對比下來感覺iOS對于用戶的保護是更到位的。

要注意的是:像我們剛才所說的網絡訪問和通知權限,并沒有在Android列表中列出,但這不代表Android中沒有這兩個權限,只是不需要用戶授權而已。

知道了iOS和Android的權限區別后,我們在設計時就知道同一項權限,需不需要針對兩個系統分別做設計了。

1.3 常用授權

  • 第一梯隊:網絡,通知,位置;
  • 第二梯隊:通訊錄,相冊,相機,麥克風等。

Android和iOS的常用授權都一樣,只不過Android不需要網絡和通知權限,不需要授權相冊。

1.4 iOS和Android在設計授權時的區別

(1)在Android中所有的系統授權彈窗,都是不能添加說明的;而在iOS中涉及到用戶隱私的權限,在請求授權時都可以添加簡單的說明。

看似區別不大,但是對于用戶的體驗來說,iOS顯然更勝一籌。

(2)Android的系統授權框可以出現多次,第一次用戶進入應用后,如果沒有授權給應用的話,那么下次當用戶再次進入應用時,應用還可以調用系統授權框,讓用戶授權。

在iOS中系統授權框自始至終只會出現一次,如果用戶點擊不允許授權,則以后只能通過給用戶提供去設置按鈕,讓用戶自行打開權限開關。

使用系統授權框讓用戶授權的好處:

通過系統提示框讓用戶授權,用戶只用點擊一下就可以授權成功,而通過去設置去開啟權限步驟,會需要用戶經過兩三個步驟才能開啟,比較繁瑣。

如果沒有讓用戶在第一次授權成功,以后讓用戶授權成功的可能性更低,所以我們需要珍惜第一次機會,爭取讓用戶一次性授權成功。

雖然Android可以在下次用戶進入應用時,再次調用系統授權框,可是如果用戶第一次都不給你授權,以后又憑什么給你呢?

所以不管是iOS還是Android,在第一次彈窗出現時,拿到用戶的授權都是非常重要的

(3)Android陣營中不同手機廠商的系統,在授權時的機制都不一樣。

比如:作為Android系統危險權限的存儲權限,在oppo的ColorOS系統中就是向所有應用開放的,不用通過用戶的授權,還有彈窗彈出次數的限制等。

在oppo中竟然可以一直給用戶彈出授權框,知道授權成功為止,如果進一步為了用戶體驗的提高,我們可以為不同的手機廠商做定制化處理。

本文中按照適合大部分安卓手機的情況做介紹。

1.5 為什么要讓用戶給我們授權

我們設計的應用中,往往一些功能需要用戶給予相應權限,才能正常運行,這樣才能為用戶正常服務,給用戶帶來良好的體驗。

1.6 用戶授權過程中存在的問題

  1. 很多應用,會向用戶申請一些與功能關系不大的權限,導致用戶對所有軟件的信任度很低;
  2. 應用拿到通知權限以后為所欲為,經常向用戶發一些廣告,沒用的信息,騷擾用戶;
  3. 應用在向用戶申請權限的時候,沒有說清楚需要權限做什么用。

這些因素導致了我們真正需要一些權限的時候,用戶不再信任我們;導致我們軟件中的正常功能獲取不到權限,不能為用戶提供良好的體驗。

二、如何針對授權做設計

第一步:確定應用中需要用到哪些權限

梳理一遍應用中的功能,或者和開發溝通,確定我們都需要哪些系統權限,我們需要做到下面兩點:

  1. 確定這些權限確實需要,不去獲取多余的權限;
  2. 確定哪些要為iOS設計和哪些要為Android設計,還是都要設計。

第二步:針對每一個權限做下列設計

1. 設定系統彈窗彈出時機

在第一次打開應用時申請權限的劣勢:

  • 用戶對應用的信任感在一開始是最低的;
  • 一開始缺乏關聯場景,用戶不知道你要授權干什么。

(1)接下來看看什么樣的權限,應該放在第一次打開應用的時候去申請?

1)網絡權限(Android不用設計)

在進入時獲取網絡權限,這沒什么好說的,沒有網絡權限我們什么也搞不了,直接調用系統授權框即可。

2)通知權限(Android不用設計)

這里我的建議就是,對于那些有過硬理由的通訊類應用來說,是可以在一開始請求獲取通知權限的;對于沒有過硬理由的應用來說,盡量找出那些用戶需要用到通知服務的場景,在那時再彈出授權框。

原因:剛才說到了,在一開始去請求授權有兩個劣勢;但是對于那種有過硬理由的應用來說,不在一開始申請到的話,會對應用有比較大的影響。

而第二個問題對于這種應用來說不用擔心,對于沒有過硬理由的應用來說,不申請到通知權限也不影響主要功能,所以沒必要冒風險在一開始去申請。且等到用戶遇到了需要被提醒的場景,再彈出授權框,肯定比一開始沒有關聯場景去申請要強得多。

3)沒有就會影響到正常使用的權限

比如:對于照相類應用,如果在一開始沒有拿到相機權限,那么進入應用后就會是黑屏,所以拍照權限就應該放到一開始去獲取。

注意:對于這種應用來說,獲取相機權限就夠了,相冊權限也不要放到一開始去獲取。

再舉個例子:百度云網盤在第一次打開時,也會提示你授予通訊錄權限,為什么呢?因為百度云要幫你把通訊錄信息同步到網盤中,如果不給權限的話,就沒法同步。當然你也可以選擇不同步通訊錄,所以也會在一開始去向用戶申請。

(2)使用到相關功能時

剛才我們已經解決了,哪些功能需要放到第一次打開應用的時候去申請。那么除了這些權限,剩下的就是屬于:在用戶使用到相關功能的時候再去申請的權限了。

這些權限大部分都和授權場景有比較強的關聯性,放在特定的授權場景觸發是更好的選擇。但這里也不是說,放在后面彈出彈窗的權限,一定都有比較強的場景關聯性。

最主要的是:如果你沒有過硬的理由放在前面彈出,那就放在后面彈出吧。

對于這類權限,這時候我們需要做一件事——找出需要用到這些權限的所有功能的觸發點。

比如:對于相機權限,那么觸發場景有可能是拍照,有可能是掃一掃,觸發點就是點擊拍照按鈕的那一刻,點擊掃一掃按鈕的那一刻,在這些觸發點中,都要能出發授權彈窗。

2.是否需要pre-permission

(1)什么是pre-permission

pre-permission簡單說就是預授權,在系統授權彈窗出現以前,先彈出我們的自定義彈窗,甚至是頁面。我們可以用我們的自定義彈窗,來測試用戶是否想給我們授權?

如果用戶點擊了我們自定義彈窗中的授權按鈕,我們再彈出系統授權彈窗,如果用戶不想在此時授權,則我們可以在后面合適的情況下,再次讓用戶給我們授權。

這樣相當于加了一層保險,只有當用戶想給你授權的時候,才彈出系統授權彈窗,避免了用戶點擊了系統授權框的不允許后,造成再次授權的成本增高的問題。

(2)pre-permission這種設計方式出現的背景

這個方法出現在iOS早期版本,那時的iOS系統權限管理方面,沒有現在這么完善。當用戶關閉了系統的授權框后,如果需要再打開相關權限,就只能通過手動去設置頁自己開啟權限,整個過程需要五六個步驟,大大提高了用戶的開啟成本。

如果用戶在第一次拒絕了應用的授權請求時,如果再想讓用戶打開相關權限就非常困難。

(3)pre-permission有什么用

現在的iOS系統,在用戶拒絕授權后,我們可以在下次出現的自定義彈窗中加入去設置按鈕,用戶只需要兩三步就可以授權成功。

最重要的是:以前用戶很容易找不到在哪里去開啟權限,而現在我們可以直接將用戶引到到授權頁,用戶點擊授權即可??梢哉f有了去設置這個按鈕后,用戶再次打開權限的成本大大降低,而pre-permission當初出現的原因,正是為了解決再次打開權限的成本高的問題。

那么是不是說pre-permission這種方式已經過時了呢?

答案當然是:沒過時。

首先雖然現在的再次授權成本大大降低,但畢竟還是沒有系統授權框的授權體驗好。

但是最重要的不是這個,最重要的是:當用戶不能很好的理解我們為什么需要授權的時候,我們可以在預授權的提示框中加入詳細的說明,從而達到用戶給我們授權的目的。

(4)接下來我們看哪些權限需要pre-permission

其實大部分的權限獲取,通過系統自帶的授權框都能解決問題。

比如:相機、相冊、定位等。

這些權限的特點是和授權場景的關聯性很強,只需要簡單的文字用戶就能理解我們需要權限干什么;用戶理解后一般就會授予我們權限,如果用戶不給我們權限的話,就不能使用相關功能。

比如:他要修圖,卻不給我們相冊權限,之后當用戶發現沒有權限不能修圖后,自然會給我們權限,所以這些權限一般不用擔心。

比較特殊的是通知權限和通訊錄權限。

我們先來說通知權限。

先說結論:如果通知權限對應用影響很大,一定要加pre-permission。如果通知權限只是給用戶提供一種便利,沒有也影響不大。比如:淘寶、京東這些,可加可不加。

原因:通知權限幾乎是每個應用都想拿到的權限,對于有些應用來說,通知權限是一個很重要的權限。

比如:通訊類軟件,消息需要實時的傳達給用戶,如果沒有通知權限,對于應用的影響是非常大的,這類應用比較少。

而對于其他應用來說,通知權限只是為了增加用戶體驗的一個方式而已,拿到最好,拿不到也無關痛癢。

還有些應用拿到通知權限,就是為了給用戶發一些沒用的信息,而不考慮用戶的感受,這種應用很多,拿不到也就算了。

于是這就造成了一個問題:現在的用戶一般都不想給應用通知權限,用戶的感覺就是給了通知權限就會被不斷的彈窗騷擾,再加上很多應用,都是用戶剛一打開應用就讓用戶授予通知權限。而iOS中的通知框又不能添加說明文字,不能向用戶說明應用獲取通知權限的目的,所以大部分用戶很多時候一看到通知權限就會下意識的不授予。一旦用戶不授予通知權限,我們也不能像相機、相冊、定位這樣的權限一樣,通過不讓用戶使用相關功能的方式,來再次提示用戶去打開權限。因為即使沒有通知權限,應用一定是可以正常運行的——于是拿到通知權限變成了一件非常難的事。

關鍵的問題是:有些應用拿不到就拿不到了,而對于有的應用的影響是非常大的,甚至是致命的。這些應用不會去騷擾用戶,但是也被用戶誤解了。

所以對于這種應用來說,就需要一種方式來避免被用戶誤解,向用戶說明需要通知權限去做什么,盡最大可能性拿到通知權限,那么pre-permission也就再次派上了用場。

再來說說通訊錄權限。

結論:不管什么應用,在申請通訊錄權限時,最好都加上pre-permission

原因:在所有的權限中,哪個權限是用戶感覺最涉及隱私的——大部分用戶都會認為是通訊錄權限。

除非你的應用像微信,QQ這類讓用戶有足夠安全感的應用,否則一般情況下用戶都不會隨便授予你通訊錄權限?,F在用戶動不動收到詐騙短信,詐騙電話,誰知道是不是你們這種不靠譜的公司泄露出去的。

即使是大公司,現在都不能讓用戶放心了,最近爆出的Facebook泄露用戶個人信息很好的說明了問題。

所以獲取通訊錄權限也比較難,通訊錄權限和通知權限有些地方很像,如果用戶決定了不授予你通訊錄權限,你之后再想獲取到這些權限就比較難。所以對于通訊錄權限來說,通過pre-permission的方式來獲取也比較好。

對于其他權限的來說,如果你想更加充分的向用戶去說明也是可以用的,這里就不再多說。

(5)在Android中怎么設計

Android中的彈窗都不能添加說明文字,是不是就應該都添加pre-permission呢?

實際上不是。

首先在之前我們說到過,Android中的系統授權框可以不止一次的彈出來(下次進入應用時),所以用戶再次授權成本更低。

其次,大部分的授權我們也提到過,像:相機、相冊、定位這種,用戶已經被各種應用教育的非常好了,基本都會給你權限,不給的話相關功能也用不了。

所以實際上在Android中和iOS中情況差不多,主要針對通知和通訊錄權限來使用pre-permission,但是Android中通知權限不用通過用戶授權,所以我們只要在申請通訊錄權限的時候加上pre-permission即可。

3.拒絕后怎么辦?

(1)pre-permission被拒

添加了pre-permisson也不是萬能的,也會被用戶拒絕。

而通知和通訊錄權限,不像定位,相機權限,可以在用戶進入相關頁面時提示功能不能用。

若要使用相關功能就得打開權限,對于這種情況我們怎么辦呢?

拿通知舉例,我們就要在用戶需要被提醒的時候,來提醒用戶打開通知。如果用戶真的需要被通知,那么自然會授予我們權限。

如果是通訊錄呢?

那就在添加好友的時候提醒,要注意的是這種提示不是用彈窗的方式,這樣有騷擾用戶的嫌疑。

(2)網絡授權框被拒

用戶關閉了網絡授權后,系統會在下一次用戶進入應用時,自動彈出已經關閉網絡權限的提示框,應用只需按照斷網情況處理即可。

西瓜視頻在斷網后為用戶分析了不同的可能性,并且在檢查網絡權限這里添加了設置按鈕。用戶可以很方便的檢查網絡是否關閉,這樣的設計可以說是非常棒了,大多數的應用在斷網后的設計都沒有這么細致。

(3)系統授權框被拒

在用戶拒絕我們后,立即提示用戶若要使用相關功能就得打開相關權限,并且在該權限的每個觸發點都加入彈窗提示,同時給用戶一個去設置的按鈕。這里要注意的是,用戶點擊去設置后,要直接將用戶送到應用的授權界面,不要讓用戶去找。

提示的方式有兩種:有彈窗提示、也有整頁提示。

如果你需要授權的功能,不需要占用整個頁面就用彈窗提示,如果該功能需要占用整個頁面,那么就用整頁提示。

4. 提示文案

首先,iOS中網絡授權框和通知授權框中的文字是固定的,不能自定義。

(1)pre-permission中的文案

由于pre-permission的優勢,我們可以充分的向用戶說明:

  1. 結合圖片文字的方式說清楚我們要獲取這個權限做什么用?
  2. 如果你不給我們權限會怎樣?
  3. 打消用戶的疑慮,如果是通訊錄權限就說明白我們不會侵犯你的隱私,您可以隨時關閉該權限;如果是通知權限就說明白我們不會騷擾你,前面給出的VUE的預授權彈窗中,就專門強調了不會打擾用戶,這點很好。

(2)第一次iOS系統授權提示框出現時的文案

說明白,如果不給我們權限你將不能使用什么功能,個人認為“你不能做什么”這種方式要比“我要為你做什么更好”。

(3)被拒絕后提示框中的文案

您還尚未開啟某權限,所以不能使用該功能,請開啟權限。

總結

這篇文章寫得比較長,希望的是大家看完后不光知道怎么去設計App授權,更知道為什么這么設計,這樣當遇到不同的情景的時候才能靈活處理。

最后我們以一個例子來收尾

假設我們的應用是一款小視頻類軟件。

第一步:找出所有應用中用到的權限,分為iOS需要的授權和Android需要的授權

  • 針對iOS:要用到的權限有網絡、通知、相機、相冊、麥克風、定位。
  • 針對Android:要用到的權限有相機、相冊、麥克風、定位、存儲權限。

第二步:針對每一個權限做設計

接下來我們以iOS下的相機權限為例:

1)什么時候彈出?

用戶點擊錄制視頻時彈出。

2)要不要pre-permission?

不要,所需權限與場景關聯性很強,利用系統提示框中的自定義文字即可。

3)如果用戶拒絕了怎么辦?

點擊拒絕后和下次進入時,利用整頁去提示用戶,并添加去設置按鈕。

文案:(簡單示范,大家可以寫的更好一點)

  • 第一次請求用戶授權時:如果不授予相機權限,您將不能拍攝視屏。
  • 拒絕后提示用戶時:由于您還未授予相機權限,暫時不能錄制視頻,請開啟權限。

這樣一個權限的設計就完成了,可以去繪制原型圖了,相冊、麥克風、定位權限的設計和相機權限的設計基本雷同,通知權限就當成作業讓大家去設計了。

彩蛋:

如果大家覺得我寫的還不錯的話,希望大家能給我點個贊支持一下,讓我看看有多少人支持我好嗎?

以后持續為大家帶來干貨,這里要提前預告一下,最近會出一個很厲害的干貨,相較于這兩篇文章來說,這兩篇文章只是開胃菜,哈哈,所以趕緊訂閱我吧。

干貨沒看夠點這里:5000字,總結App加載設計

 

本文由 @一點優秀 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自 Unsplash ,基于 CC0 協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 學習一波 牛的

    來自廣東 回復
  2. 請問app下次更新后預授權彈框是怎么處理的呢

    來自江蘇 回復
  3. 寫的真的很好

    來自黑龍江 回復
  4. 非常感謝作者的分享,很有幫助

    來自湖北 回復
  5. 1.【網絡授權框】:和【系統第一次申請授權網絡彈窗】是同一個東西嗎?
    2.【通知授權框】:是指被拒絕過一次后再次觸發場景彈出的彈窗嗎?
    3.【系統授權框】被拒后彈出的彈窗是不是【通知授權框】。如果彈窗文字是固定的,為什么能選擇頁面來提示?

    來自廣東 回復
  6. 被拒絕后提示框的文案,是指Android還是IOS? IOS好像是定死的
    既然第一次請求授權彈窗已經有說明你不能做什么,那拒絕后似乎沒有必要馬上提示了把?
    (一點問題)

    來自廣東 回復
  7. 請問大大,安卓的通知權限是自動獲取的嗎?用戶不需要授權?(iOS用戶所以不太熟悉安卓)

    來自廣東 回復
  8. 小白學習了,很不錯,以后可以直接運用工作中了 ??

    來自廣東 回復
  9. 非常棒,作者可以把腦圖源文件給我嗎,在線等

    來自廣東 回復
  10. 嘿~優秀的你!文章寫得真棒!可以轉載到公眾號嘛?加微信you10942

    來自北京 回復
    1. 轉載哈,沒關系, ??

      來自廣東 回復
  11. 干貨,沒說的,訂閱+收藏,兄dei。

    來自北京 回復
  12. 這是我見過的最詳細的授權總結。不過還有未考慮到的邊界情況,就是用戶第一次訪問APP的時候(針對IOS),如果手機未打開無線局域網和蜂窩移動網絡,這個時候網絡授權是不會彈出的;同樣,如果手機GPS定位未打開,不過這個是有解決方案的,先引導引用戶開啟GPS開關。

    來自廣東 回復
  13. 喜歡你的分享,有深度和廣度,獲益良多

    回復
    1. 感謝你的評論, ??

      來自廣東 回復
  14. 你好,我是圖書策劃編輯,看了你所有的文章,想和你約下稿件,方便的話可以加下我的微信18211086848具體溝通一下

    來自山東 回復
  15. 寫的不錯,有公眾號嗎,可以關注一下

    來自浙江 回復
    1. 沒有的哈,一般文章會發表在這里的

      來自廣東 回復
  16. 很棒~ 作者能加微信嗎?

    來自湖北 回復
    1. 可以加QQ ??

      來自廣東 回復
    2. 1325004866,辛苦咯

      來自湖北 回復
    3. 說你的QQ我加你

      來自廣東 回復
  17. 一點優秀,你真的很優秀,我只收藏了兩篇文章,都是你寫的,期待你的下一篇

    回復
    1. 看到你的評論就可以讓我開心一天,接下來還會有好文章的~ :mrgreen:

      來自廣東 回復
  18. 寫的很好,獲益!

    來自浙江 回復
  19. 不錯不錯,尤其是分析了預授權

    來自江蘇 回復
  20. 好文

    來自浙江 回復
  21. 不是說安卓不需要獲取相冊權限嗎,怎么后來的部分又寫到針對安卓系統有相冊權限呢

    來自北京 回復
    1. 看的很認真,確實是筆誤了,不用設計相冊權限

      來自廣東 回復
    2. 整理思路值得學習

      來自北京 回復
  22. 學習了

    來自四川 回復
  23. ??

    來自北京 回復
  24. 可以可以可以。我感覺可以說的在簡單直白一些,其實內容不錯,就是過于冗長

    來自北京 回復
    1. 如果我光說怎么設計,不說為什么就短了,但是我覺得說的全面一點對于大家的幫助可能更大 ??

      來自廣東 回復
    2. 那你可以把情感化設計在融進去,這樣就更全面了

      來自北京 回復
    3. 有道理哈,沒想到呢,給你點贊

      來自廣東 回復