友盟分享 微信分享沒有回調信息

微信分享沒有回調信息

問題:分享成功,取消,失敗沒有提示信息

不知道現在還有沒有用友盟微信分享遇到問題的,如果有,希望這裏的內容能幫到你。

其實友盟官網已經說得很清楚了, 只不過我很多人有時候直接baidu,查不到解決辦法,而且有些解決辦法是比較老版本的分享sdk,並不適用新的sdk。

現在最新版的sdk 6.2.0分享的微信,qq回調是沒問題的,一般都是我們配置上出錯導致分享回調不生效。

友盟分享官網報錯必看

這裏寫圖片描述

接下來對官網說明進行詳解:

4.2 微信授權或分享之後沒有回調

1.你可以調用 UmengTool.checkWx(this)檢查是否配置成功 **(隨便寫在一個activity中進行查看)**

2.檢查微信回調WXEntryActivity是否是在包名路徑下,例如你的包名是com.a.b,那麼這個activity應該放在com.a.b.wxapi文件夾下

這裏得注意下, 正常下情況下,建立項目的時候, 一般java目錄下的包名和uild.gradle文件中的 applicationId "com.a.b"都是一致的,所以我們在集成分享sdk 把wxapi複製到com.a.b下是可以正常回調的。

但是當你發現回調不成功的時候,需要去檢查一下這幾個地方,
1.java目錄的包名是否和applicationId中一致。一致就將wxapi複製到該包路徑下
2.java目錄的包名是否和applicationId中不一致。就在java包下建立一個和applicationId一致的包名,再將wxapi複製到該包路徑下。



爲什麼要去檢查? build.gradle文件中的 applicationId "com.a.b",但其實有時候有些項目 java目錄下的包名並不和我們applicationId名字一樣。

這裏寫圖片描述

3.由於您加了支付的相關功能,在WXEntryActivity中寫入了你們自己的邏輯,而把我們的邏輯覆蓋了,導致不能回調,如下代碼所示即可

public class WXEntryActivity extends WXCallbackActivity {
@Override
public void onResp(BaseResp resp) { 


    if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
        switch (resp.errCode) {
            case 0:
                Toast.makeText(this, "支付成功!", Toast.LENGTH_LONG).show();
                break;
            case -2:
                Toast.makeText(this,"支付取消!",Toast.LENGTH_LONG).show();
                break;
            case -1:
                Toast.makeText(this,"支付失敗!",Toast.LENGTH_LONG).show();
                break;
            default:
                Toast.makeText(this,"支付出錯!",Toast.LENGTH_LONG).show();
                break;
        }
    } else {
        //這裏的意思就是如果不是微信支付, 就繼續走原來的邏輯,那就是給super處理
        super.onResp(resp);//一定要加super,實現我們的方法,否則不能回調
    }
}

}

本片博客只介紹了這一點,如有其它sdk使用上的問題,詳細參照友盟官網文檔。

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