您好,登錄后才能下訂單哦!
現在的App,如果是想留住用戶,單純的用本App的賬戶用戶名已經很難達到目的,就像網站一樣,查看網站內容需要注冊賬戶登錄后才能查看,如果不是很感興趣的內容,一般就直接選擇點擊網頁旁邊的小紅叉關掉網頁。App也是這樣的情況,只不過現在用戶不是狂按back鍵返回,而是直接卸載。所以兵來將擋水來土掩,所以考慮各大門戶,用第三方接口接入就能比較有效地留住用戶了,現在就來講講如何接入第三方之微博篇。
按步驟來講應該會比較清晰,那就一步一步來吧。
1、基于了解三方接口目的,先到官網下載SDK,微博是到微博的網站下載,網址open.weibo.com
2、將下載好的SDK解壓后將Lib 和 Demo都導入開發軟件中,并運行Demo,就運行就好其他不要操作,然后開始在新浪的網址上創建應用
3、點擊微連接的下拉項選擇移動應用,在跳出的頁面選擇立即連接,此時需要登錄微博賬號,如果沒有注冊一個,并且注冊開發信息,完事后開始創建應用
4、在創建應用界面輸入應用名稱,選擇客戶端、手機、Android,然后點擊創建,創建成功跳轉至控制臺界面,這里如果對剛才的設置有所反悔依然可以修改。
5、Android簽名包的注冊,首先輸入應用的包名,包名在你應用的清單文件那邊可以找到,Android簽名獲得是這樣子的,在解壓SDK時會有一個app_signatures.apk安裝包,將它安裝到模擬器中(一般拖拽進去就可以)然后運行,在輸入框里輸入應用的包名,點擊生成就會生成Android應用的簽名,將此簽名拷貝黏貼到網頁的Android簽名一欄中,這樣就可以了,后面的兩組包名和簽名不用填,接下來的一些選項如果是開發測試用可以隨便填寫,如果是正規使用,需要在產品經理的指導下填寫。最后點擊保存以上信息。
6、在該界面的左邊找到高級信息,點擊進去里面的授權回調頁與取消授權回調頁也要填寫,當然,這是你們公司服務器的網址,自己測試隨便填。記得保存。
7、以上網頁端就寫好了,接下來是在Demo里面進行配置。
進行三方接口的使用一般都要一個密鑰,微博叫AppKey,在你剛才填寫的應用信息那邊就能找到,將此值復制,打開Demo的Constants.java類,在public static final String APP_KEY 處黏貼key值,并在public static final String REDIRECT_URL處黏貼授權回調的網址,好,這樣就可以運行Demo的授權功能了。
8、打開應用,單擊微博授權按鈕,點擊sso授權(ALL IN ONE)就會跳出微博登錄頁面,輸入賬戶和密碼就能進行授權。授權成功后返回本頁面會顯示一個token碼,這個有很大的用途。
接下來是發微博功能。
一般通過微博分享App的形式是醬紫的,在授權用戶的微博上發一篇微博,說使用xxApp感覺很棒,并附上App的下載地址,這樣就算達到分享效果了,所以本質上是發一條微博。
所以發微博就需要使用微博的微博接口來實現分享功能。
還是這樣子,一步一步來。
為了講解方便,我們自己創建一個項目來進行實現用我們自己的應用發送微博功能。
這里先注意一下,由于官方Demo問題,weiboSDK里面沒有庫文件,所以要將Demo里面的庫考到weiboSDK里面
1、用微博簽名生成器給我們自己的應用生成一個簽名,并在網頁上創建的微博應用進行注冊,具體是:
1)拷貝本項目包名,在模擬器上打開weibo簽名生成器,黏貼包名,生成簽名,然后復制簽名,在網頁上我的應用--應用信息--應用簽名包信息--下面黏貼包名和簽證,保存。
2、創建自己的項目,然后用我們的庫去依賴weiboSDK。
3、在庫清單文件里面注冊權限,還有一個很重要的
<!-- 必須注冊在微博授權,分享微博時候用到 -->
<activity
android:name="com.sina.weibo.sdk.component.WeiboSdkBrowser"
android:configChanges="keyboardHidden|orientation"
android:exported="false"
android:windowSoftInputMode="adjustResize" >
</activity>
這個一定要在清單文件里面配置,這是weiboSDK里面的授權界面的布局,沒有配置會直接導致App死掉
4、根據Demo里面的微博授權--SSo授權(ALL IN ONE)按鈕的點擊事件整合微博的授權功能,微博授權成功,會返回一個Assess_Token,同時會用SharePreference寫入手機內存,醬紫以后就不用再每次都要進行授權了。
重點來了,拿到Token后就可以在微博上發微博了。
根據微博的API文檔可以知道是通過post協議發送消息的,post協議是由一個請求的URL加上一個Map類的方式進行請求,map里面要包含Token值還有發送的內容,這樣就可以發出微博了,代碼:
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協議得好好研究下,其map對象的內容一定要含有token字段才能發微博,差不多就這樣
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。