Ionic實作微信、qq、微網誌分享
這篇文檔針對的是ionic1。ionic雖然ionic版本不同,但大體的思想還是相同的。
Ionic要想實作微信、qq、微網誌的分享,第一步必須先申請相應的應用權限。獲得相應的應用權限之後,你才能進行後續的操作。
然後,我就對擷取各個應用擷取權限的步驟一一進行編寫。
微信
第一步:進入微信開放平台:https://open.weixin.qq.com/。進行相應的登入。你如果沒有賬号,可以先進行注冊,然後進行相應的登入。
第二步:點選進入管理中心。下面的步驟,我以移動應用舉例。點選‘移動應用’,你然後就會發現下方有一個‘建立移動應用’按鈕,點選它,進入建立的編輯頁面。
進入編輯頁面之後,那就簡單了,一步一步填下去就行了。當然填寫基本資訊這一步中有要注意的地方。
這個地方是上傳移動應用圖檔的地方。你上傳的圖檔的大小必須跟它要求的一緻,否則你會發現,你會很煩的(重複死循環,上傳不上去)。
然後,填寫完基本資訊之後,進入填寫平台資訊頁面。頁面試下方的樣子。
如果你想在ios中和Android中都可以分享内容到微信上的話,你就必須兩個都申請。這裡我舉Android的例子。勾選上Android應用,顯示如下圖所示的界面
上圖中先講一下應用包名,應用包名指的是項目檔案下config.xml中widget标簽内的id,
取得這個id後,需要通過連結:
https://github.com/mobileresearch/weibo_android_sdk/blob/master/app_signatures
.apk下載下傳apk裝到手機上,apk安裝完成後,打開。打開的界面如下圖所示。
将複制好的包名放進去,Get SignaTrue就可以生成相對應的應用簽名。生成的簽名會以綠色字型顯示。到目前為止相對應的應用包名和應用簽名,就有了。回到微信開發平台中,編寫平台資訊頁面,将他們填進去就行。
最後一步,送出稽核。之後你就等待應用稽核好就行,稽核沒通過,隻能重新編寫繼續申請。
使用開發者賬号登入騰訊開放平台(衆創空間) 點選 應用接入 / 應用管理 / 建立應用 自己按照步驟填寫完成。需要注意的是:安卓應用建立完成之後,直接在該應用下,點選IOS應用,同步進行IOS應用的建立,此時他們使用的是同一個 APP ID,請不要分别,分開建立! 建立完成後送出稽核。【備注,有個重要的事項需要此處說明,同一個開發者賬戶建立的多個應用,如果使用同一QQ賬号登入不同的産品後無法識别為同一個QQ使用者,此時需要通過郵件的形式申請unionid接口】
新浪微網誌
微網誌: 大緻同QQ,登入微網誌開放平台的背景管理系統:
http://open.weibo.com/?sudaref=www.baidu.com&display=0&retcode=6102
點選立即接入:你一步一步按照要求就可以,申請成功,取得appid。
相關cordova插件
·
QQ插件: cordova-plugin-qqsdk
安裝:ionic cordova plugin add cordova-plugin-qqsdk --variable QQ_APP_ID=YOUR_QQ_APPID --save
微網誌插件:cordova-plugin-weibosdk
安裝 使用指令:ionic cordova plugin add cordova-plugin-weibosdk --variable WEIBO_APP_ID=你的appid --save
微信插件:cordova-plugin-wechat
安裝 使用指令:ionic cordova plugin add cordova-plugin-wechat --variable wechatappid=你的appid --save
代碼編寫
微信代碼:
在controller中編寫代碼
1、首先判斷手機有沒有安裝微信插件
// 檢測是否安裝微信插件
if ("undefined" === typeof Wechat) {
console.log("Wechat plugin is not installed.");
return false;
}
2、在判斷手機有沒有裝微信
Wechat.isInstalled(function (installed) {
alert("Wechat installed: " + (installed ? "Yes" : "No"));
}, function (reason) {
alert("Failed: " + reason);
});
3、分享連結代碼
Wechat.share({
message: {
title: "yuhao",
description: "This is description.",
thumb: "www/img/mickey.png",
media: {
type: Wechat.Type.LINK,
webpageUrl: "http://blog.csdn.net/yu17310133443"
}
},
scene: 1 // 1是朋友圈 0是好友
}, function () {
alert("Success");
}, function (reason) {
alert("Failed: " + reason);
});
然後,微信分享就結束了。
微網誌代碼
1、首先判斷有沒有安裝微網誌插件
// 檢測是否安裝微網誌插件
if ("undefined" === typeof WeiboSDK) {
console.log("WeiboSDK plugin is not installed.");
return false;
}
2、分享連結代碼
WeiboSDK.checkClientInstalled(function() {
var args = {};
args.url = $scope.details.shareUrl || '';
args.title = $scope.details.title || '';
args.description = $scope.details.shareDesc || '';
args.image = $scope.details.shareImg; //微網誌有預設圖檔
WeiboSDK.shareToWeibo(function() {
alert(“success!”);
}, function(failReason) {
alert(“failure!”+ failReason);
}, args);
}, function() {
alert('您沒有安裝微網誌!'); //就确認又沒安裝微網誌
});
QQ代碼
1、首先判斷又沒安裝QQ插件
// 檢測是否安裝QQ插件
if ("undefined" === typeof QQSDK) {
console.log("QQSDK plugin is not installed.");
return false;
}
2、分享連結代碼
QQSDK.checkClientInstalled(function() {
var args = {};
args.scene = QQSDK.Scene.QQZone;//QQSDK.Scene.QQ,QQSDK.Scene.Favorite
args.url = $scope.details.shareUrl || '';
args.title = $scope.details.title || '';
args.description = $scope.details.shareDesc || '';
args.image = $scope.details.shareImg;
QQSDK.shareNews(function() {
alert(“success!”);
}, function(failReason) {
alert(“failure!”+ failReason);
}, args);
}, function() {
alert('您沒有安裝qq!'); //就确認又沒安裝qq
});