flutter中对接微信登录
如題,直接分析 本文重點講解flutter中ios側(cè)的微信登錄對接。
fluter中對接微信分2側(cè),android側(cè)很容易,而且基本沒有說版本兼容性問題,很完美;ios側(cè)就相當麻煩!
1.微信flutter插件,我用的是 fluwx: ^1.2.1+1,(其實你還可以這樣引用:
fluwx:git:url: https://github.com/OpenFlutter/fluwx)這兩者是等價的。下圖是我的代碼截圖,我用的是git方式,兩個效果一樣:2.我們必須要參考微信官方的對接文檔:https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/iOS.html
這個關(guān)鍵問題就來了,這個文章寫的懵逼不說(先講的是驗證過程,再講的對接步驟。。。),而且關(guān)鍵性的配置根本沒提到怎么配置,只是給了個鏈接。。。!!!這是大公司的特點,越是大公司文檔越“高級。。。”(當然google的除外)。
3.Universal Links。關(guān)鍵的東西來了!!!關(guān)鍵的東西來了!!!關(guān)鍵的東西來了!!!關(guān)鍵的配置:?配置文件:apple-app-site-association,怎么配置呢?
(配置之前建議先閱讀https://www.jianshu.com/p/751d52c3fb46?Universal Link的理解,先了解其原理,才能配置正確。)
也可以看我的講解:
(1)創(chuàng)建一個空白文件,必須是純文本,這個很重要,沒有后綴名的,別看簡單,但是你傳給服務(wù)端的同事時,有可能自動給你帶上后綴,這個就尷尬了。所以這個文件你直接讓后臺的人員幫你創(chuàng)建,你直接復制代碼給他粘貼,純文本,純文本,純文本。如圖,我的配置如下。純json的。能直接點擊下方的鏈接下載,同時postman get請求直接顯示json結(jié)果。
看圖,瀏覽器中輸入了地址之后(https://你的域名/apple-app-site-association)會后要能把這個apple-app-site-association文件下載下來。(注意這里直接這樣以域名加文件名的方式最好了,別在域名后面又加其他的文件路徑,到時候你都懵逼了。)跟后臺的人說下,這個文件放在哪里無所謂,但是輸入這個地址一定要能下載到這個文件即可。文件內(nèi)容(代碼)如下(你直接復制就可以用了,改下你們的teamId號和app的包名就可以了,如下紅色+藍色的部分):
{
"applinks": {
"apps": [],
"details": [
{
"appID": "teamId.app包名",
"paths": [ "/ios/*","/ios","/*","/" ]
}
]
}
}
(2)
https://你的域名/xxx/apple-app-site-association?(錯誤寫法,中間別加其他的目錄,直接域名根目錄)
https://你的域名/apple-app-site-association(正確寫法)
另外在配置了這個文件和url之后需要等一段時間才有效。不是及時生效的。
(3)微信開發(fā)者賬號中ios的配置申請universalLink鏈接,https://你的域名/ios/
(4)xcode的domain association中添加如下:每個app添加自己對應(yīng)的配置即可。
applinks:你的域名
如圖,途中紅色涂抹的位置填上? ?你的域名
(5)代碼處添加universalLink:
https://你的域名/ios/
如圖?圖中,代碼GlobalConfig.WX_universaLink的位置填上https://你的域名/ios/
(6)同時注意原生ios端不用寫微信回調(diào)的代碼了,直接只需要初始話代碼即可。
(7)注意ios側(cè)還有一個添加白名單的問題(如果你是ios開發(fā)肯定這個不用我說了,ios9之后官方要求訪問第三方app時,要有個白名單的添加,才能保證授權(quán)訪問ok,我們這里要訪問微信,那么就要添加微信的白名單),如圖
問題總結(jié):
1.注意這個配置文件生效是有時間的(稍微等個10、20分鐘差不多),不是你配置完了就立馬能生效;
2.微信授權(quán)sdk的問題,官方文檔提到了授權(quán)微信登錄的版本要求:*建議開發(fā)者接入新版本SDK, 覆蓋測試微信7.0.7或以上版本、iOS12或13,以驗證所使用的接口的功能性和可用性。,在我們的項目中關(guān)于版本的這個問題基本只要達到了這個要求,其實就可以完成正常的授權(quán)登錄過程,但是,但是,但是,總有例外,還有有部分手機(少量的)會出現(xiàn)確認授權(quán)出現(xiàn)二次確認彈窗!!!這樣:這個時候肯定是無法正常授權(quán)的。這個我暫時還沒找到解決方案,而且微信官方并沒有給出關(guān)于這個問題的解決方法,默認建議就是確認網(wǎng)絡(luò)是否正常,或者卸載或重新安裝。。。尷尬。我個人覺得后期可以關(guān)注下官方的sdk版本更新或者flutter wx版本的更新看能否解決此問題。有知道怎么解決這個問題的可以留言告訴我謝謝!
拜拜。
總結(jié)
以上是生活随笔為你收集整理的flutter中对接微信登录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php导入excel 进度条,PHP导入
- 下一篇: 关于win10连网显示“网络使用较旧的安