APP授權設計:如何讓用戶不反感并同意授權
授權機制,是手機操作系統安全機制中的一部分,在開發應用時需要用到各種各樣的手機系統權限。那在我們的APP中,它的授權該如何設計,才能讓用戶同意授權,或者不反感授權呢?
本文大綱圖:
一、認識授權
1.1 什么是授權
授權機制,是手機操作系統安全機制中的一部分,在開發應用時需要用到各種各樣的手機系統權限。
一般來說,在操作系統中權限會被分類,有些權限級別較低,應用只需在開發時聲明即可使用;而與用戶有關的權限級別都非常高,需要用戶親自授權才可以。
我們的產品中的功能經常會涉及到這些權限,為了能使應用正常使用,從而給用戶帶來更好的體驗,我們希望用戶都能授予我們相關權限。
1.2 需要用戶授權的權限有哪些
iOS需要用戶授權的權限有下面兩種:
①涉及到用戶隱私的權限:
②系統服務權限:
- 無線網絡與蜂窩數據(iOS10以后加入,中國大陸特有的權限)
- 通知權限
- VPN
- 鍵盤
……
兩種權限的區別:
涉及到用戶隱私的授權彈窗中,可以添加簡短的自定義的向用戶解釋說明的語句;而系統服務權限彈窗不可以添加說明,有系統的固定提示語。
注意:
- iOS應用需要使用iCloud服務時,如果用戶已經在iPhone上登錄了iCloud,則不需要用戶授權可以直接使用。
- 使用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 用戶授權過程中存在的問題
- 很多應用,會向用戶申請一些與功能關系不大的權限,導致用戶對所有軟件的信任度很低;
- 應用拿到通知權限以后為所欲為,經常向用戶發一些廣告,沒用的信息,騷擾用戶;
- 應用在向用戶申請權限的時候,沒有說清楚需要權限做什么用。
這些因素導致了我們真正需要一些權限的時候,用戶不再信任我們;導致我們軟件中的正常功能獲取不到權限,不能為用戶提供良好的體驗。
二、如何針對授權做設計
第一步:確定應用中需要用到哪些權限
梳理一遍應用中的功能,或者和開發溝通,確定我們都需要哪些系統權限,我們需要做到下面兩點:
- 確定這些權限確實需要,不去獲取多余的權限;
- 確定哪些要為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系統,在用戶拒絕授權后,我們可以在下次出現的自定義彈窗中加入去設置按鈕,用戶只需要兩三步就可以授權成功。
最重要的是:以前用戶很容易找不到在哪里去開啟權限,而現在我們可以直接將用戶引到到授權頁,用戶點擊授權即可。可以說有了去設置這個按鈕后,用戶再次打開權限的成本大大降低,而pre-permission當初出現的原因,正是為了解決再次打開權限的成本高的問題。
那么是不是說pre-permission這種方式已經過時了呢?
答案當然是:沒過時。
首先雖然現在的再次授權成本大大降低,但畢竟還是沒有系統授權框的授權體驗好。
但是最重要的不是這個,最重要的是:當用戶不能很好的理解我們為什么需要授權的時候,我們可以在預授權的提示框中加入詳細的說明,從而達到用戶給我們授權的目的。
(4)接下來我們看哪些權限需要pre-permission
其實大部分的權限獲取,通過系統自帶的授權框都能解決問題。
比如:相機、相冊、定位等。
這些權限的特點是和授權場景的關聯性很強,只需要簡單的文字用戶就能理解我們需要權限干什么;用戶理解后一般就會授予我們權限,如果用戶不給我們權限的話,就不能使用相關功能。
比如:他要修圖,卻不給我們相冊權限,之后當用戶發現沒有權限不能修圖后,自然會給我們權限,所以這些權限一般不用擔心。
比較特殊的是通知權限和通訊錄權限。
我們先來說通知權限。
先說結論:如果通知權限對應用影響很大,一定要加pre-permission。如果通知權限只是給用戶提供一種便利,沒有也影響不大。比如:淘寶、京東這些,可加可不加。
原因:通知權限幾乎是每個應用都想拿到的權限,對于有些應用來說,通知權限是一個很重要的權限。
比如:通訊類軟件,消息需要實時的傳達給用戶,如果沒有通知權限,對于應用的影響是非常大的,這類應用比較少。
而對于其他應用來說,通知權限只是為了增加用戶體驗的一個方式而已,拿到最好,拿不到也無關痛癢。
還有些應用拿到通知權限,就是為了給用戶發一些沒用的信息,而不考慮用戶的感受,這種應用很多,拿不到也就算了。
于是這就造成了一個問題:現在的用戶一般都不想給應用通知權限,用戶的感覺就是給了通知權限就會被不斷的彈窗騷擾,再加上很多應用,都是用戶剛一打開應用就讓用戶授予通知權限。而iOS中的通知框又不能添加說明文字,不能向用戶說明應用獲取通知權限的目的,所以大部分用戶很多時候一看到通知權限就會下意識的不授予。一旦用戶不授予通知權限,我們也不能像相機、相冊、定位這樣的權限一樣,通過不讓用戶使用相關功能的方式,來再次提示用戶去打開權限。因為即使沒有通知權限,應用一定是可以正常運行的——于是拿到通知權限變成了一件非常難的事。
關鍵的問題是:有些應用拿不到就拿不到了,而對于有的應用的影響是非常大的,甚至是致命的。這些應用不會去騷擾用戶,但是也被用戶誤解了。
所以對于這種應用來說,就需要一種方式來避免被用戶誤解,向用戶說明需要通知權限去做什么,盡最大可能性拿到通知權限,那么pre-permission也就再次派上了用場。
再來說說通訊錄權限。
結論:不管什么應用,在申請通訊錄權限時,最好都加上pre-permission
原因:在所有的權限中,哪個權限是用戶感覺最涉及隱私的——大部分用戶都會認為是通訊錄權限。
除非你的應用像微信,QQ這類讓用戶有足夠安全感的應用,否則一般情況下用戶都不會隨便授予你通訊錄權限。現在用戶動不動收到詐騙短信,詐騙電話,誰知道是不是你們這種不靠譜的公司泄露出去的。
即使是大公司,現在都不能讓用戶放心了,最近爆出的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的優勢,我們可以充分的向用戶說明:
- 結合圖片文字的方式說清楚我們要獲取這個權限做什么用?
- 如果你不給我們權限會怎樣?
- 打消用戶的疑慮,如果是通訊錄權限就說明白我們不會侵犯你的隱私,您可以隨時關閉該權限;如果是通知權限就說明白我們不會騷擾你,前面給出的VUE的預授權彈窗中,就專門強調了不會打擾用戶,這點很好。
(2)第一次iOS系統授權提示框出現時的文案
說明白,如果不給我們權限你將不能使用什么功能,個人認為“你不能做什么”這種方式要比“我要為你做什么更好”。
(3)被拒絕后提示框中的文案
您還尚未開啟某權限,所以不能使用該功能,請開啟權限。
總結
這篇文章寫得比較長,希望的是大家看完后不光知道怎么去設計App授權,更知道為什么這么設計,這樣當遇到不同的情景的時候才能靈活處理。
最后我們以一個例子來收尾
假設我們的應用是一款小視頻類軟件。
第一步:找出所有應用中用到的權限,分為iOS需要的授權和Android需要的授權
- 針對iOS:要用到的權限有網絡、通知、相機、相冊、麥克風、定位。
- 針對Android:要用到的權限有相機、相冊、麥克風、定位、存儲權限。
第二步:針對每一個權限做設計
接下來我們以iOS下的相機權限為例:
1)什么時候彈出?
用戶點擊錄制視頻時彈出。
2)要不要pre-permission?
不要,所需權限與場景關聯性很強,利用系統提示框中的自定義文字即可。
3)如果用戶拒絕了怎么辦?
點擊拒絕后和下次進入時,利用整頁去提示用戶,并添加去設置按鈕。
文案:(簡單示范,大家可以寫的更好一點)
- 第一次請求用戶授權時:如果不授予相機權限,您將不能拍攝視屏。
- 拒絕后提示用戶時:由于您還未授予相機權限,暫時不能錄制視頻,請開啟權限。
這樣一個權限的設計就完成了,可以去繪制原型圖了,相冊、麥克風、定位權限的設計和相機權限的設計基本雷同,通知權限就當成作業讓大家去設計了。
彩蛋:
如果大家覺得我寫的還不錯的話,希望大家能給我點個贊支持一下,讓我看看有多少人支持我好嗎?
以后持續為大家帶來干貨,這里要提前預告一下,最近會出一個很厲害的干貨,相較于這兩篇文章來說,這兩篇文章只是開胃菜,哈哈,所以趕緊訂閱我吧。
干貨沒看夠點這里:5000字,總結App加載設計
本文由 @一點優秀 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自 Unsplash ,基于 CC0 協議
學習一波 牛的
請問app下次更新后預授權彈框是怎么處理的呢
寫的真的很好
非常感謝作者的分享,很有幫助
1.【網絡授權框】:和【系統第一次申請授權網絡彈窗】是同一個東西嗎?
2.【通知授權框】:是指被拒絕過一次后再次觸發場景彈出的彈窗嗎?
3.【系統授權框】被拒后彈出的彈窗是不是【通知授權框】。如果彈窗文字是固定的,為什么能選擇頁面來提示?
被拒絕后提示框的文案,是指Android還是IOS? IOS好像是定死的
既然第一次請求授權彈窗已經有說明你不能做什么,那拒絕后似乎沒有必要馬上提示了把?
(一點問題)
請問大大,安卓的通知權限是自動獲取的嗎?用戶不需要授權?(iOS用戶所以不太熟悉安卓)
小白學習了,很不錯,以后可以直接運用工作中了 ??
非常棒,作者可以把腦圖源文件給我嗎,在線等
嘿~優秀的你!文章寫得真棒!可以轉載到公眾號嘛?加微信you10942
轉載哈,沒關系, ??
干貨,沒說的,訂閱+收藏,兄dei。
這是我見過的最詳細的授權總結。不過還有未考慮到的邊界情況,就是用戶第一次訪問APP的時候(針對IOS),如果手機未打開無線局域網和蜂窩移動網絡,這個時候網絡授權是不會彈出的;同樣,如果手機GPS定位未打開,不過這個是有解決方案的,先引導引用戶開啟GPS開關。
喜歡你的分享,有深度和廣度,獲益良多
感謝你的評論, ??
你好,我是圖書策劃編輯,看了你所有的文章,想和你約下稿件,方便的話可以加下我的微信18211086848具體溝通一下
寫的不錯,有公眾號嗎,可以關注一下
沒有的哈,一般文章會發表在這里的
很棒~ 作者能加微信嗎?
可以加QQ ??
1325004866,辛苦咯
說你的QQ我加你
一點優秀,你真的很優秀,我只收藏了兩篇文章,都是你寫的,期待你的下一篇
看到你的評論就可以讓我開心一天,接下來還會有好文章的~
寫的很好,獲益!
不錯不錯,尤其是分析了預授權
好文
不是說安卓不需要獲取相冊權限嗎,怎么后來的部分又寫到針對安卓系統有相冊權限呢
看的很認真,確實是筆誤了,不用設計相冊權限
整理思路值得學習
學習了
??
可以可以可以。我感覺可以說的在簡單直白一些,其實內容不錯,就是過于冗長
如果我光說怎么設計,不說為什么就短了,但是我覺得說的全面一點對于大家的幫助可能更大 ??
那你可以把情感化設計在融進去,這樣就更全面了
有道理哈,沒想到呢,給你點贊