微信客戶端授權登錄開始邀請第三方應用內測了,我們雖然是個創業團隊,但很幸運的成為了該功能的早期內測用戶,經過半年多的試用,積累了不少的經驗和教訓,分享出來,希望對大家有所幫助。
微信授權登錄的優勢有哪些?
1. 數億微信用戶直接登錄, 免去繁瑣注冊流程。
2. 支持獲取用戶基本信息,免去用戶填寫個人資料的煩惱,并且內容真實可靠。
一個iOS應用使用微信授權登錄的過程應該是怎樣的?
申請微信授權登錄→微信sdk接入→多應用賬號打通→提交AppStore審核→上線
為什么提交AppStore審核也列入了這個過程?
因為這里坑最多,我們一開始缺乏經驗,足足在這步浪費了差不多兩個月的寶貴時間!
下面,我們就按照這個過程,逐一進行介紹。
第一步:申請微信授權登錄
微信授權登錄的申請條件?
只要應用已經獲得了微信支付的權限,就可以提交申請。
具體怎么申請,官方有很詳細的介紹,這也不是本文的重點,所以就直接略過了。附上微信開放平臺的地址:https://open.weixin.qq.com/
在這里要重點指出的是:
1. 客戶端的授權登錄是在微信開放平臺申請的。
2. web端的授權登錄除了要在微信開放平臺申請外,還要申請微信公眾平臺的服務號并完成認證,獲取高級接口的訪問權限。
修正:微信的伙伴們反饋了最新的進展,web端的授權登錄現在可以不用公眾號了。
第二步:微信sdk接入
如果你的申請被通過,會得到一個包含有微信授權登錄的SDK包,這個包同時也包含了基礎的分享功能。具體的接入方法,微信會在SDK包中提供詳細的說明文檔,按照文檔進行接入即可。
在這里要重點指出的是:
1. 授權成功后返回的OpenID僅僅是應用內唯一標識,同一用戶在不同應用進行授權,返回的OpenID是不一樣的!
2. 即使是同一個應用,同一個用戶在移動應用授權登錄和在web應用授權登錄,返回的OpenID也是不一樣的!
OpenID都不一樣,那我的產品是一系列應用,想統一賬號怎么辦?
別急,繼續往下看,微信已經提供了解決方案的。
第三步:多應用打賬號打通
如果你們的產品是一個系列應用,又或者同時有移動應用和web應用,那么按照微信的規定,每個應用都必須在開放平臺進行登記和審核(需要綁定包名,所以不能多個應用使用同一個簽名),這也就意味著這些應用每個都是獨立的應用!前面說過,這樣會導致這一系列應用當用戶授權后,返回的OpenID都不一樣,無法唯一標識用戶!這時就需要使用UnionID機制來解決這個問題。
UnionID使用規則如下:
1. 同一個授權用戶,在同一個開放平臺賬號下的應用中進行授權,返回的UnionID是相同的。
2. 同一個授權用戶,在綁定到同一個開放平臺賬號下的公眾賬號進行授權,返回的UnionID是相同的。
這下多應用賬戶打通的問題就徹底的解決了吧!
第四步:提交AppStore審核
本來不該寫這個環節的,因為這個環節貌似跟微信授權登錄沒什么關系,但其實這里才是本文最最最重要的地方,這里真的是坑多且深啊,我們足足在這里耗了兩個月左右…
當我們[第一次]滿心歡喜的以國內少數幾個(現在我懷疑就是第一個!)僅支持微信授權登錄應用的姿態,把應用提交到AppStore審核兩周后,得到了我們的第一個拒絕通過的審核理由:你們的微信登錄按鈕點了沒反應!
微信登錄按鈕為什么會沒反應?
我們可是經過了充分的測試了呀!特別是微信授權登錄流程,更是測的不能更細致了!最后我們發現,這個登錄按鈕如果想沒反應,那一定要做一件事情:卸載微信!
好吧,是我們的問題,作為一個創業團隊,沒有配專職的測試人員,測試經驗不足,遺漏了這一步,讓蘋果大神您測出來了,我們認了!
我們立刻為微信登錄按鈕添加了微信是否安裝的檢測,如果檢測到微信沒有安裝,那我們就彈出對一個提示框,提示用戶要去下載微信,而且提示框還提供了直接跳到AppStore下載微信的按鈕,我們甚至還貼心的添加了英文版的提示框(因為AppStore拒絕我們通過的理由中的截圖是英文版的系統)。
這下我們信心滿滿的[第二次]向AppStore提交審核,差不多兩周后得到了我們的第二個拒絕通過的審核理由:你們應用設置了太高的門檻,必須要安裝微信才能登錄和使用你們的應用!你們要么使用自己的用戶授權認證系統,要么讓你們目前的登錄不需要安裝微信就可以使用。
我們郁悶,我們不服,我們去申訴:我們使用微信授權登錄是為了提供更好的用戶體驗,是為了避免用戶輸入個人資料的繁瑣過程呀!
申訴結果在五天后反饋到了我們:我們仔細閱讀了你們的申訴內容,但是還是認為你們應用設置了太高的門檻,必須要安裝微信才能登錄和使用你們的應用!你們要么使用自己的授權認證系統,要么讓你們目前的登錄不需要安裝微信就可以使用。
好吧,我們屈服了,我們作為一個創業團隊,無法讓微信授權登錄的sdk在未安裝微信的時候,可以跳轉到web頁面進行授權,我們只好用了兩天時間開發了基于手機號和驗證碼的注冊登錄系統,開始[第三次]向AppStroe提交審核。這次的審核用了一周多的時間,審核的速度是快起來了,可是還是悲劇了!理由甚至都沒變:你們應用設置了太高的門檻,必須要安裝微信才能登錄和使用你們的應用!你們要么使用自己的用戶授權認證系統,要么讓你們目前的登錄不需要安裝微信就可以使用。
這次我們徹底憤怒了,增加了那么明顯的手機號驗證碼授權登錄界面啊,審核大哥你不可能沒看到啊,居然還用同樣的理由拒絕我們,太過分了吧!這次我們使用了更為強烈的措辭進行了申訴,申訴結果在提交后的第四天得到了反饋:我們注意到了你們已經提供了自己的用戶授權認證系統,但是你們使用的微信授權登錄設置了太高的門檻,必須要安裝微信才能登錄和使用你們的應用!你們要么使用自己的用戶授權認證系統,要么讓你們目前的登錄不需要安裝微信就可以使用。
當時我們都無語了,審核大哥你要不要做的這么絕啊!我們當時甚至萌生了要不索性把微信授權登錄去掉,換成微博授權登錄念頭!最終,我們決定做最后一次嘗試,就是應用在登錄的時候,主動檢測微信是否有安裝,如果沒有安裝的話,直接把微信的授權登錄按鈕隱藏掉,只保留我們自己的注冊登錄功能!這是我們[第四次]向AppStore提交審核,心里剩下的只有忐忑……六天后,審核通過了!審核終于通過了!喜極而泣啊!
回想整個應用提交AppStore審核過程,耗時近乎兩個月,從世界杯前硬生生被拖到世界杯徹底結束,我們的應用是個專注宵夜應用啊,世界杯過了,我們的推廣難了n倍啊!
希望大家看了我們的經歷,能夠吸取教訓,不要重蹈我們的覆轍!
以上就是我們應用使用微信授權登錄提交AppStore審核的過程。