一篇文章看懂如何讓用戶授權
作者:一點優秀
全文共 7233 字 12 圖,閱讀需要 17 分鐘
———— / BEGIN / ————
授權機制,是手機操作系統安全機制中的一部分,在開發應用時需要用到各種各樣的手機系統許可權。
那在我們的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)如果用戶拒絕了怎麼辦?
點擊拒絕後和下次進入時,利用整頁去提示用戶,並添加去設置按鈕。
文案:
(簡單示範,大家可以寫的更好一點)
第一次請求用戶授權時:如果不授予相機許可權,您將不能拍攝視屏。
拒絕後提示用戶時:由於您還未授予相機許可權,暫時不能錄製視頻,請開啟許可權。
這樣一個許可權的設計就完成了,可以去繪製原型圖了,相冊、麥克風、定位許可權的設計和相機許可權的設計基本雷同,通知許可權就當成作業讓大家去設計了。
彩蛋:
如果大家覺得我寫的還不錯的話,希望大家能給我點個贊支持一下,讓我看看有多少人支持我好嗎?
———— / END / ————
本文由 @一點優秀 原創發佈於人人都是產品經理。未經許可,禁止轉載
12周攻破產品基本功,彌補從理論到實戰的缺失
讓你求職面試一路開掛,快速斬獲offer!
掃上方二維碼,免費獲取課程大綱
TAG:人人都是產品經理 |