相信做開發(fā)的猿友們肯定會(huì)接觸三方分享,那么三方分享怎么具體集成呢,當(dāng)初我吃過苦頭,現(xiàn)在想為新手們寫一個(gè)詳細(xì)的集成介紹。大神請自行走開。。。
我這里就介紹友盟的三方了吧,目前使用比較廣泛,三方呢,這里只做qq,微信,微博等常見的。友盟呢有自己的demo和配置文檔,不過那個(gè)demo是Eclipase的,很久了。廢話不多說,開始吧。
一、友盟SDK
去友盟的官網(wǎng)下載一個(gè)友盟集成的SDK,在首頁點(diǎn)擊產(chǎn)品。選擇U-Share,
之后會(huì)出現(xiàn)如下界面
點(diǎn)擊SDK及文檔,選擇Android的小機(jī)器人,就會(huì)跳轉(zhuǎn)到Android的介紹。
點(diǎn)擊SDK下載,下載最新版本,我使用的是v5.1.1,然后讓你選擇所需要的分享的三方平臺(tái),我只用了qq,微信,微博(新手建議把API手冊和文檔工程實(shí)例下載下來)。
二、配置項(xiàng)目工程
在下載好的實(shí)例中,找到如下文件夾。里面有做需要的jar包和xml文件
創(chuàng)建項(xiàng)目工程就不仔細(xì)介紹了,將main和paltforms里面的jar包c(diǎn)opy出來,總共有8個(gè),導(dǎo)入項(xiàng)目。下面兩個(gè)文件夾是eclipse的項(xiàng)目。
這里jar導(dǎo)入,只舉一個(gè)例子,相信要做分享了,不可能什么都不懂。選擇Project模式,將jar包導(dǎo)入libs中
導(dǎo)入之后,需要建立依賴。右鍵點(diǎn)擊工程名。彈出對話框,選擇OpenMoudelSettings,點(diǎn)擊綠色+,選擇添加File Dependencies.按如下操作即可,這里不需要導(dǎo)入V4包!?。?!否則會(huì)報(bào)錯(cuò)?。?/strong>
添加好依賴之后,那么就導(dǎo)入資源文件。在res文件下。
將這些文件導(dǎo)入工程,看清楚是在Android的形式下!
對于drawable中的圖片,我有點(diǎn)偷懶,我直接把所有的圖片都copy進(jìn)去了,沒進(jìn)行細(xì)分,像人人或Face的圖標(biāo)都在。你們要是想做的精細(xì)點(diǎn),可以去掉多余的圖標(biāo)。
接下來還需要導(dǎo)入微博的so文件。
導(dǎo)入項(xiàng)目工程,注意是Project的形式下。(jniLibs是自己手動(dòng)創(chuàng)建的)
三、代碼權(quán)限配置
這里需要各種appkey和secret。一步步來,離勝利快近了。首先去友盟官網(wǎng)注冊一個(gè)賬號(hào)。這里就不介紹了。注冊之后,登錄點(diǎn)擊個(gè)人中心。
點(diǎn)擊U-App,出現(xiàn)以下界面
點(diǎn)擊立即使用
點(diǎn)擊添加新應(yīng)用。添加成功后。會(huì)有一個(gè)唯一appkey.需要在清單文件中添加。
四、部分代碼
貼出清單文件的代碼,
<meta-data android:name="UMENG_APPKEY" android:value="5763867767e58ec9c3002114" >
這里的key必須是自己創(chuàng)建的項(xiàng)目生成的key。其他可以直接復(fù)制。
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.abings.umengsharedemo" > <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.INTERNET" /> <uses-permission android:name="android.permission.READ_LOGS" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.SET_DEBUG_APP" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.USE_CREDENTIALS" /> <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:name=".MyApplication" android:supportsRtl="true" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.umeng.socialize.editorpage.ShareActivity" android:theme="@style/Theme.UMDefault" android:excludeFromRecents="true"/> <meta-data android:name="UMENG_APPKEY" android:value="5763867767e58ec9c3002114" > </meta-data> <activity android:name=".WXEntryActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <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="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" /> </application></manifest>
創(chuàng)建監(jiān)聽器,回調(diào)時(shí)使用。這些待會(huì)會(huì)給出代碼的地址,都很簡單的。
umShareListener = new UMShareListener() { @Override public void onResult(SHARE_MEDIA platform) { Toast.makeText(MainActivity.this, platform + " 分享成功啦", Toast.LENGTH_SHORT).show(); } @Override public void onError(SHARE_MEDIA platform, Throwable t) { Toast.makeText(MainActivity.this,platform + " 分享失敗啦", Toast.LENGTH_SHORT).show(); } @Override public void onCancel(SHARE_MEDIA platform) { Toast.makeText(MainActivity.this,platform + " 分享取消了", Toast.LENGTH_SHORT).show(); } };
在Application類中進(jìn)行初始化。
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); PlatformConfig.setWeixin("wx967daebe835fbeac", "5bb696d9ccd75a38c8a0bfe0675559b3"); //微信 appid appsecret PlatformConfig.setSinaWeibo("3921700954","04b48b094faeb16683c32669824ebdad"); //新浪微博 appkey appsecret PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba"); }}
第一個(gè)參數(shù)是appkey,第二個(gè)是secret。這里我會(huì)一套流程全部給大家演示一遍。如何獲取這些key和secret。
首先在騰訊開發(fā)者平臺(tái)注冊賬號(hào),需要什么手持身份證照片進(jìn)行開發(fā)者認(rèn)證,這些都很簡單。登錄之后,點(diǎn)擊首頁
點(diǎn)擊應(yīng)用管理
PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
第一個(gè)參數(shù)是appid,第二個(gè)參數(shù)是appkey。
微博創(chuàng)建開發(fā)者之后
如上圖操作。創(chuàng)建應(yīng)用填寫信息。
包名大家都知道吧,清單文件中有。簽名是用一個(gè)簽名工具填入生成的。直接安裝在手機(jī)上,當(dāng)然要簽名的軟件也必須安裝在手機(jī)上了,不然簽名工具監(jiān)測不到包所在地。在我的git里,會(huì)附上簽名工具。這里的appkey是第一個(gè)參數(shù),app secret是第二個(gè)參數(shù)。微博必須注意一點(diǎn):shareAction的withText()方法不能為空!
微信相對麻煩一點(diǎn)。注冊之后,點(diǎn)擊管理中心,之后創(chuàng)建應(yīng)用。
這里的簽名和微博的簽名、包名是一樣的。之后要等幾個(gè)小時(shí),審核通過。信息真假無所謂,都會(huì)通過審核的。通過之后再點(diǎn)擊應(yīng)用就會(huì)有appkey和appsecret 了。
好了內(nèi)容就這么多,抽空余時(shí)間整理的。有點(diǎn)亂。大家不要介意。按照這流程操作,分享和三方登錄都是小事一樁。
最后附上git源碼、
https://github.com/SingleShu/UmengShare