友盟分享使用與踩坑記錄

       前言:公司要作第三方分享功能,因爲時間比較緊急,因此就採用了第三方,本次使用的是友盟分享,因爲是第一次使用這個分享,踩了很多坑,因而寫下這篇博客來幫助其餘人少踩坑也是給本身加深記憶.android

使用方法

1. 去官網下載Demo進行參考(github.com/umeng/Multi…)

2. 下載所需分享的第三方社會化分享SDK(developer.umeng.com/sdk?spm=a21…)

3. 下載SDK集成輔助工具並生成moudle(developer.umeng.com/tools)

4. 去本身的項目導入這個moudle

5. 接下來就是去看官方Demo來進行對應的操做啦,因爲不一樣的分享平臺可能配置有所不一樣,因此就不一一細講了,你們看官方Demo和說明文檔應該不會有什麼太大的問題,有問題能夠評論一下,我看到確定會答覆的(官網說明文檔連接developer.umeng.com/docs/66632/…)

踩坑記錄

  1. 微信須要創建一個空Activity繼承他的回調,若是你們根據他的規範操做了還有這個報錯的話,你們記住必定要放在你的主moudle中,否則他是找不到這個Activity的,仔細檢查清單文件的Activity是否路徑正確,固然,若是要徹底模塊化或者是作SDK的話,可使用別名,相似於這樣:git

     
    
    
     <activity android:name="wxapi.WXEntryActivity"
         android:configChanges="keyboardHidden|orientation|screenSize"
         android:exported="true"
         android:theme="@android:style/Theme.Translucent.NoTitleBar"
         />
     <activity-alias
         android:name="${applicationId}.wxapi.WXEntryActivity"
         android:targetActivity="wxapi.WXEntryActivity"/>
    複製代碼
  2. 友盟面板的分享應用字體是沒有國際化的,若是須要國際化的或者是分享面板的定製不能知足需求的能夠自定義面板,而後參考官方demo的 SharePlatformActivity 與 ShareDetailActivity 實現點擊自定義dialog的item跳轉到對應的分享github

  3. 友盟分享的錯誤碼也是沒有國際化的,若是是產品須要自定義Toast文字能夠這樣 api

    String text = "";
     if (platform != SHARE_MEDIA.MORE && platform != SHARE_MEDIA.SMS
             && platform != SHARE_MEDIA.EMAIL
             && platform != SHARE_MEDIA.FLICKR
             && platform != SHARE_MEDIA.FOURSQUARE
             && platform != SHARE_MEDIA.TUMBLR
             && platform != SHARE_MEDIA.POCKET
             && platform != SHARE_MEDIA.PINTEREST
    
             && platform != SHARE_MEDIA.INSTAGRAM
             && platform != SHARE_MEDIA.GOOGLEPLUS
             && platform != SHARE_MEDIA.YNOTE
             && platform != SHARE_MEDIA.EVERNOTE) {
         if (platform.toString().equals("WEIXIN")) {
             text = getResources().getString(R.string.wechat);
         } else if (platform.toString().equals("WEIXIN_CIRCLE")) {
             text = getResources().getString(R.string.wechat);
         } else if (platform.toString().equals("QQ")) {
             text = getResources().getString(R.string.qq);
         } else if (platform.toString().equals("QZONE")) {
             text = getResources().getString(R.string.q_zone);
         }
         if (throwable.toString().contains("2008")) {
             ToastUtil.showShort(String.format(getResources().getString(R.string.not_installed), text));
         }
     }
    複製代碼
4. 爲了包的體積比較小並且沒有須要實現對應功能,我下載的都是精簡版,目前發現分享只能是那個官方QQ,輕聊版啥的仍是提示未安裝改應用,這個目前尚未解決,有大佬知道能夠告知一下,謝謝!!!
相關文章
相關標籤/搜索