Android 友盟分享躺過的幾個坑,大坑,坑爹啊


 

前言:公司上線了一個項目,做Android 客戶端集成友盟分享,在做得過程中,遇到了下面3個問題,希望其他小伙伴注意。

        ( 友盟在線客服 QQ : 800083942  ) 

 

錯誤1

1、錯誤描述

    我是照着友盟的集成文檔一步一步的集成的,做完后,發現qq空間分享不成功,總是出現失敗,下面是失敗截圖

    

2、錯誤原因:分享鏈接錯誤

   因為我們的應用還沒有上線,所以分享的鏈接是本地搭建的服務器地址,比如:"http://192.168.1.132:8001/app“

   就是因為這個分享鏈接的問題,導致我分享到qq空間出現異常。如果把這個鏈接換成: ”http://www.baidu.com“,分享就成功了。

   總結:分享鏈接最好用帶域名的鏈接,不要使用帶ip地址的鏈接

 

錯誤2:錯誤的集成qq appId 

    1、錯誤的集成

    

  

2、正確的集成

    

 

二、關於分享成功回調的問題

    1、關於 WXEntryActivity

        1.1:路徑的問題   

                1.1.1 :獲取包名

                       這里請注意包名是app的包名,不是代碼的包名,也不是AndroidManifest.xml 里面的package

                        

                       Android studio正確獲取的包名的方法:

                       

                    

         1.1.2  設置WXEntryActivity路徑 ,假設 1.1.1 中的路徑是com.sp.szry 

                  在Android studio 中創建一個包名為  com.sp.szry.wxapi

                   

               

          1.1.3  在AndroidManifest.xml 里面配置 WXEntryActivity 路徑

                   

               

   1.2:代碼的問題

public class WXEntryActivity extends WXCallbackActivity  {

    @Override
    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
        super.onCreate(savedInstanceState, persistentState);
    }

    @Override
    public void onReq(BaseReq req) {
        super.onReq(req);
    }

    //微信回調
    @Override
    public void onResp(BaseResp resp) {   //分享之后的回調
        switch ( resp.errCode  ) {
            case  BaseResp.ErrCode.ERR_OK : //正確返回
                //Toast.makeText(this, "微信分享成功回調了111", Toast.LENGTH_SHORT).show();
                break;
        }
        super.onResp(resp);
    }
}

 

 

 

 

2、關於分享回調

//分享回調
ShareCallBackLister shareCallBackLister ;

 

  if ( shareCallBackLister == null ){
            shareCallBackLister = new ShareCallBackLister();
     }

 //打開分享面板
 mController.openShare(ShareWebActivity.this, shareCallBackLister ) ;

 

  /**
     * 友盟分享回調
     */
    class ShareCallBackLister implements SocializeListeners.SnsPostListener {

        @Override
        public void onStart() {
        }

        @Override
        public void onComplete(SHARE_MEDIA share_media, int eCode , SocializeEntity socializeEntity) {
            if (eCode == 200) {  //分享成功

                if (SHARE_MEDIA.SINA.toString().equals(share_media.toString())  ) {   //新浪微博


                }else if ( SHARE_MEDIA.WEIXIN.toString().equals(share_media.toString()) ){  //微信


                }else if ( SHARE_MEDIA.WEIXIN_CIRCLE.toString().equals(share_media.toString()) ){ //微信朋友圈

                }else if ( SHARE_MEDIA.QQ.toString().equals( share_media.toString()) || SHARE_MEDIA.QZONE.toString().equals( share_media.toString() )){   //qq
                  
                }
            } else {
                String eMsg = "";
                if (eCode == -101){
                    eMsg = "沒有授權";
                }
                //分享失敗
            }
        }
    }

 

三:新浪微博分享的問題

      錯誤描述:在分享中,我設置了分享的內容,分享的鏈接地址,分享的圖片。分享完成后發現分享的http地址打不開,於是找到了一下解決方法

      分享原代碼:(錯誤的 )

        //新浪微博
        SinaShareContent sina = new SinaShareContent(); //分享標題
 sina.setTitle( shareTitle ); //分享內容
 sina.setShareContent( shareText ); //分享鏈接
 sina.setTargetUrl( shareUrl ); //分享圖片
        if ( shareImageUrl.length() > 3 ){ sina.setShareImage(new UMImage(activity, shareImageUrl)); }else { sina.setShareImage(new UMImage(activity, R.drawable.logo144)); } ShareWebActivity.mController.setShareMedia( sina );

 

   正確的代碼 :(正確的  ) (注意:分享的鏈接 要 拼接到 分享內容的后面 , 否則分享鏈接失效 )

        //新浪微博
        SinaShareContent sina = new SinaShareContent(); //分享標題
 sina.setTitle( shareTitle ); //分享內容
        sina.setShareContent( shareText  + shareUrl ); //分享圖片
        if ( shareImageUrl.length() > 3 ){ sina.setShareImage(new UMImage(activity, shareImageUrl)); }else { sina.setShareImage(new UMImage(activity, R.drawable.logo144)); } ShareWebActivity.mController.setShareMedia( sina );

 

    

 

 

     

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM