溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

在自己的App里面加入微博分享---Android平臺

發(fā)布時間:2020-04-11 08:54:05 來源:網(wǎng)絡(luò) 閱讀:849 作者:FangjgAndroid 欄目:移動開發(fā)

現(xiàn)在的App,如果是想留住用戶,單純的用本App的賬戶用戶名已經(jīng)很難達(dá)到目的,就像網(wǎng)站一樣,查看網(wǎng)站內(nèi)容需要注冊賬戶登錄后才能查看,如果不是很感興趣的內(nèi)容,一般就直接選擇點(diǎn)擊網(wǎng)頁旁邊的小紅叉關(guān)掉網(wǎng)頁。App也是這樣的情況,只不過現(xiàn)在用戶不是狂按back鍵返回,而是直接卸載。所以兵來將擋水來土掩,所以考慮各大門戶,用第三方接口接入就能比較有效地留住用戶了,現(xiàn)在就來講講如何接入第三方之微博篇。

 按步驟來講應(yīng)該會比較清晰,那就一步一步來吧。


1、基于了解三方接口目的,先到官網(wǎng)下載SDK,微博是到微博的網(wǎng)站下載,網(wǎng)址open.weibo.com

2、將下載好的SDK解壓后將Lib 和 Demo都導(dǎo)入開發(fā)軟件中,并運(yùn)行Demo,就運(yùn)行就好其他不要操作,然后開始在新浪的網(wǎng)址上創(chuàng)建應(yīng)用

3、點(diǎn)擊微連接的下拉項選擇移動應(yīng)用,在跳出的頁面選擇立即連接,此時需要登錄微博賬號,如果沒有注冊一個,并且注冊開發(fā)信息,完事后開始創(chuàng)建應(yīng)用

4、在創(chuàng)建應(yīng)用界面輸入應(yīng)用名稱,選擇客戶端、手機(jī)、Android,然后點(diǎn)擊創(chuàng)建,創(chuàng)建成功跳轉(zhuǎn)至控制臺界面,這里如果對剛才的設(shè)置有所反悔依然可以修改。

5、Android簽名包的注冊,首先輸入應(yīng)用的包名,包名在你應(yīng)用的清單文件那邊可以找到,Android簽名獲得是這樣子的,在解壓SDK時會有一個app_signatures.apk安裝包,將它安裝到模擬器中(一般拖拽進(jìn)去就可以)然后運(yùn)行,在輸入框里輸入應(yīng)用的包名,點(diǎn)擊生成就會生成Android應(yīng)用的簽名,將此簽名拷貝黏貼到網(wǎng)頁的Android簽名一欄中,這樣就可以了,后面的兩組包名和簽名不用填,接下來的一些選項如果是開發(fā)測試用可以隨便填寫,如果是正規(guī)使用,需要在產(chǎn)品經(jīng)理的指導(dǎo)下填寫。最后點(diǎn)擊保存以上信息。

6、在該界面的左邊找到高級信息,點(diǎn)擊進(jìn)去里面的授權(quán)回調(diào)頁與取消授權(quán)回調(diào)頁也要填寫,當(dāng)然,這是你們公司服務(wù)器的網(wǎng)址,自己測試隨便填。記得保存。

7、以上網(wǎng)頁端就寫好了,接下來是在Demo里面進(jìn)行配置。

進(jìn)行三方接口的使用一般都要一個密鑰,微博叫AppKey,在你剛才填寫的應(yīng)用信息那邊就能找到,將此值復(fù)制,打開Demo的Constants.java類,在public static final String APP_KEY  處黏貼key值,并在public static final String REDIRECT_URL處黏貼授權(quán)回調(diào)的網(wǎng)址,好,這樣就可以運(yùn)行Demo的授權(quán)功能了。

8、打開應(yīng)用,單擊微博授權(quán)按鈕,點(diǎn)擊sso授權(quán)(ALL IN ONE)就會跳出微博登錄頁面,輸入賬戶和密碼就能進(jìn)行授權(quán)。授權(quán)成功后返回本頁面會顯示一個token碼,這個有很大的用途。

接下來是發(fā)微博功能。

一般通過微博分享App的形式是醬紫的,在授權(quán)用戶的微博上發(fā)一篇微博,說使用xxApp感覺很棒,并附上App的下載地址,這樣就算達(dá)到分享效果了,所以本質(zhì)上是發(fā)一條微博。

所以發(fā)微博就需要使用微博的微博接口來實現(xiàn)分享功能。

還是這樣子,一步一步來。

為了講解方便,我們自己創(chuàng)建一個項目來進(jìn)行實現(xiàn)用我們自己的應(yīng)用發(fā)送微博功能。

這里先注意一下,由于官方Demo問題,weiboSDK里面沒有庫文件,所以要將Demo里面的庫考到weiboSDK里面

1、用微博簽名生成器給我們自己的應(yīng)用生成一個簽名,并在網(wǎng)頁上創(chuàng)建的微博應(yīng)用進(jìn)行注冊,具體是:

    1)拷貝本項目包名,在模擬器上打開weibo簽名生成器,黏貼包名,生成簽名,然后復(fù)制簽名,在網(wǎng)頁上我的應(yīng)用--應(yīng)用信息--應(yīng)用簽名包信息--下面黏貼包名和簽證,保存。

2、創(chuàng)建自己的項目,然后用我們的庫去依賴weiboSDK。

3、在庫清單文件里面注冊權(quán)限,還有一個很重要的

    

<!-- 必須注冊在微博授權(quán),分享微博時候用到 -->

        <activity

            android:name="com.sina.weibo.sdk.component.WeiboSdkBrowser"

            android:configChanges="keyboardHidden|orientation"

            android:exported="false"

            android:windowSoftInputMode="adjustResize" >

        </activity>

這個一定要在清單文件里面配置,這是weiboSDK里面的授權(quán)界面的布局,沒有配置會直接導(dǎo)致App死掉

4、根據(jù)Demo里面的微博授權(quán)--SSo授權(quán)(ALL IN ONE)按鈕的點(diǎn)擊事件整合微博的授權(quán)功能,微博授權(quán)成功,會返回一個Assess_Token,同時會用SharePreference寫入手機(jī)內(nèi)存,醬紫以后就不用再每次都要進(jìn)行授權(quán)了。

重點(diǎn)來了,拿到Token后就可以在微博上發(fā)微博了。

根據(jù)微博的API文檔可以知道是通過post協(xié)議發(fā)送消息的,post協(xié)議是由一個請求的URL加上一個Map類的方式進(jìn)行請求,map里面要包含Token值還有發(fā)送的內(nèi)容,這樣就可以發(fā)出微博了,代碼:

Map<String, String> params = new HashMap<String, String>();

params.put("access_token", accessToken);

params.put("status", mt_say.getText().toString());

String url = "https://api.weibo.com/2/statuses/update.json";

HTTPUtils.post(this, url, params, new VolleyListener() {

@Override

public void onResponse(String arg0) {

WeiboDate weiboDate = GsonUtils

.parseJSON(arg0, WeiboDate.class);

User user = weiboDate.getUser();

setmsg(user);

if (!arg0.isEmpty()) {

if (arg0.contains("error_code")) {

Toast.makeText(MainActivity.this, "分享失敗",

Toast.LENGTH_SHORT).show();

} else {

Toast.makeText(MainActivity.this, "分享成功",

Toast.LENGTH_SHORT).show();

}

}

}

http的Post協(xié)議得好好研究下,其map對象的內(nèi)容一定要含有token字段才能發(fā)微博,差不多就這樣




向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI