mui、HBuilder、 HTML5+實現分享微信分享界面閃退的問題

實現微信分享的步驟有如下幾步:

 

1. 在微信開放平臺申請AppID、AppSecret;

 

2. 配置Hbuilder項目中的manifest.json文件,添加分享權限和配置分享SDK; 

 

3. 測試分享。

 

 

 

步驟是很簡單,但如果出現問題的話涉及到代碼的開發、AppID的申請、打包過程、以及微信調用等環節,問題很難在第一時間得到定位。

 

爲了解決項目中存在的微信分享出現閃退的情況,我足足花了四天的時間才找到了出錯的地方。

 

微信分享出現錯誤的具體表現是:通過USB數據線連接Hbuilder和手機進行聯調測試,微信分享一調一個準,速度槓桿滴。打包發佈後,再進行分享,其他的環節都沒問題,但微信就是閃了一下以後就沒有反應了,這個速度也很快,快到還沒看清是不是微信的界面呢,就沒反應了。

 

從問題出現的時機上來判斷,應該是微信自身的問題,因爲只要點擊了分享後,分享的代碼沒有問題的話,後續的環節就交給微信來執行了。

 

其他同事也不懂這個問題,在這個問題上沒有幫上忙,反倒是亂下結論,混淆視聽,浪費了不少的時間。當然最後問題的解決,也是同事最新懷疑出了問題的環節,我實際進行測試後才發現了錯誤。

 

原來問題就出現在微信分享AppID的申請上,申請AppID時填寫的應用簽名錯了,以至於分享的代碼不能夠正常地調出微信的分享界面,這也從側面驗證了我之前問題是出在微信那邊的思路。

 

在微信開放平臺申請AppID時,需要填寫應用簽名一項。因爲受到mui社區上一篇文章的誤導,我把應用簽名寫成了Google開發者證書中的SHA1簽名,但微信官方需要的並非是這個這個簽名。

 

 

微信在手機上調用分享界面時是需要這個申請AppID時填寫的應用簽名的,他們在審覈AppID申請後把這個簽名值保存在數據庫裏。當第三方應用調取微信分享時,微信會匹配這個AppID中隱含的應用簽名是否和實時從手機上獲取到的應用簽名匹配,如果匹配則進入微信分享,如果不匹配就閃退。

 

所以這個應用簽名一定要寫對,如果沒有寫對,你就去哭吧,微信是不會提醒你錯誤出在哪裏的!!

 

那麼應用簽名如何獲取呢?有個叫GenSignature的App,只要輸入應用的包名就可以獲取到該應用的應用簽名。我在百度雲上分享了這個App,複製這個鏈接和密碼就能下載: https://pan.baidu.com/s/1qYib3eG 密碼: 7r1k  或者直接點擊閱讀原文打開鏈接。

 

 

事後我對這件事情的分析是遇到問題我們應該不慌不忙,沉着應對。在這個過程中我們作爲代碼的當事人,是最清楚事情原委的主導者,抱怨或者隨波逐流,唯唯諾諾,接收別人所謂“熱心的幫助”只會讓我們把精力浪費在不必要的地方,所以自己的事情還得自己做,自己挖的坑哭着也要填完。

 

通過HTML5+實現微信分享容易遇到的坑:

1. 沒有正確設置權限: 微信分享需要分享權限,需要正確配置分享SDK中的AppID和AppSecret,這些是最基本的也是最重要的內容。

2. AppID申請過程中填寫的內容一定和真實的內容有出入:在申請AppID時,應用簽名和包名一定要正確,這兩個如果填錯,是很難發現問題出現的環節,所以多檢查幾次也不爲過。

3. 打包時包名寫錯:打包時需要填寫包名和Google開發者證書,能否正確調用微信分享,成敗在此一舉。

 

        4. 分享的內容爲空:分享的內容有時也會影響到分享的結果,微信分享字段有三個:title,content和href,這三個字段最好都不要爲null。

轉自:https://mp.weixin.qq.com/s/auewkBOo4cwBQI1Zz1hZ2Q?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章