集成微信分享被坑-都在隱藏副本里

為什么標(biāo)題要說(shuō)都在隱藏副本里呢?
因?yàn)樵谀阕?cè)和使用的時(shí)候,沒(méi)有任何信息提示你正確的方式,下面的坑,我恰好全踩進(jìn)去了,刻苦銘心。

  • 關(guān)于微信分享集成
    當(dāng)你嚴(yán)格按照官方流程注冊(cè),配置到ShareSDK中,觸發(fā)分享無(wú)反應(yīng),好吧你一定覺(jué)得我是不是哪里疏漏了。
    核查一遍:誒?都對(duì)著呢,沒(méi)有疏漏,try again 馬丹沒(méi)反應(yīng),也看不到一丁點(diǎn)日志信息,此時(shí)你一定和我一樣內(nèi)心幾乎是奔潰的。
    不得不打開(kāi)度娘尋找希望的燈塔。

</br>
如果你已經(jīng)入坑,那下面的料幫你出坑。如果你正準(zhǔn)備入坑,那你讀完本篇也免于步我后塵。

第一坑-微信開(kāi)發(fā)者平臺(tái)注冊(cè)

在填寫(xiě)平臺(tái)信息的時(shí)候,需要我們填寫(xiě)apk相關(guān)信息。

填寫(xiě)平臺(tái)信息

重點(diǎn)時(shí)這個(gè)應(yīng)用簽名,debug簽名release簽名都行。但是這個(gè)簽名將被微信用于鑒別你的apk是否申請(qǐng)到分享權(quán)限。
也就是說(shuō),你這里輸入的簽名必須和你測(cè)試的apk簽名一致。

不管是jks,還是keystore,我們使用命令行查看簽名都會(huì)得到下面的簽名碼

MD5: 34:F2:H8:38:DC:A4:45:EB:23:D4:E7:F2:3C:11:22:8D
SHA1: 21:A1:64:4A:78:33:6E:91:22:44:67:CC:3E:65:21:89:AE:89:BF:ED
SHA256: AE:6F:32:CC***

此處,我們只用MD5,因?yàn)槲以谟械奶由峡吹接腥速N的SHA1,親測(cè)SHA1是不行的。

大寫(xiě)

如果你像上面一樣是直接粘貼上去的,恭喜你,你已經(jīng)掉進(jìn)了第一坑

** 秘籍 ① MD5碼 去冒號(hào) 且 全部小寫(xiě)**

在填寫(xiě)MD5碼時(shí),去掉冒號(hào),并且全部使用小寫(xiě)-別問(wèn)我怎么知道的,巨人無(wú)處不在。

小寫(xiě)簽名

審核通過(guò)后,你配置好appid和appsecret,連上數(shù)據(jù)線(xiàn)或者使用wifi直接運(yùn)行工程。你會(huì)發(fā)現(xiàn)還是不行,不要急。
</br>
秘籍② 測(cè)試必須使用注冊(cè)的簽名打包
上面我們提到,簽名用于微信檢查apk是否有分享權(quán)限。大部分同學(xué)run的都是debug簽名,如果你需要測(cè)試微信分享,就必須Generate signed APK,使用提供上面MD5的簽名文件進(jìn)行打包。
每次測(cè)試都要打包,不累死也浪費(fèi)大把時(shí)間
你可以在module目錄下的build.gradle文件中添加如下配置,這樣debug和release的簽名就一至了,不需要打包,就可以測(cè)試,將jks或者keystore文件放到module根目錄下。

    android {
    //配置簽名文件
    signingConfigs {
        release {
            keyAlias 'release'
            keyPassword 'android'
            storeFile file('keystore.jks')
            storePassword 'android'
        }
    }

  buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            signingConfig signingConfigs.release
        }
        debug {
            signingConfig signingConfigs.release
        }
    }
}

第二坑-調(diào)用微信分享

我沒(méi)有使用ShareSDK的分享UI,直接使用的分享內(nèi)容API


                        ShareParams wechat = new ShareParams();
                        wechat.setShareType(Platform.SHARE_WEBPAGE);
                        wechat.setTitle("" + myfastbean.getTitle());
                        wechat.setText("" + myfastbean.getSnapDes());
                        wechat.setImageUrl("" + myfastbean.getPicture());
                        wechat.setUrl("" + myfastbean.getLink());
                        Platform weixin = ShareSDK.getPlatform(Wechat.NAME);
                        weixin.setPlatformActionListener(shareListenner);
                        weixin.share(wechat);

** 秘籍 ① 使用Platform.SHARE_WEBPAGE必須字段**
Title、Text、Url、ImageUrl
就是 標(biāo)題,內(nèi)容個(gè),連接,和icon,缺一不可

如果上面都沒(méi)問(wèn)題,那幾本上微信分享就搞定了。

額外補(bǔ)充一點(diǎn),Text字段。
秘籍 ②
Text字段,在分享到微信時(shí)有長(zhǎng)度限制。最大不能超過(guò)64字節(jié)。如果超過(guò)則無(wú)反應(yīng),拉不起來(lái),你依然別想看到任何log-別問(wèn)我怎么知道的-----。

另外看到有的博客上說(shuō),在微信平臺(tái)注冊(cè)時(shí)填寫(xiě)的AppName必須和打包apk上的名字一樣,經(jīng)我親測(cè)發(fā)現(xiàn)并無(wú)此要求,可以隨意寫(xiě),平臺(tái)上的名字應(yīng)該僅用于查看。


這是我自己踩過(guò)坑以后的總結(jié),也希望能幫助到坑里的你。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,366評(píng)論 25 708
  • 一、背景介紹 作為一名Android開(kāi)發(fā),從最初的跌跌撞撞到現(xiàn)在小有所悟,這其中經(jīng)歷過(guò)的辛酸苦辣也是一種痛并快樂(lè)著...
    freecats08閱讀 5,167評(píng)論 7 54
  • 最近由于相關(guān)需求,需要將微信分享集成到項(xiàng)目中,但在過(guò)程中遇到很多問(wèn)題,現(xiàn)大致整理與此 此次過(guò)程中還有些許遺留問(wèn)題(...
    忍辭閱讀 18,441評(píng)論 13 45
  • 今日推薦 經(jīng)常閱讀博客是個(gè)好習(xí)慣推薦鴻洋CSDN的博客 微信支付相關(guān)文章 詳細(xì)介紹Android開(kāi)發(fā)集成微信支付(...
    MrQ_Android閱讀 6,302評(píng)論 9 52
  • 又是匆匆的一年。悄然回首,得到的,失去的,歡樂(lè)的,酸楚的,每天都在交錯(cuò)。 2015年永生難忘的一年,有過(guò)期待,有過(guò)...
    搖擺佳人閱讀 439評(píng)論 2 7

友情鏈接更多精彩內(nèi)容