JS快速集成指南
通用集成步驟
下載ShareSDK for JS 組件
打開(kāi)Github下載JSSample項目。將JSApi/ShareSDK.js拷貝到Web頁(yè)面可以訪(fǎng)問(wèn)的路徑(現在不支持瀏覽器打開(kāi)的web應用,只支持App內置的Web頁(yè)面,這個(gè)web頁(yè)可以自己在本地也就是項目里創(chuàng )建html文件,這個(gè)html文件也可以網(wǎng)上得到)。
導入ShareSDK.js腳本
在Web頁(yè)中加入ShareSDK.js腳本。如:
| | <script language="javascript" type="text/javascript" src="ShareSDK.js"></script> |
初始化SDK
| | <!DOCTYPE html> <html> <head> <title>ShareSDK for JS Sample</title> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <script language="javascript" type="text/javascript" src="ShareSDK.js"></script> <script language="javascript" type="text/javascript"> function init() { $sharesdk.open("iosv1101", true); } </script> </head> <body onload="init()" style="text-align: center"></body></html> |
可以在頁(yè)面onload事件中調用open方法進(jìn)行SDK初始化。代碼如下:
| | function init() { $sharesdk.open("iosv1101", true); var sinaConf = {}; sinaConf["app_key"] = "568898243"; sinaConf["app_secret"] = "38a4f8204cc784f81f9f0daaf31e02e3"; sinaConf["redirect_uri"] = "http://www.sharesdk.cn"; $sharesdk.setPlatformConfig($sharesdk.platformID.SinaWeibo, sinaConf); } |
由于A(yíng)ndroid平臺推薦使用shareSDK.xml文件配置應用信息。此文件可以在jsdemo中找到,將其放入您安卓項目的assets目錄下即可。
分享內容
先構造分享內容結構,代碼如下:
| | var params = {"text" : "測試的文字", "imageUrl" : "http://img0.bdstatic.com/img/image/shouye/tangwei.jpg", "title" : "測試的標題","titleUrl" : "http://sharesdk.cn","description" : "測試的描述", "site" : "ShareSDK","siteUrl" : "http://sharesdk.cn", "type" : $sharesdk.contentType.Text}; |
然后將內容傳入分享接口
| | $sharesdk.shareContent($sharesdk.platformID.SinaWeibo, params, function (platform, state, shareInfo, error) {alert("state = " + state + "\nshareInfo = " + shareInfo + "\nerror = " + error);}); |
| | $sharesdk.showShareView($sharesdk.platformID.SinaWeibo, params, function (platform, state, shareInfo, error) {alert("state = " + state + "\nshareInfo = " + shareInfo + "\nerror = " + error);}); |
| | $sharesdk.shareContent($sharesdk.platformID.SinaWeibo, params, function (platform, state, shareInfo, error) { alert("state = " + state + "\nshareInfo = " + shareInfo + "\nerror = " + error); }); |
| | $sharesdk.oneKeyShareContent([$sharesdk.platformID.SinaWeibo, $sharesdk.platformID.TencentWeibo], params, function (platform, state, shareInfo, error) { alert("state = " + state + "\nshareInfo = " + shareInfo + "\nerror = " + error); }); |
用戶(hù)授權
調用ShareSDK中的authorize方法可進(jìn)行用戶(hù)授權。代碼如下:
| | $sharesdk.authorize($sharesdk.platformID.SinaWeibo, function (platform, state, error){ alert("state = " + state + "\nerror = " + error); }); |
獲取用戶(hù)資料
調用ShareSDK中的getUserInfo來(lái)獲取授權用戶(hù)的信息。代碼如下:
| | $sharesdk.getUserInfo($sharesdk.platformID.SinaWeibo, function (platform, state, user, error) { alert("state = " + state + "\nuser = " + user + "\nerror = " + error); }); |
iOS部分集成步驟(不發(fā)布iOS版本可略過(guò)此部分)
導入JS橋接的iOS版本組件
打開(kāi)下載的JS包里的iOS/ShareSDKForJS/ShareSDKForJS.xcodeproj項目工程,選擇ShareSDKForJS靜態(tài)庫運行Xcode,如圖:
運行成功之后,請大家打開(kāi)文件找到Build文件夾,然后進(jìn)入文件中找到build/Products/Debug-iphonesimulato /libShareSDKForJS.a文件以及找到build/Products/Debug-iphonesimulator/usr/local /include/ShareSDKJSBridge.h這個(gè)文件,再將libShareSDKForJS.a和ShareSDKJSBridge.h這 2個(gè)文件導入到你的項目里,如圖
注意:(如果在分享中彈不出分享的菜單,如果大家的ShareSDK.js文件是本地的,要把這個(gè)加到Build Phases里面的Copy Bundle Resources選項)
下載iOS版本ShareSDK,并導入到工程中。
登錄ShareSDK的官方網(wǎng)站下載并解壓最新版本的SDK。如果您還尚未下載,請 點(diǎn)擊這里下載 或者訪(fǎng)問(wèn) http://sharesdk.cn/Download 。解壓后如圖所示:
將ShareSDK導入工程中,并添加相應的依賴(lài)庫。此步驟可以參考:《iOS快速集成指南》中的第一、第二步。執行完成后,如下圖所示:
為UIWebView添加消息捕獲
先導入ShareSDKJSBridge.h頭文件。
| | #import "ShareSDKJSBridge.h" |
然后給UIWebView設置一個(gè)委托對象,如:
注意:webView是UIWebView的對象實(shí)例。
最后實(shí)現shouldStartLoadWithRequest委托方法,并在方法中加入JSBridge的captureRequest方法,代碼如下:
| | - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { return ![[ShareSDKJSBridge sharedBridge] captureRequest:request webView:webView]; } |
添加完畢后就可以對工程進(jìn)行運行測試。
Android部分集成步驟(不發(fā)布Android版本可略過(guò)此部分)
導入的步驟如下:
1、參考”安卓快速集成文檔“章節的說(shuō)明,導入ShareSDK for Android的jar庫和圖片、文字資源。
2、復制github上的jsdemo項目中”cn.sharesdk.js”包中的源代碼復制到你的項目中。
3、在您WebView加載頁(yè)面地址之前。調用ShareSDKUtils.prepare(webview, webviewClient);
請注意,ShareSDKUtils.prepare方法要在WebView.setWebViewClient(WebViewClinet);之后調用,而且此后不能再調用setWebViewClient方法,否則ShareSDK的初始化操作可能失敗。
下面的代碼來(lái)自github上的demo:
| | public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView wvBody = new WebView(this); WebViewClient wvClient = new WebViewClient(); wvBody.setWebViewClient(wvClient); wvBody.setWebChromeClient(new WebChromeClient() { public boolean onJsAlert(WebView view, String url, String message, JsResult result) { return super.onJsAlert(view, url, message, result); } }); |