免费高清特黄a大片,九一h片在线免费看,a免费国产一级特黄aa大,国产精品国产主播在线观看,成人精品一区久久久久,一级特黄aa大片,俄罗斯无遮挡一级毛片

分享

友盟開發(fā)者中心-友盟統(tǒng)計(jì)android集成

 CevenCheng 2014-01-13



1 產(chǎn)品概述 

友盟社會化組件,可以讓移動應(yīng)用快速具備社會化分享、登錄、評論、喜歡等功能,并提供實(shí)時(shí)、全面的社會化數(shù)據(jù)統(tǒng)計(jì)分析服務(wù)。

指南將會手把手教你使用社會化組件SDK,用5分鐘為APP增加新浪微博、騰訊微博、人人網(wǎng)分享功能。

注意:本文示例代碼均針對最新版SDK,如果你所用SDK的類名或方法名與此文不符合,請使用你所用SDK的隨包文檔、或者下載使用最新版SDK。

2 獲取友盟Appkey 

如果你之前已經(jīng)在友盟注冊了應(yīng)用,并獲取到了Appkey,可以繼續(xù)使用它.

如果你尚未在友盟注冊開發(fā)者賬號,需要先注冊,注冊之后登錄你的賬號,點(diǎn)擊**添加新應(yīng)用**,填寫完應(yīng)用基本信息后,將進(jìn)入"下載SDK并添加代碼"頁面,此頁面即可得到Appkey。

3 下載并安裝SDK 

3.1 下載SDK最新版

3.2 添加代碼和資源引用

jar文件對應(yīng)列表

平臺jar文件
騰訊微博SocialSDK_TencentWB_1.jar,SocialSDK_TencentWB_2.jar
QQ空間SocialSDK_QQZone_1.jar,SocialSDK_QQZone_2.jar
微信好友SocialSDK_WeiXin.jar
QQSocialSDK_QQZone_1.jar,SocialSDK_QQZone_2.jar
FacebookSocialSDK_facebook_1.jar,SocialSDK_facebook_2.jar
易信SocialSDK_yixin_1.jar,SocialSDK_yixin_2.jar
來往SocialSDK_laiwang_1.jar,SocialSDK_laiwang_2.jar

注意

1:QQ跟QQ Zone SSO(免登錄)引用的jar文件相同。當(dāng)需要同時(shí)支持QQ跟QQ Zone的時(shí)候,只需添加一次SocialSDK_QQZone_1.jar,SocialSDK_QQZone_2.jar文件即可.
2:由于我們對微信的包名做了修改(libammsdk.jar -> SocialSDK_WeiXin.jar),如出現(xiàn)"Unable to execute dex: Multiple dex files define "問題,請刪除libammsdk.jar或者SocialSDK_WeiXin.jar中的一個(gè)即可解決問題。

添加資源文件跟jar文件有兩種方式,請根據(jù)您的需求進(jìn)行選擇

方法A:添加工程引用(升級方便,推薦)

解壓SDK壓縮包,將文件夾中的social_sdk_library_project文件夾導(dǎo)入Eclipse,并在您的工程中添加對此項(xiàng)目的引用即可。

方法B:添加資源到現(xiàn)有項(xiàng)目中

解壓SDK壓縮包,將文件夾中的'libs'和'res'文件夾復(fù)制到你的項(xiàng)目工程根目錄下(如使用'ADT 17'以下用戶需要手動添加'libs'下的jar文件到工程Path中):

alt text

4 Manifest配置,添加友盟Appkey/Activity/權(quán)限

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas./apk/res/android"
    package="com.umeng.example"
    android:versionCode="1"
    android:versionName="1.0" >

    <application
        android:debuggable="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Black.NoTitleBar" >
        <activity
            android:name=".UmengHome"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- ###################注冊SDK使用的Activity###################### -->
        <!--分享編輯頁-->
        <activity
            android:name="com.umeng.socialize.view.ShareActivity"
            android:configChanges="orientation|keyboard"
            android:launchMode="singleTask"
            android:noHistory="true"
            android:theme="@style/Theme.UMDialog"
            android:windowSoftInputMode="stateVisible|adjustResize" >
        </activity>

        <!-- ############ QQ空間和QQ SSO授權(quán)的Activity注冊 ############ -->
        <activity android:name="com.tencent.tauth.AuthActivity" />

        <!-- ###################添加UmengAppkey###################### -->
        <meta-data
            android:name="UMENG_APPKEY"
            android:value="xxxxxxxxxxxxxxxxxxxxxx" >
        </meta-data>

        <!-- facebook相關(guān) -->
        <activity
            android:name="com.facebook.LoginActivity"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

        <!-- 這里填寫你的facebook app id,必須聲明在string.xml中 -->
        <meta-data
            android:name="com.facebook.sdk.ApplicationId"
            android:value="@string/facebook_app_id" />

    </application>

    <uses-sdk android:minSdkVersion="8" />

    <!-- ###################聲明SDK使用的相關(guān)權(quán)限###################### -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  <!-- 檢測網(wǎng)絡(luò)狀態(tài) -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />     <!-- 獲取mac地址作為用戶的備用唯一標(biāo)識 -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />      <!-- 獲取用戶手機(jī)的IMEI,用來唯一的標(biāo)識用戶。 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!-- 緩存資源優(yōu)先存入SDcard -->
    <uses-permission android:name="android.permission.INTERNET" />              <!-- 允許應(yīng)用程序聯(lián)網(wǎng),以便向我們的服務(wù)器端發(fā)送數(shù)據(jù)。 -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />  <!-- 用于評論模塊分享位置信息 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><!-- 用于評論模塊分享位置信息 -->
</manifest>

如果選用多種UmengSDK產(chǎn)品使用不同Appkey,可為SocialSDK配置單獨(dú)的appkey,如下:

/*代碼添加Appkey,如果設(shè)置了非null值,SocialSDK將使用該值.*/
SocializeConstants.APPKEY = "xxxxxxxxx";

5 設(shè)置分享內(nèi)容

5.1 設(shè)置基本分享內(nèi)容

// 首先在您的Activity中添加如下成員變量
final UMSocialService mController = UMServiceFactory.getUMSocialService("com.umeng.share",
                                                                             RequestType.SOCIAL);
// 設(shè)置分享內(nèi)容
mController.setShareContent("友盟社會化組件(SDK)讓移動應(yīng)用快速整合社交分享功能,http://www./social");
// 設(shè)置分享圖片, 參數(shù)2為圖片的url地址
mController.setShareMedia(new UMImage(getActivity(), 
                                      "http://www./images/pic/banner_module_social.png"));
// 設(shè)置分享圖片,參數(shù)2為本地圖片的資源引用
//mController.setShareMedia(new UMImage(getActivity(), R.drawable.icon));
// 設(shè)置分享圖片,參數(shù)2為本地圖片的路徑(絕對路徑)
//mController.setShareMedia(new UMImage(getActivity(), 
//                                BitmapFactory.decodeFile("/mnt/sdcard/icon.png")));

// 設(shè)置分享音樂
//UMusic uMusic = new UMusic("http://sns./test_music.mp3");
//uMusic.setAuthor("GuGu");
//uMusic.setTitle("天籟之音");
// 設(shè)置音樂縮略圖
//uMusic.setThumb("http://www./images/pic/banner_module_social.png");
//mController.setShareMedia(uMusic);

// 設(shè)置分享視頻
//UMVideo umVedio = new UMVideo(
//          "http://v.youku.com/v_show/id_XNTE5ODAwMDM2.html?f=19001023");
// 設(shè)置視頻縮略圖
//umVedio.setThumb("http://www./images/pic/banner_module_social.png");
//umVedio.setTitle("友盟社會化分享!");
//mController.setShareMedia(umVedio);

5.2 分平臺設(shè)置分享內(nèi)容

給不同的平臺設(shè)置不同的分享內(nèi)容,其中不同平臺的多媒體、文字內(nèi)容都可以定制化。當(dāng)某個(gè)平臺沒有設(shè)置定制化的分享內(nèi)容時(shí), 則會使用類似5.1中設(shè)置的基本分享內(nèi)容。示例代碼如下 :

// 設(shè)置分享到微信的內(nèi)容, 圖片類型
UMImage mUMImgBitmap = new UMImage(getActivity(),
                "http://www./images/pic/banner_module_social.png");
WeiXinShareContent weixinContent = new WeiXinShareContent(mUMImgBitmap);
weixinContent.setShareContent("來自友盟社會化組件(SDK)讓移動應(yīng)用快速整合社交分享功能,微信");
mController.setShareMedia(weixinContent);

// 設(shè)置朋友圈分享的內(nèi)容
CircleShareContent circleMedia = new CircleShareContent(new UMImage(getActivity(),
                "http://www./images/pic/social/chart_1.png"));
circleMedia.setShareContent("來自友盟社會化組件(SDK)讓移動應(yīng)用快速整合社交分享功能,朋友圈");
mController.setShareMedia(circleMedia);


// 視頻分享,并且設(shè)置了騰訊微博平臺的文字內(nèi)容
UMVideo umVedio = new UMVideo(
                "http://v.youku.com/v_show/id_XNTc0ODM4OTM2.html");
umVedio.setThumb("http://www./images/pic/banner_module_social.png");
umVedio.setTitle("友盟社會化組件視頻");
TencentWbShareContent tencentContent = new TencentWbShareContent(umVedio);
// 設(shè)置分享到騰訊微博的文字內(nèi)容
tencentContent.setShareContent("來自友盟社會化組件(SDK)讓移動應(yīng)用快速整合社交分享功能,騰訊微博");
// 設(shè)置分享到騰訊微博的多媒體內(nèi)容
mController.setShareMedia(tencentContent);

// ** 其他平臺的分享內(nèi)容.除了上文中已單獨(dú)設(shè)置了分享內(nèi)容的微信、朋友圈、騰訊微博平臺,
// 剩下的其他平臺的分享內(nèi)容都為如下文字和UMImage  **
mController.setShareContent("友盟社會化組件(SDK)讓移動應(yīng)用快速整合社交分享功能,http://www./social");
// 設(shè)置分享圖片,參數(shù)2為圖片的url. 
mController.setShareMedia(new UMImage(getActivity(), 
                                "http://www./images/pic/banner_module_social.png"));

6 各種不同的分享接口,請根據(jù)定制需求自行選擇

6.1 帶平臺選擇面板分享

適用人群:希望10分鐘集成從無到有實(shí)現(xiàn)分享的開發(fā)者
接口說明:調(diào)用該接口將先彈出分享平臺選擇頁,選擇相應(yīng)的平臺將進(jìn)行授權(quán)并分享

// 設(shè)置分享平臺選擇面板的平臺顯示順序
// mController.getConfig().setPlatformOrder(SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE,
//                                         SHARE_MEDIA.QZONE,SHARE_MEDIA.QQ, SHARE_MEDIA.SINA);
// 是否只有已登錄用戶才能打開分享選擇頁
mController.openShare(getActivity(), false);

驗(yàn)證結(jié)果

選擇分享平臺面板分享編輯頁

6.2 帶編輯頁直接分享

適用人群:較深耕細(xì)作型開發(fā)者,希望自定義分享列表,使用分享底層API,但仍使用友盟提供的分享編輯頁。
接口說明:如果已經(jīng)授權(quán),則直接跳轉(zhuǎn)到分享編輯頁,否則將進(jìn)行授權(quán)操作然后再跳轉(zhuǎn)到分享編輯頁.相比openShare,該接口不需要彈出分享面板。該接口支持所有平臺的分享(QQ好友,微信會有選擇好友的界面)

// 參數(shù)1為Context類型對象, 參數(shù)2為要分享到的目標(biāo)平臺, 參數(shù)3為分享操作的回調(diào)接口
mController.postShare(mContext,SHARE_MEDIA.SINA, 
        new SnsPostListener() {
                @Override
                public void onStart() {
                    Toast.makeText(mContext, "開始分享.", Toast.LENGTH_SHORT).show();
                }

                @Override
                public void onComplete(SHARE_MEDIA platform, int eCode,SocializeEntity entity) {
                     if (eCode == 200) {
                         Toast.makeText(mContext, "分享成功.", Toast.LENGTH_SHORT).show();
                     } else {
                          String eMsg = "";
                          if (eCode == -101){
                              eMsg = "沒有授權(quán)";
                          }
                          Toast.makeText(mContext, "分享失敗[" + eCode + "] " + 
                                             eMsg,Toast.LENGTH_SHORT).show();
                     }
              }
});

6.3 不帶分享編輯頁直接分享

適用人群:較深耕細(xì)作型開發(fā)者,無分享編輯頁面,希望自定義分享列表,使用分享底層API。
接口說明:如果已經(jīng)授權(quán),調(diào)用該接口將直接進(jìn)行分享(不彈出分享編輯頁);否則將進(jìn)行授權(quán)操作然后再分享.該接口支持所有平臺的分享(QQ好友,微信會有選擇好友的界面)

// 參數(shù)1為當(dāng)前Activity對象, 參數(shù)2為要分享到的目標(biāo)平臺, 參數(shù)3為分享操作回調(diào)接口
mController.directShare(mContext, SHARE_MEDIA.SINA,
            new SnsPostListener() {

            @Override
            public void onStart() {
                Toast.makeText(mContext, "分享開始",Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onComplete(SHARE_MEDIA platform,int eCode, SocializeEntity entity) {
                if(eCode == StatusCode.ST_CODE_SUCCESSED){
                    Toast.makeText(mContext, "分享成功",Toast.LENGTH_SHORT).show();
                }else{
                    Toast.makeText(mContext, "分享失敗",Toast.LENGTH_SHORT).show();
                }
            }
    });

6.4 授權(quán)+直接分享

適用人群:深耕細(xì)作型開發(fā)者,希望完全自定義界面,只使用分享相關(guān)底層API實(shí)現(xiàn)分享。
接口說明:實(shí)現(xiàn)"授權(quán)+直接分享",你可以將授權(quán)接口(doOauthVerify)跟直接分享接口(directShare)結(jié)合起來使用。實(shí)現(xiàn)只需簡單的四步:
步驟一:定義自己的分享面板 
步驟二:判斷用戶是否已經(jīng)授權(quán)

OauthHelper.isAuthenticated(mContext,SHARE_MEDIA.SINA)

步驟三:用戶授權(quán),建議在調(diào)用前先用OauthHelper.isAuthenticated()判斷用戶是否已經(jīng)授權(quán),否則會重復(fù)授權(quán)

mController.doOauthVerify(mContext, SHARE_MEDIA.SINA, new UMAuthListener() {
    @Override
    public void onStart(SHARE_MEDIA platform) {
        Toast.makeText(mContext, "授權(quán)開始", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onError(SocializeException e, SHARE_MEDIA platform) {
        Toast.makeText(mContext, "授權(quán)錯(cuò)誤", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onComplete(Bundle value, SHARE_MEDIA platform) {
        Toast.makeText(mContext, "授權(quán)完成", Toast.LENGTH_SHORT).show();
        //獲取相關(guān)授權(quán)信息或者跳轉(zhuǎn)到自定義的分享編輯頁面
        String uid = value.getString("uid");
    }

    @Override
    public void onCancel(SHARE_MEDIA platform) {
        Toast.makeText(mContext, "授權(quán)取消", Toast.LENGTH_SHORT).show();
    }
} );

步驟四:調(diào)用直接分享API接口

//設(shè)置分享內(nèi)容
mController.setShareContent("友盟社會化組件(SDK)讓移動應(yīng)用快速整合社交分享功能,http://www./social");
//設(shè)置分享圖片
mController.setShareMedia(new UMImage(mContext, "http://www./images/pic/banner_module_social.png"));
//直接分享
mController.directShare(mContext, SHARE_MEDIA.SINA,
            new SnsPostListener() {

            @Override
            public void onStart() {
                Toast.makeText(mContext, "分享開始",Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onComplete(SHARE_MEDIA platform,int eCode, SocializeEntity entity) {
                if(eCode == StatusCode.ST_CODE_SUCCESSED){
                    Toast.makeText(mContext, "分享成功",Toast.LENGTH_SHORT).show();
                }else{
                    Toast.makeText(mContext, "分享失敗",Toast.LENGTH_SHORT).show();
                }
            }
    });

注意:doOauthVerify接口目前不支持微信,微信朋友圈,F(xiàn)acebook,Twitter,GooglePlus,易信,易信朋友圈,來往,來往動態(tài),針對這些平臺可直接調(diào)用分享API接口進(jìn)行分享.

7 各平臺SSO(免登錄)配置

SSO名詞解釋 : SSO英文全稱Single Sign On,單點(diǎn)登錄。SSO是在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應(yīng)用系統(tǒng)。
例如用戶已經(jīng)登錄新浪微博客戶端,使用SSO授權(quán)登錄時(shí)則不需要用戶手動輸入用戶名、密碼,直接點(diǎn)擊登錄即可, 因此可成為免登錄.

7.1 如果有使用任一平臺的SSO授權(quán)或者集成了facebook平臺, 則必須在對應(yīng)的activity中實(shí)現(xiàn)onActivityResult方法, 并添加如下代碼

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    /**使用SSO授權(quán)必須添加如下代碼 */
    UMSsoHandler ssoHandler = mController.getConfig().getSsoHandler(requestCode) ;
    if(ssoHandler != null){
       ssoHandler.authorizeCallBack(requestCode, resultCode, data);
    }
}

7.2 分享到微信和朋友圈

1.添加微信和朋友圈所依賴的jar文件

1.1 解壓已下載的SDK.zip文件,將SocialSDK_WeiXin.jar拷貝到工程的libs(如果沒有此目錄,新建libs目錄)目錄中.
1.2 在libs目錄中找到SocialSDK_WeiXin.jar文件,鼠標(biāo)右鍵-->Add to Build Path.

2.添加如下集成代碼

// wx967daebe835fbeac是你在微信開發(fā)平臺注冊應(yīng)用的AppID, 這里需要替換成你注冊的AppID
String appID = "wx967daebe835fbeac";
// 微信圖文分享必須設(shè)置一個(gè)url 
String contentUrl = "http://www./social";
// 添加微信平臺,參數(shù)1為當(dāng)前Activity, 參數(shù)2為用戶申請的AppID, 參數(shù)3為點(diǎn)擊分享內(nèi)容跳轉(zhuǎn)到的目標(biāo)url
UMWXHandler wxHandler = mController.getConfig().supportWXPlatform(getActivity(),appID, contentUrl);
wxHandler.setWXTitle("友盟社會化組件還不錯(cuò)...");
// 支持微信朋友圈
UMWXHandler circleHandler = mController.getConfig().supportWXCirclePlatform(getActivity(),appID, contentUrl) ;
circleHandler.setCircleTitle("友盟社會化組件還不錯(cuò)...");

微信和朋友圈支持純文字,純圖片(點(diǎn)擊查看大圖),圖文,音樂,視頻分享

微信集成相關(guān)說明

1.微信集成注意以下幾點(diǎn):

  • 正確填寫AppID。
  • 工程的包名必須同申請應(yīng)用的包名一致.
  • 開發(fā)者的應(yīng)用需要通過審核。開發(fā)者在申請應(yīng)用必須要通過微信官網(wǎng)的審核才能進(jìn)行調(diào)試.

2.Demo中集成的微信無法使用

原因:Demo中使用的微信AppID綁定的簽名信息和你打包時(shí)所用的簽名信息不一致,導(dǎo)致無法響應(yīng). 解決辦法有兩個(gè),您任選其一:

  • 申請一個(gè)測試Demo中AppID.(申請地址).
    填寫"包名"時(shí)請使用Demo的包名"com.umeng.soexample".
    填寫"簽名"使用簽名生成工具(簽名工具)生成,簽名時(shí)填寫Demo的包名.
    獲取微信AppID后替換Demo中的使用的AppID.
  • 使用SDK中的 debug.keystore編譯運(yùn)行Demo工程.(keystore使用方法).

7.3 分享給QQ好友 

注意一定要添加7.1的onActivityResult

1. 添加QQ分享所依賴的jar文件

1.1 解壓已下載的SocialSDK.zip文件,SocialSDK_QQZone_1.jar,SocialSDK_QQZone_2.jar拷貝到工程的libs(如果沒有此目錄,新建libs目錄)目錄中.
1.2 在libs目錄中找到SocialSDK_QQZone_1.jar,SocialSDK_QQZone_2.jar文件,鼠標(biāo)右鍵-->Add to Build Path.
1.3 在AndroidManifest.xml中注冊AuthActivity,QQ空間和QQ共用該授權(quán)Activity,具體配置參考上文的AndroidManifest.xml文件.

2. 添加如下集成代碼

//  參數(shù)1為當(dāng)前Activity, 參數(shù)2為用戶點(diǎn)擊分享內(nèi)容時(shí)跳轉(zhuǎn)到的目標(biāo)地址
mController.getConfig().supportQQPlatform(getActivity(), "http://www./social");   

注意:

QQ分享的內(nèi)容為音樂,視頻的時(shí)候,其形式必須為url;圖片支持url形式跟本地圖片。

7.4 SSO(免登錄)分享到QQ空間 

注意一定要添加7.1的onActivityResult

1. 添加QQ空間所依賴的jar文件

如果已經(jīng)添加了SocialSDK_QQZone_1.jar,SocialSDK_QQZone_2.jar文件,則不需要再次添加.
1.1 解壓已下載的SocialSDK.zip文件,SocialSDK_QQZone_1.jar,SocialSDK_QQZone_2.jar拷貝到工程的libs(如果沒有此目錄,新建libs目錄)目錄中.
1.2 在libs目錄中找到SocialSDK_QQZone_1.jar,SocialSDK_QQZone_2.jar文件,鼠標(biāo)右鍵-->Add to Build Path.
1.3 在AndroidManifest.xml中注冊AuthActivity,QQ空間和QQ共用該授權(quán)Activity,具體配置參考上文的AndroidManifest.xml文件.

2. 在集成代碼中添加如下代碼

mController.getConfig().setSsoHandler( new QZoneSsoHandler(getActivity()) );

7.5 SSO(免登錄)分享到新浪微博 

注意一定要添加7.1的onActivityResult

1.將SDK目錄下的src覆蓋到項(xiàng)目工程根目錄下,確保已添加'com/sina/sso/RemoteSSO.aidl'.

2.在集成代碼中添加如下代碼

//設(shè)置新浪SSO handler
mController.getConfig().setSsoHandler(new SinaSsoHandler());

7.6 SSO(免登錄)分享到騰訊微博

注意一定要添加7.1的onActivityResult

1. 添加騰訊微博SSO所依賴的jar文件

1.1 解壓已下載的SocialSDK.zip文件,將SocialSDK_tencentWB_1.jar,SocialSDK_tencentWB_2.jar拷貝到工程的libs(如果沒有此目錄,新建libs目錄)目錄中.
1.2 在libs目錄中找到SocialSDK_tencentWB_1.jar,SocialSDK_tencentWB_2.jar文件,鼠標(biāo)右鍵-->Add to Build Path.

2. 在集成代碼中添加如下代碼

//設(shè)置騰訊微博SSO handler
mController.getConfig().setSsoHandler(new TencentWBSsoHandler());

注意:

1.手機(jī)中必須安裝微博客戶端V3.8.1及以上的版本才支持SSO功能

2.騰訊微博的SSO沒有回調(diào)。由于騰訊微博SSO沒有提供回調(diào),因此騰訊微博SSO不會在onActivityResult方法內(nèi)被調(diào)用(騰訊微博的流程不經(jīng)過onActivityResult方法)

7.7 分享到Facebook

注意一定要添加7.1的onActivityResult.
在集成facebook之前需要到facebook開發(fā)者官網(wǎng)注冊你的應(yīng)用,并且填寫應(yīng)用的相關(guān)信息,否則不能分享成功.
確保在manifest中添加相關(guān)的activity以及app id, 參考上文中的manifest.如果需要其他用戶參與測試,則需要在facebook開發(fā)者官網(wǎng)添加測試賬號。

1.添加Facebook所依賴的jar文件

1.1 解壓已下載的SDK.zip文件,將facebook目錄中的SocialSDK_facebook_1.jar,SocialSDK_facebook_2.jar拷貝到工程的libs(如果沒有此目錄,新建libs目錄)目錄中.
1.2 在facebook/libs目錄中找到SocialSDK_facebook_1.jar,SocialSDK_facebook_2.jar文件,鼠標(biāo)右鍵-->Add to Build Path.

2.將facebook中res目錄下的資源文件添加到工程對應(yīng)的文件夾下面

3.在集成代碼中添加如下代碼

// 添加facebook支持, 參數(shù)1為當(dāng)前activity
// 設(shè)置facebook為大圖分享,如果不設(shè)置則默認(rèn)為圖文分享
UMFacebookHandler mFacebookHandler = new UMFacebookHandler(getActivity(), PostType.PHOTO);
mFacebookHandler.addToSocialSDK();

為了穩(wěn)定性,建議開發(fā)者在Activity的onResume, onStop, onSaveInstanceState方法中調(diào)用mFacebookHandler對應(yīng)的方法.

7.8 分享到易信和易信朋友圈

1.添加易信和易信朋友圈所依賴的jar文件

1.1 解壓已下載的SDK.zip文件,將yixin目錄中的SocialSDK_yixin_1.jar,SocialSDK_yixin_2.jar拷貝到工程的libs(如果沒有此目錄,新建libs目錄)目錄中.
1.2 在yixin/libs目錄中找到SocialSDK_yixin_1.jar,SocialSDK_yixin_2.jar文件,鼠標(biāo)右鍵-->Add to Build Path.

2.將yixin中res目錄下的資源文件添加到工程對應(yīng)的文件夾下面

3.在集成代碼中添加如下代碼

 // 添加易信平臺,參數(shù)1為當(dāng)前activity, 參數(shù)2為在易信開放平臺申請到的app id
UMYXHandler yixinHandler = new UMYXHandler(getActivity(),
                "yxc0614e80c9304c11b0391514d09f13bf");
yixinHandler.addToSocialSDK();

// 易信朋友圈平臺,參數(shù)1為當(dāng)前activity, 參數(shù)2為在易信開放平臺申請到的app id, 參數(shù)3為是否為易信朋友圈
UMYXHandler yxCircleHandler = new UMYXHandler(getActivity(),
                "yxc0614e80c9304c11b0391514d09f13bf", true);
yxCircleHandler.addToSocialSDK();

7.9 來往和來往動態(tài)集成配置

1. 添加來往所依賴的jar文件

1.1 解壓已下載的SocialSDK.zip文件,將laiwang目錄下的SocialSDK_laiwang_1.jar,SocialSDK_laiwang_2.jar拷貝到工程的libs(如果沒有此目錄,新建libs目錄)目錄中.
1.2 在laiwang/libs目錄中找到SocialSDK_laiwang_1.jar,SocialSDK_laiwang_2.jar文件,鼠標(biāo)右鍵-->Add to Build Path.

2.將laiwang中res目錄下的資源文件添加到工程對應(yīng)的文件夾下面

3. 在集成代碼中添加如下代碼

//消息跳轉(zhuǎn)的url
String targetUrl = "http://www./social";
//添加來往
//laiwangd497e70d4:來往appToken,d497e70d4c3e4efeab:來往secretID
UMLWHandler umlwDynamicHandler = UMLWService.supportLWPlatform(getActivity(),
                "laiwangd497e70d4", "d497e70d4c3e4efeab1381476bac4c5e",targetUrl);
//設(shè)置title
umlwDynamicHandler.setTitle("友盟社會化分享組件-來往動態(tài)");
//設(shè)置消息來源
umlwDynamicHandler.setMessageFrom("友盟分享組件");

//添加來往動態(tài)        
UMLWHandler umlwHandler = UMLWService.supportLWDynamicPlatform(getActivity(),
                "laiwangd497e70d4", "d497e70d4c3e4efeab1381476bac4c5e",targetUrl);
umlwHandler.setTitle("友盟社會化分享組件-來往");
umlwHandler.setMessageFrom("友盟分享組件");

mController.openShare(getActivity(), false);

來往和來往動態(tài)分享支持文本,圖片,圖文,音樂,視屏分享。文本分享會默認(rèn)添加應(yīng)用的Icon作為圖片;圖片分享會默認(rèn)添加文本, 默認(rèn)文本為/res/values/umeng_socialize_strings.xml中的umeng_socialize_laiwang_default_content字段.

8 應(yīng)用信息注冊地址列表

下面是Social SDK不同平臺應(yīng)用信息注冊網(wǎng)站的地址:

平臺網(wǎng)址
新浪微博http://open.weibo.com
騰訊微博http://dev.t.qq.com
QQ空間http://connect.qq.com/intro/login/
微信好友http://open.weixin.qq.com
FaceBookhttps://developers.
Twitterhttps://dev.twitter.com
人人http://dev.renren.com
豆瓣http://developers.douban.com/

9 綁定友盟應(yīng)用標(biāo)識與各開放平臺

獲得appkey后,為了方便您可以快速集成我們的社會化分享的服務(wù),我們會為你對各個(gè)平臺提供一個(gè)默認(rèn)的appkey和appsecret,如果你想使用自己的微博平臺的應(yīng)用,您需在在我們網(wǎng)站更改默認(rèn)的微博appkey,具體操作是:登錄友盟網(wǎng)站->左上角選擇你們的產(chǎn)品->組件->社會化組件->設(shè)置,菜單項(xiàng)下進(jìn)行綁定配置。如果你尚未在我們支持的分享平臺注冊你的應(yīng)用,注冊過程可以參考如下:

新浪微博

1. 在新浪開放平臺后臺創(chuàng)建移動應(yīng)用:http://open.weibo.com -> 應(yīng)用開發(fā) -> 移動應(yīng)用 -> 創(chuàng)建應(yīng)用

2. 在創(chuàng)建好新應(yīng)用后,選擇“基本信息”,安全域名填寫"sns.",其余字段按需填寫;(如果是已有應(yīng)用,可以在應(yīng)用信息->基本設(shè)置->安全域名中做修改)

3. 如果應(yīng)用尚未通過審核,則需要指定測試用戶,該階段只有指定的測試用戶才可以分享信息到新浪微博,應(yīng)用通過審核后此限制自動失效。

4. 將獲取到的Key和Secret手工填寫到友盟后臺對應(yīng)應(yīng)用的組件 -> 社會化組件 -> 設(shè)置頁 -> 新浪微博APP綁定信息部分。

騰訊微博

1. 生成封裝鏈接。如果還未配置應(yīng)用地址的封裝鏈接,需要在友盟后臺對應(yīng)應(yīng)用的組件 ->社會化組件 ->設(shè)置頁 中生成封裝鏈接;
![appurl_socialurl](http://dev./images/ios/appurl_socialurl.png)

2. 在騰訊開放平臺后臺創(chuàng)建無線應(yīng)用:http://dev.t.qq.com/ -> 應(yīng)用開發(fā) -> 創(chuàng)建應(yīng)用 -> “無線應(yīng)用”;

3. 在創(chuàng)建無線應(yīng)用表單中,“應(yīng)用網(wǎng)址”需要填寫步驟1生成的應(yīng)用網(wǎng)址的封裝鏈接,其余字段按需填寫;

(如果是已有應(yīng)用,可以在基本信息 -> 應(yīng)用網(wǎng)址中填寫上述的封裝鏈接)

4. 將獲取到的Key和Secret手工填寫到友盟后臺對應(yīng)應(yīng)用的組件 -> 社會化組件 -> 設(shè)置頁 -> 騰訊微博APP綁定信息部分。

人人網(wǎng)

人人網(wǎng)開放平臺(不推薦繼續(xù)使用,兩種接入方式的區(qū)別詳見,http://wiki.mobile.renren.com/zh/index.php/接入流程指南#.E5.B7.B2.E6.8E.A5.E5.85.A5.E8.BF.87.E4.BA.BA.E4.BA.BA)

1. 在如下位置創(chuàng)建應(yīng)用:http://dev.renren.com/ -> 應(yīng)用開發(fā) -> 創(chuàng)建客戶端應(yīng)用 -> 填寫應(yīng)用名稱;

2. 在已創(chuàng)建應(yīng)用的基本信息 -> 應(yīng)用根域名字段填寫為“sns.whalecloud.com”;

3. 應(yīng)用處于“開發(fā)中”狀態(tài)(未審核通過前),需要在用戶管理頁面中添加測試用戶,這些特定用戶才能分享成功。應(yīng)用通過審核后此限制自動失效。

4. 將獲取到的App ID、API Key、Secret手工填寫到友盟后臺對應(yīng)應(yīng)用的組件 -> 社會化組件 -> 設(shè)置頁 -> 人人網(wǎng)APP綁定信息部分,并勾選“開放平臺”。

豆瓣

與人人網(wǎng)的申請、配置方式基本一致,開放平臺鏈接如下:http://developers.douban.com/

回調(diào)地址為:http://sns./douban/callback

權(quán)限必須選擇豆瓣廣播

QQ空間

1. 在如下位置創(chuàng)建應(yīng)用:http://connect.qq.com/manage/ -> 添加移動應(yīng)用 -> 填寫應(yīng)用名稱,確定;

2. 在接下來的應(yīng)用控制臺 -> 基本信息 -> 點(diǎn)擊編輯按鈕,填寫必要的應(yīng)用信息,并保存。(不做有可能授權(quán)失敗)

3. 將獲取到的APP ID、Key手工填寫到友盟后臺對應(yīng)應(yīng)用的組件 -> 社會化組件 -> 設(shè)置頁 -> QQ空間APP綁定信息部分。

4. 按照以上配置可以滿足大部分的圖片分享需求,即指定圖片URL進(jìn)行圖片分享;如需支持上傳圖片內(nèi)容并分享,要在此頁面另行申請upload_pic權(quán)限:http://wiki.opensns.qq.com/wiki/【QQ登錄】API文檔)

10. FAQ

請到友盟社會化組件的幫助與支持頁面

11. 常見錯(cuò)誤

打開**com.umeng.socom.Log.LOG = true**,可在LogCat中觀察,部分錯(cuò)誤碼將在toast中顯示。

如過返回錯(cuò)誤碼不在以下表格中,請查閱相關(guān)分享平臺錯(cuò)誤碼.

Social錯(cuò)誤代碼及錯(cuò)誤信息

5001錯(cuò)誤的友盟appkey,或者此appkey沒有綁定任何平臺.如果開發(fā)者綁定了,依然出現(xiàn)這個(gè)問題,讓開發(fā)者再試一下,可能是剛綁定馬上就測試的原因,最好等2分鐘。
5002這個(gè)友盟appkey已經(jīng)被禁止
5003請求的參數(shù)中沒有uid
5004未知的錯(cuò)誤,具體的錯(cuò)誤信息會在log的輸出中
5005訪問頻率超限,可一會兒再試
5006請求參數(shù)中沒有content字段
5007請求參數(shù)中content字段的內(nèi)容為空
5008沒有上傳圖片
5009此友盟的appkey沒有綁定對應(yīng)平臺的appkey和appsecret
5010userid無效,這個(gè)用戶并沒有進(jìn)行授權(quán)
5013請求的參數(shù)中沒有appkey這個(gè)字段
5014沒有對此用戶進(jìn)行授權(quán)
5016分享信息重復(fù)
5017分享圖片大小有問題
5024獲取access token失敗,具體看log輸出
5025獲取access token失敗,具體看log輸出
5027授權(quán)已經(jīng)過期
5028授權(quán)已經(jīng)過期
5015請求中沒有state參數(shù)
5016發(fā)送了重復(fù)內(nèi)容的微博
5017圖像文件大小不正確
5018appurl不正確
5019圖像url不正確
5020沒有使用Qzone add_share接口的權(quán)限
5029該用戶已經(jīng)關(guān)注過了
5030沒有使用此api的權(quán)限
5031openid錯(cuò)誤
5032用戶不存在或者用戶無法在平臺發(fā)言
5033請求參數(shù)非法
5034用戶不在平臺的應(yīng)用測試列表當(dāng)中
5035發(fā)布內(nèi)容頻率太高
5036IMEI參數(shù)錯(cuò)誤
5037此App尚未授權(quán)過
500給定uid的用戶并不存在
501綁定賬戶失敗
502解綁定失敗
503評論失敗
504獲取評論失敗
505用戶被加入黑名單
506獲取好友失敗
507獲取授權(quán)url失敗
508解除授權(quán)失敗
510分享失敗
511獲取bar失敗
512從平臺獲取用戶信息失敗
513url跳轉(zhuǎn)失敗
514從social獲取用戶信息失敗
515請求的參數(shù)錯(cuò)誤
516請求喜歡失敗
517版本號錯(cuò)誤
-101沒有Oauth授權(quán)
-102未知錯(cuò)誤
-103服務(wù)器沒響應(yīng)
-104初始化失敗
-105參數(shù)錯(cuò)誤

其他平臺錯(cuò)誤碼

新浪微博錯(cuò)誤碼

騰訊微博錯(cuò)誤碼

QQ和QQ空間錯(cuò)誤碼

2.混淆

為了保證引用友盟Social SDK jar文件以及騰訊jar文件被混淆,請?jiān)趐roguard.cfg文件中添加以下代碼避免被混淆.。


-dontwarn com.google.android.maps.**
-dontwarn android.webkit.WebView
-dontwarn com.umeng.**
-dontwarn com.tencent.weibo.sdk.**
-dontwarn com.facebook.**

-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 public class javax.**
-keep public class android.webkit.**
-keep class com.tencent.open.TDialog$*
-keep class com.facebook.**
-keep class com.umeng.scrshot.**
-keep public class com.tencent.**
-keep class com.umeng.socialize.sensor.**
-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.tencent.mm.sdk.openapi.WXMediaMessage {*;}

-keep class com.tencent.mm.sdk.openapi.** implements com.tencent.mm.sdk.openapi.WXMediaMessage$IMediaObject {*;}

-keep class im.yixin.sdk.api.YXMessage {*;}
-keep class im.yixin.sdk.api.** implements im.yixin.sdk.api.YXMessage$YXMessageData{*;}

-keep public class [your_pkg].R$*{
    public static final int *;
}

12 技術(shù)支持

請發(fā)郵件至social-support@。如果您出現(xiàn)的問題和SDK相關(guān),請說明您使用的是Android的SDK,我們會盡快回復(fù)您。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多