踩坑!android端整合微信第三方登入
阿新 • • 發佈:2019-01-24
本篇記錄 app 端獲取到微信 code 的過程。用 code 獲取 access_token 的過程是後臺伺服器完成的。(當然也可以由 app 端自己去拿 code 換取 access_token,這裡考慮到如果是後臺獲取token,android 和 ios 兩個人都省事,所以就麻煩了後臺老哥們)
這裡假設你已經註冊了微信開放平臺的開發者賬號,並且已經申請了 appkey 和 appid
新增 gradle依賴
配置清單檔案
發起微信登入請求
微信登入的回撥處理
- 在包名目錄下建立 wxapi 資料夾
- 建立類 WXEntryActivity 並在清單檔案中註冊
- 回撥監聽資料的處理
成功獲取 code 的示例
坑來了
專案很早之前有這麼個需求,就是開發版和正式版要同時安裝到手機上,就像兩個不同的app,於是就利用 gradle 實現了動態修改包名來達到這個目的。(坑挖的也是挺隱蔽挺深的)。
前一段時間要整合微信登入了,ok照著文件一步步來,反覆測試反覆確認,就是不能調起微信,各種偏方都試了還是不行,就這樣耗了兩天,突然靈光一閃,會不會是動態改包名的鍋?
- 來一波分析,當前 module 的目錄結構是
com/xxx/app
, 正式版包名com.xxx.release
,測試版包名com.xxx.app
,當打正式包的時候,目錄結構跟正式版版包名不一致,ok,直接更改目錄結構為com/xxx/release
假裝有個總結
有時候有些bug,真的是很詭異很奇怪,當 baidu google 都幫不了你的時候,先別放棄,不妨靜下心來好好想想,多試試,總能解決的。