1. 程式人生 > >友盟第三方平臺操作流程

友盟第三方平臺操作流程

獲取SDK

下載SDK操作流程

 SDK元件說明

根據需要,選擇自己需要的平臺、精簡版/完整版

Demo工程包含了原始碼及Apk檔案,Apk可以直接安裝,用於體驗分享、登入功能

SDK檔案目錄介紹

  • main – 核心庫

umeng_social_api.jar
umeng_social_net.jar
umeng_social_tool.jar

  • platforms – 分享平臺庫

QQ精簡版(SocialSDK_QQ_Simplify.jar)
微信完整版(wechat-sdk-android-with-mta-1.0.2.jar SocialSDK_WeiXin_Full.jar)

新浪精簡版(SocialSDK_Sina_Simplif.jar)

這裡只列舉QQ、微信和新浪,最終platforms資料夾內包含的檔案與下載頁面選擇的平臺有關

  • shareboard

umeng_shareboard_widget.jar(工程中存在support v4或不使用面板可以不加)

umeng_social_shareboard.jar

  • shareview

umeng_social_shareview.jar

  • Demo工程

social_sdk_example_as(Android studio 環境Demo)

social_sdk_example(Eclipse環境Demo)

umeng_android_socialize_demo_full.apk(完整版Demo安裝包)

umeng_android_socialize_demo_simple.apk(精簡版Demo安裝包,QQ、微信、新浪均使用精簡版)

 老使用者升級說明

以下內容是針對老使用者升級使用,如果是新使用者,可以直接跳到工程配置文件

 4.x升級說明

如果您之前使用的是4.x版本的sdk,請刪除所有的社會化分享程式碼,jar以及資原始檔,更新現在最新版的sdk,根據快速整合文件重新整合,因為4.x版本介面與現在完全不一樣,所有介面都需要重新呼叫

 5.x升級說明

之前使用友盟分享5.0+版本的老使用者,可以直接替換對應jar和資原始檔就可以了,但是注意預設下載的是新浪精簡版,如果使用新浪精簡版,不再需要.so檔案,對應的Manifest配置,以及WBShareActivity.java。微信精簡版,和qq精簡版對應的jar名字不一樣,需要將原有的jar刪除,替換精簡的jar,如果使用完整版直接替換即可。 res中的資原始檔也要進行替換。 對應jar包名字對應如下:

平臺 老版本 新版精簡版 新版完整版
核心庫 umeng_social_sdk.jar umeng_social_api.jar
umeng_social_net.jar
umeng_social_shareview.jar(可選,新浪精簡版 豆瓣人人使用)
umeng_social_shareboard.jar(可選 如果沒有使用分享面板可以不使用)
umeng_shareboard_widget.jar(工程中存在support v4或不使用面板可以不加)
同精簡版
QQ mta-sdk-1.6.2.jar
open_sdk_r5509_lite.jar
SocialSDK_QQZone_3.jar
SocialSDK_QQ_Simplify.jar open_sdk_rxxxx_lite.jar
SocialSDK_QQ_Full.jar
新浪 SocialSDK_Sina.jar
weiboSDKCore_3.1.4.jar
libweibosdkcore.so
SocialSDK_Sina_Simplify.jar SocialSDK_Sina_Full.jar
weiboSDKCore_3.1.4.jar
libweibosdkcore.so
微信 SocialSDK_WeiXin_1.jar
SocialSDK_WeiXin_2.jar
SocialSDK_WeChat_Simplify.jar libammsdk.jar
SocialSDK_WeiXin_Full.jar

 6.0x版本

之前使用友盟分享6.0+版本的老使用者,可以直接替換對應jar和資原始檔就可以了,注意對應jar的名字即可。

  • 精簡版
平臺 精簡版(老版) 精簡版(新版)
核心庫 umeng_social_apiv6.0.x.jar
umeng_social_viewv6.0.x.jar
umeng_social_netv6.0.x.jar
umeng_social_api.jar
umeng_social_net.jar
umeng_social_shareview.jar(可選,新浪精簡版 豆瓣人人使用)
umeng_social_shareboard.jar(可選,如果沒有使用分享面板可以不使用)
umeng_shareboard_widget.jar(工程中存在support v4或不使用面板可以不加)
QQ SocialSDK_QQZone_3.jar
SocialSDK_umengqq.jar
SocialSDK_QQ_Simplify.jar
新浪 SocialSDK_umengsina.jar SocialSDK_Sina_Simplif.jar
微信 SocialSDK_WeiXin_1.jar
SocialSDK_WeiXin_2.jar
SocialSDK_WeChat_Simplify.jar
  • 完整版
平臺 完整版(老版) 完整版(新版)
核心庫 同精簡版 同精簡版
QQ mta-sdk-1.6.2.jar
open_sdk_r5509_lite.jar
SocialSDK_QQZone_3.jar
open_sdk_r5756_lite.jar
SocialSDK_QQ_Full.jar
新浪 SocialSDK_Sina.jar
weiboSDKCore_3.1.4.jar
libweibosdkcore.so
SocialSDK_Sina_Full.jar
weiboSDKCore_3.1.4.jar
libweibosdkcore.so
微信 同精簡版 wechat-sdk-android-with-mta-1.0.2.jar
SocialSDK_WeiXin_Full.jar

6.3介面變動

所有的回撥監聽器增加onStart()方法

UMShareListener shareListener = new UMShareListener() {
        @Override
        public void onStart(SHARE_MEDIA platform) {
                   }

        @Override
        public void onResult(SHARE_MEDIA platform) {
                  }

        @Override
        public void onError(SHARE_MEDIA platform, Throwable t) {
                 }

        @Override
        public void onCancel(SHARE_MEDIA platform) {


        }
    };        
 UMAuthListener authListener = new UMAuthListener() {
        @Override
        public void onStart(SHARE_MEDIA platform) {

        }

        @Override
        public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {

        }

        @Override
        public void onError(SHARE_MEDIA platform, int action, Throwable t) {
                  }

        @Override
        public void onCancel(SHARE_MEDIA platform, int action) {

        }
    };

去掉了ShareAction的WithTargetURl

去掉了withTitle介面

title引數只在UMWeb型別中存在,設定title請使用UMWeb型別
點選檢視文件

設定新浪回撥地址

6.3版本之前設定新浪的回撥地址是通過Config.REDIRECT_URL

6.3版本之後在設定appid的時候一起設定回撥地址:

注意程式碼這裡配置的回撥地址需要和微博開放平臺授權回撥頁保持一致

PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad","http://sns.whalecloud.com");

去掉了等待窗

使用者如需新增可在上面提到的onStart中show dialog,在回撥完成後dismiss

由於微信、QQ等平臺當用戶選擇留在應用後無法執行回撥,因此建議在onResume中執行dialog消失事件

三方登入時是否每次都要進行授權

UMShareConfig config = new UMShareConfig();
config.isNeedAuthOnGetUserInfo(true);
UMShareAPI.get(InfoDetailActivity.this).setShareConfig(config);

目前SDK預設設定為在Token有效期內登入不進行二次授權,如果有需要每次登入都彈出授權頁面,便於切換賬號的開發者可以自行配置

是否使用分享編輯頁

UMShareConfig config = new UMShareConfig();
config.isOpenShareEditActivity(true);
UMShareAPI.get(InfoDetailActivity.this).setShareConfig(config);

注意此介面只有在新浪精簡版、豆瓣和人人分享時生效,微信、QQ的分享編輯頁為原生SDK提供,無法去除

設定新浪網頁授權還是SSO授權

只進行網頁授權

 UMShareConfig config = new UMShareConfig();
config.setSinaAuthType(UMShareConfig.AUTH_TYPE_WEBVIEW);
UMShareAPI.get(InfoDetailActivity.this).setShareConfig(config);

呼叫此介面後,無論使用者裝置是否安裝微部落格戶端,都只會拉起網頁授權

當安裝的時候進行SSO授權:

 UMShareConfig config = new UMShareConfig();
config.setSinaAuthType(UMShareConfig.AUTH_TYPE_SSO);
UMShareAPI.get(InfoDetailActivity.this).setShareConfig(config);

6.4介面變動

由於新浪即將對之前的雲端介面進行關停,所以新浪精簡版需要做一些改版:
程式碼層面不需要變動,只需要升級到6.4,替換6.4之後的所有jar
同時精簡版需要增加一個回撥Activity:

  <activity
            android:name=".WBShareActivity"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

這個Activity在包名路徑下:

package com.umeng.soexample;

import com.umeng.socialize.media.WBShareCallBackActivity;

public class WBShareActivity extends WBShareCallBackActivity {
}

工程配置

對於快速整合,我們以新浪微博QQ三個平臺為例,工程配置分為以下四種,區別不大,不熟悉的朋友可以參考:

工程配置(精簡版)

以下內容為Android Studio精簡版配置

新建立一個工程

拷貝jar及res

拷貝jar和res有如下兩種形式

a.將main資料夾以及platform(選擇你想使用的平臺即可)檔案下,對應的資原始檔和jar放入你的工程

b.如果不想像a方式一樣一個個拷貝,可以使用整合工具umeng_integrate_tool.jar

雙擊點開這個工具,如下圖所示:

選擇你想使用的平臺,以及你所使用的開發工具,點選ok
會在當前目錄下生成一個新的資料夾umeng_integratetool_result

只需將該資料夾下生成的對應檔案對應放入你的工程中即可
這裡注意如果使用了新浪微博精簡版,或者豆瓣人人騰訊微博,需要加入umeng_social_shareview.jar及其對應的資原始檔,如果沒有使用這些平臺可以不加
如果您的程式不想使用我們的分享面板,想自定義UI分享UI介面,umeng_social_shareboard.jar以及對應的資原始檔也可以不用加
如果您使用了我們的分享面板,您的工程已經依賴的v4,可以不使用我們的umeng_shareboard_widget.jar

新增對應的回撥Activity

使用微信分享或者登陸功能

在包名目錄下建立wxapi資料夾,新建一個名為WXEntryActivity的activity繼承WXCallbackActivity。這裡注意一定是包名路徑下,例如我的包名是com.umeng.soexample,則配置如下:(需要注意,如果使用精簡版WXCallbackActivity的路徑為com.umeng.weixin.callback.WXCallbackActivity,如果使用完整版路徑是com.umeng.socialize.weixin.view.WXCallbackActivity)

同理需要建立回撥的平臺還有支付寶與易信,支付寶是需要建立一個apshare的資料夾,然後建立一個ShareEntryActivity的類,繼承ShareCallbackActivity。易信是需要建立一個yxapi的資料夾,建立一個YXEntryActivity的類繼承YXCallbackActivity。如果不使用這兩個平臺可以不用建立。
同理新浪微博也需要一個回撥的Activity,與微信不同的是它只需要在包名目錄下建立一個名為WBShareActivity類即可,不用建立資料夾,該類繼承WBShareCallBackActivity,如下圖所示(注意看目錄結構):

修改AndroidManiFest

首先需要新增許可權:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
然後加入sdk中需要的Activity:

新浪:

  <activity
            android:name=".WBShareActivity"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </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=".apshare.ShareEntryActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:exported="true"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />

qq精簡版:

    <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" />
                <data android:scheme="tencent100424468" />
            </intent-filter>
    </activity>

    <activity
            android:name="com.umeng.qq.tencent.AssistActivity"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:configChanges="orientation|keyboardHidden|screenSize"/>

qq完整版:

    <activity
            android:name="com.tencent.tauth.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" />
                <data android:scheme="tencent100424468" />
            </intent-filter>

    </activity>

    <activity
            android:name="com.tencent.connect.common.AssistActivity"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:configChanges="orientation|keyboardHidden|screenSize"/>

分享編輯頁(只有新浪微博精簡版,豆瓣人人騰訊微博需要):

 <activity
        android:name="com.umeng.socialize.editorpage.ShareActivity"
        android:theme="@style/Theme.UMDefault"
        android:excludeFromRecents="true"
        />

其他平臺的回撥activity請到附錄中查詢。

新增友盟appkey
    <meta-data
            android:name="UMENG_APPKEY"
            android:value="561cae6ae0f55abd990035bf" >
    </meta-data>

修改build.gradle檔案

將資料夾中的簽名檔案放入到工程中,例如我的簽名檔案是debug.keystore

然後增加簽名檔案的密碼:

signingConfigs {
    debug {
        storeFile file('debug.keystore')
        storePassword "android"
        keyAlias "androiddebugkey"
        keyPassword "android"
    }
}

然後在buildTypes中將這個signingConfigs配置進去,如下圖所示:

簽名檔案如果不加,部分平臺的授權會受到影響。

配置各個平臺的appkey

建立一個application檔案,隨便起一個名字,比如叫App,別忘了在AndroidManifest檔案中配置(如果本身已有,不需要重新建立):

     <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:name=".App"
        android:theme="@style/AppTheme">

在application檔案中配置三方平臺的appkey:

這裡作為示例,只配置了微信、QQ/Qzone、新浪的三方appkey,如果使用其他平臺,在這裡增加對應平臺key配置

public class App extends Application{
    {

PlatformConfig.setWeixin("wx967daebe835fbeac", "5bb696d9ccd75a38c8a0bfe0675559b3");
PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad", "http://sns.whalecloud.com");
    }
    }

在application中初始化sdk,這個初始化最好放在application的程式入口中,防止意外發生:

        @Override
        public void onCreate() {
        super.onCreate();
        UMShareAPI.get(this);
    }

工程配置(完整版)

以下內容為Android Studio完整版配置

新建立一個工程

拷貝jar及res

拷貝jar和res有如下兩種形式

a.將main資料夾以及platform(選擇你想使用的平臺即可)檔案下,對應的資原始檔和jar放入你的工程

Paste_Image.png

b.如果不想像a方式一樣一個個拷貝,可以使用整合工具umeng_integrate_tool.jar

雙擊點開這個工具,如下圖所示:

選擇你想使用的平臺,以及你所使用的開發工具,點選ok
會在當前目錄下生成一個新的資料夾umeng_integratetool_result

只需將該資料夾下生成的對應檔案對應放入你的工程中即可
這裡注意如果使用了新浪微博精簡版,或者豆瓣人人騰訊微博,需要加入umeng_social_shareview.jar及其對應的資原始檔,如果沒有使用這些平臺可以不加
如果您的程式不想使用我們的分享面板,想自定義UI分享UI介面,umeng_social_shareboard.jar以及對應的資原始檔也可以不用加
如果您使用了我們的分享面板,您的工程已經依賴的v4,可以不使用我們的umeng_shareboard_widget.jar

新增對應的回撥Activity

使用微信分享或者登陸功能

在包名目錄下建立wxapi資料夾,新建一個名為WXEntryActivity的activity繼承WXCallbackActivity。這裡注意一定是包名路徑下,例如我的包名是com.umeng.soexample,則配置如下:(需要注意,如果使用精簡版WXCallbackActivity的路徑為com.umeng.weixin.callback.WXCallbackActivity,如果使用完整版路徑是com.umeng.socialize.weixin.view.WXCallbackActivity)

同理需要建立回撥的平臺還有支付寶與易信,支付寶是需要建立一個apshare的資料夾,然後建立一個ShareEntryActivity的類,繼承ShareCallbackActivity。易信是需要建立一個yxapi的資料夾,建立一個YXEntryActivity的類繼承YXCallbackActivity。如果不使用這兩個平臺可以不用建立。
同理新浪微博也需要一個回撥的Activity,與微信不同的是它只需要在包名目錄下建立一個名為WBShareActivity類即可,不用建立資料夾,該類繼承WBShareCallBackActivity,如下圖所示(注意看目錄結構):

修改AndroidManiFest

首先需要新增許可權:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
然後加入sdk中需要的Activity:

新浪:

       <activity
            android:name=".WBShareActivity"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.sina.weibo.sdk.component.WeiboSdkBrowser"
            android:configChanges="keyboardHidden|orientation"
            android:windowSoftInputMode="adjustResize"
            android:exported="false" >
        </activity>
          <service android:name="com.sina.weibo.sdk.net.DownloadService"
            android:exported="false"></service>

微信:

<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=".apshare.ShareEntryActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:exported="true"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />

qq完整版:

    <activity
            android:name="com.tencent.tauth.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" />
                <data android:scheme="tencent100424468" />
            </intent-filter>
    </activity>
    <activity
            android:name="com.tencent.connect.common.AssistActivity"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:configChanges="orientation|keyboardHidden|screenSize"/>

分享編輯頁(只有豆瓣人人騰訊微博twitter領英需要):

 <activity
        android:name="com.umeng.socialize.editorpage.ShareActivity"
        android:theme="@style/Theme.UMDefault"
        android:excludeFromRecents="true"
        />

其他平臺的回撥activity請到附錄中查詢。

新增友盟appkey
    <meta-data
            android:name="UMENG_APPKEY"
            android:value="561cae6ae0f55abd990035bf" >
    </meta-data>

修改build.gradle檔案

將資料夾中的簽名檔案放入到工程中,例如我的簽名檔案是debug.keystore

然後增加簽名檔案的密碼:

signingConfigs {
    debug {
        storeFile file('debug.keystore')
        storePassword "android"
        keyAlias "androiddebugkey"
        keyPassword "android"
    }
}

然後在buildTypes中將這個signingConfigs配置進去,如下圖所示:

簽名檔案如果不加,部分平臺的授權會受到影響。

配置各個平臺的appkey

建立一個application檔案,隨便起一個名字,比如叫App,別忘了在AndroidManifest檔案中配置(如果本身已有,不需要重新建立):

 <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:name=".App"
    android:theme="@style/AppTheme">

在application檔案中配置三方平臺的appkey:

這裡作為示例,只配置了微信、QQ/Qzone、新浪的三方appkey,如果使用其他平臺,在這裡增加對應平臺key配置

public class App extends Application{
    {

PlatformConfig.setWeixin("wx967daebe835fbeac", "5bb696d9ccd75a38c8a0bfe0675559b3");
PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad", "http://sns.whalecloud.com");
    }
    }

在application中初始化sdk,這個初始化最好放在application的程式入口中,防止意外發生:

        @Override
        public void onCreate() {
        super.onCreate();
        UMShareAPI.get(this);
    }

分享

分享文件

授權

授權文件

混淆檔案

為了保證引用友盟Social SDK jar檔案以及騰訊jar檔案不被混淆,請在proguard.cfg檔案中新增以下程式碼避免被混淆.

    -dontusemixedcaseclassnames
    -dontshrink
    -dontoptimize
    -dontwarn com.google.android.maps.**
    -dontwarn android.webkit.WebView
    -dontwarn com.umeng.**
    -dontwarn com.tencent.weibo.sdk.**
    -dontwarn com.facebook.**
    -keep public class javax.**
    -keep public class android.webkit.**
    -dontwarn android.support.v4.**
    -keep enum com.facebook.**
    -keepattributes Exceptions,InnerClasses,Signature
    -keepattributes *Annotation*
    -keepattributes SourceFile,LineNumberTable

    -keep public interface com.facebook.**
    -keep public interface com.tencent.**
    -keep public interface com.umeng.socialize.**
    -keep public interface com.umeng.socialize.sensor.**
    -keep public interface com.umeng.scrshot.**
    -keep class com.android.dingtalk.share.ddsharemodule.** { *; }
    -keep public class com.umeng.socialize.* {*;}


    -keep class com.facebook.**
    -keep class com.facebook.** { *; }
    -keep class com.umeng.scrshot.**
    -keep public class com.tencent.** {*;}
    -keep class com.umeng.socialize.sensor.**
    -keep class com.umeng.socialize.handler.**
    -keep class com.umeng.socialize.handler.*
    -keep class com.umeng.weixin.handler.**
    -keep class com.umeng.weixin.handler.*
    -keep class com.umeng.qq.handler.**
    -keep class com.umeng.qq.handler.*
    -keep class UMMoreHandler{*;}
    -keep class com.tencent.mm.sdk.modelmsg.WXMediaMessage {*;}
    -keep class com.tencent.mm.sdk.modelmsg.** implements   com.tencent.mm.sdk.modelmsg.WXMediaMessage$IMediaObject {*;}
    -keep class im.yixin.sdk.api.YXMessage {*;}
    -keep class im.yixin.sdk.api.** implements im.yixin.sdk.api.YXMessage$YXMessageData{*;}
    -keep class com.tencent.mm.sdk.** {
     *;
    }
    -keep class com.tencent.mm.opensdk.** {
   *;
    }
    -dontwarn twitter4j.**
    -keep class twitter4j.** { *; }

    -keep class com.tencent.** {*;}
    -dontwarn com.tencent.**
    -keep public class com.umeng.com.umeng.soexample.R$*{
    public static final int *;
    }
    -keep public class com.linkedin.android.mobilesdk.R$*{
    public static final int *;
        }
    -keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
    }

    -keep class com.tencent.open.TDialog$*
    -keep class com.tencent.open.TDialog$* {*;}
    -keep class com.tencent.open.PKDialog
    -keep class com.tencent.open.PKDialog {*;}
    -keep class com.tencent.open.PKDialog$*
    -keep class com.tencent.open.PKDialog$* {*;}

    -keep class com.sina.** {*;}
    -dontwarn com.sina.**
    -keep class  com.alipay.share.sdk.** {
       *;
    }
    -keepnames class * implements android.os.Parcelable {
    public static final ** CREATOR;
    }

    -keep class com.linkedin.** { *; }
    -keepattributes Signature