Mob ShareSDK集成

1. 下載SDK

官網上即可下載 http://www.mob.com/

2. App Key & App Secret獲取

1. 註冊賬號,進入後臺,立即使用ShareSDK後進入

這裏寫圖片描述

2. 添加新應用,獲取Key&Secret

這裏寫圖片描述

3. 獲取到的Key&Secret在應用中會用到

這裏寫圖片描述

3. 應用集成ShareSDK

1. 解壓下載的SDK

這裏寫圖片描述

2. 使用快速工具進行集成

勾選&確定後生成需要的jar包。

這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

3. 配置工程

1. 新建AndroidStudio工程

2. 複製jar包

QuickIntegrater會自行產生一個文件夾,複製此文件夾中所有文件到您的項目中覆蓋即可。

這裏寫圖片描述

3. 項目依賴複製的jar包

將複製到工程中的jar包全選->右鍵->Add As Libraries即可,依賴成功後的jar包前會生成一個小三角符號,可以展開查看jar包中的內容。然後就可以在項目中調用jar包裏集成好的類和方法咯。

這裏寫圖片描述

4. 配置AndroidManifest.xml

-添加權限

直接從官方教程Copy過來的,根據項目需要再自定義添加。

    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
    <!-- 藍牙分享所需的權限 -->
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

-添加Activity信息
直接從官方教程Copy過來,回調處理部分等以後研究好了再更新。

<activity
     android:name="com.mob.tools.MobUIShell"
     android:theme="@android:style/Theme.Translucent.NoTitleBar"
     android:configChanges="keyboardHidden|orientation|screenSize"
     android:screenOrientation="portrait"
     android:windowSoftInputMode="stateHidden|adjustResize" >

     <intent-filter>
         <data android:scheme="tencent100371282" />
         <action android:name="android.intent.action.VIEW" />
         <category android:name="android.intent.category.BROWSABLE" />
         <category android:name="android.intent.category.DEFAULT" />
     </intent-filter>

    <!-- 調用新浪原生SDK,需要註冊的回調activity -->
    <intent-filter>
        <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

    <!--集成line客戶端登錄授權,需要添如下格式的過濾器-->
    <intent-filter> 
    <data android:scheme="line.1477692153" />
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.BROWSABLE" />
    <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

 </activity>

5. 修改ShareSDK.xml

-ShareSDK.xml中各字段的意義

Id : 自定義字段,整型,用於您項目中對此平臺的識別符
SortId : 此平臺在您分享列表中的位置,整型,數值越大越靠後
ShareByAppClient : 是否使用客戶端進行分享
Enable : 布爾值,標記此平臺是否有效

** ShareSDK的每一個平臺都具備SortId、Id、Enable字段,除此之外的字段(如新浪微博的AppKey、AppSecret、RedirectUrl、ShareByAppClient等字段)需要到目標平臺上註冊應用以後得到,請正確填寫這些字段的數據,否則ShareSDK無法完成授權,則後續的其它操作也將無法執行。

-ShareSDK AppKey修改

在Mob平臺添加應用獲取到的AppKey複製到ShareSDK的AppKey屬性中。

這裏寫圖片描述

-分享平臺信息修改

以新浪微博爲例,將在新浪微博開放平臺http://open.weibo.com/中申請獲得的AppKey和AppSecret以及授權回調頁鏈接複製到ShareSDK中新浪微博相應內容裏,必須輸入正確有效的內容,否則會分享不成功。

這裏寫圖片描述

4. 添加分享代碼

-初始化

要使用ShareSDK功能需先將其初始化,本人比較喜歡在Activity中的onCreate()方法中進行初始化操作。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ShareSDK.initSDK(this); //初始化ShareSDK
    }

-分享方法

官網給出的分享方法,在需要打開分享的部分調用此方法即可。以後可根據項目需要自定義內容。具體的還需深入學習~

private void showShare() {
 OnekeyShare oks = new OnekeyShare();
 //關閉sso授權
 oks.disableSSOWhenAuthorize(); 
 // title標題,印象筆記、郵箱、信息、微信、人人網、QQ和QQ空間使用
 oks.setTitle("標題");
 // titleUrl是標題的網絡鏈接,僅在Linked-in,QQ和QQ空間使用
 oks.setTitleUrl("http://sharesdk.cn");
 // text是分享文本,所有平臺都需要這個字段
 oks.setText("我是分享文本");
 //分享網絡圖片,新浪微博分享網絡圖片需要通過審覈後申請高級寫入接口,否則請註釋掉測試新浪微博
 oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg");
 // imagePath是圖片的本地路徑,Linked-In以外的平臺都支持此參數
 //oks.setImagePath("/sdcard/test.jpg");//確保SDcard下面存在此張圖片
 // url僅在微信(包括好友和朋友圈)中使用
 oks.setUrl("http://sharesdk.cn");
 // comment是我對這條分享的評論,僅在人人網和QQ空間使用
 oks.setComment("我是測試評論文本");
 // site是分享此內容的網站名稱,僅在QQ空間使用
 oks.setSite("ShareSDK");
 // siteUrl是分享此內容的網站地址,僅在QQ空間使用
 oks.setSiteUrl("http://sharesdk.cn");

// 啓動分享GUI
 oks.show(this);
 }

-DemoActivity源碼貼一下

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.onekeyshare.OnekeyShare;

public class MainActivity extends Activity {

    private Button shareBtn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        shareBtn = (Button) findViewById(R.id.share_btn);
        shareBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showShare();
            }
        });
        ShareSDK.initSDK(this);
    }

    private void showShare() {
        OnekeyShare oks = new OnekeyShare();
        oks.disableSSOWhenAuthorize();
        oks.setTitle("標題");
        oks.setTitleUrl("http://sharesdk.cn");
        oks.setText("我是分享文本");
        oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg");
        oks.setUrl("http://sharesdk.cn");
        oks.setComment("我是測試評論文本");
        oks.setSite("ShareSDK");
        oks.setSiteUrl("http://sharesdk.cn");
        oks.show(this);
    }
}

-運行效果

Demo首頁

這裏寫圖片描述

ShareSDK調用界面

這裏寫圖片描述

點擊Sina Weibo分享

這裏寫圖片描述

分享後會彈出Toast提示分享結果,Operation Fail或者Operation Success。分享失敗會在控制檯打出對應的Log,可根據Log分析分享失敗原因。

學習參考:
http://wiki.mob.com/Android_%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E6%8C%87%E5%8D%97/
http://www.cnblogs.com/smyhvae/p/4585340.html

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