初試友盟分享

這兩天研究了下友盟分享,最後終於成功實現QQ好友,QQ空間,微信好友,微信朋友圈的分享,在這裏記錄下容易出現問題的幾個地方。android

首先,最直接有效的學習方法就是去看友盟的官方文檔,很是全面,並且在友盟的官方網站上面還有常見的一些問題,我遇到的問題在上面均可以查到,就是仔細對比後發現了本身的問題。api

我記錄的是在android移動端實現分享出現的問題,事先的準備工做例如友盟appkey的申請是已經完成了的。微信

第一步,是將友盟sdk下載下來,導入到libs文件夾中。app

第二步,將友盟的appkey添加到本身的AndroidMainfest.xml文件當中,注意,該節點應該放置在<application>節點裏面ide

<meta-data
            android:name="UMENG_APPKEY"
            android:value="你的key" >
        </meta-data>工具

 

第三步,按照教程,會讓你在AndroidMainfest.xml添加關於一些必不可少的activity的聲明。學習

<activity
            android:name=".wxapi.WXEntryActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:exported="true"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
        <activity
            android:name="com.umeng.qq.tencent.AuthActivity"
            android:launchMode="singleTask"
            android:noHistory="true" >
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />網站

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />this

                <data android:scheme="tencentXXXXXXXXXX" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.umeng.qq.tencent.AssistActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
        <activity
            android:name="com.umeng.socialize.editorpage.ShareActivity"
            android:excludeFromRecents="true"
            android:theme="@style/Theme.UMDefault" />spa

上面黃色高光的是須要填QQ ID的,是要去申請的,id是十位,注意,前面的tencent不能少,教程中也有提示,我一開始少了這個tencent,檢查時發現了及時調整了過來。

上面紅色高光的是關於微信的一個activity的配置,教程中也講到了,這個WXEntryActivity,必須在包名目錄下的wxapi包下,好比,你的包名是com.a.b,那麼,你的這個activity必需要放在com.a.b.wxapi這個包下面,在AndroidMainfest.xml文件當中配置的時候沒必要加上本身的包名。

第四步,配置application

public class App extends Application {
    
    
    @Override
    public void onCreate() {
        super.onCreate();
        UMShareAPI.get(this);
    }
    
    
    {
        PlatformConfig.setWeixin("你的微信申請id", "你的微信key");
        PlatformConfig.setQQZone("qq id", "qq key");
        
    }
    
    
    

}

上面的綠色高光部分都是要去申請的。

第五步,也是最重要的一步,是對於微信來講,我在這一步卡了很久,就是你的app打包時的簽名必須和你在微信開放平臺上申請時填寫的那個簽名要一致,不然不會成功分享到微信。友盟提供了一個工具類用來檢查是否配置正確,UmengTool.checkWx(Context context). 這個方法會檢查你的activity是否配置正確,而且會以一個dialog的形式彈出,上面會顯示你這個app的簽名,此時你須要去微信開放平臺後面進行比對,若是一致,通常是不會出現問題的。

可是,我在檢查了以後仍是不能成功分享,點擊分享到微信後就閃了一下,彈不出微信好友列表的界面,後來把微信卸載從新安裝,手機重啓以後,終於成功實現了分享。真是神了。

相關文章
相關標籤/搜索