做移动端开发的同学对分享功能应该很了解了,比如很多APP都有分享到微信、微博的功能,可以分享文本、图片、链接、音乐等。本文将为大家讲解如何使用APICloud & MobTech SDK 快速实现分享到社交平台的功能。
准备工作
1、注册MobTech账号
开发者使用本模块之前需要先到Mob官网申请开发者账号,并在账号内填写相应信息创建自己的 APP,从而获取AppKey和AppSecret。 详情参考: https://www.mob.com/wiki/detailed?wiki=306&id=172
2、创建APICloud应用
APICloud提供了两种创建应用的方式,开发者可在云端或APICloud Studio中创建应用。具体步骤可参见文档https://docs.apicloud.com/APICloud/creating-first-app
快速开始------第一阶段,添加模块
1、在 APICloud 的项目中添加 shareSDKPlus 模块,如下图:
在模块库搜索模块名 ,搜索出来后 ,点击加号添加。下图由于已经添加上了,显示已添加。
2、仔细阅读模块文档:https://docs.apicloud.com/Client-API/Open-SDK/shareSDKPlus
3、通过阅读模块文档,我们知道还需要添加依赖模块 mobcommonlib ,这个模块也是在APICloud 模块库搜索添加。
4、Android 平台还需要添加各个对应平台的模块包,需要到 github 下载 。这样做的好处是可以根据所需加不同的模块,比如你只需分享到微信、微博平台,只需下载微信、微博对应的模块包即可。这样编译后的安装包较少。如果默认包含十多个平台,安装包会比较大。
5、将下载下来的对应分享平台的模块包,上传到APICloud 自定义模块处,并添加至项目。如下图:
添加后:
第二阶段,配置应用key
1、在微信平台创建应用,获取微信的 appid。可参考文档: https://docs.apicloud.com/Others/Open-SDK-Integration-Guide/weChat
在 APICloud 项目的 config.xml 中配置 mob 平台的 AppKey 、AppSecret 和 微信平台的 key 、(即微信AppID)和 AppSecret ,如下:
<feature name="shareSDKPlus">
<param name="Mob-AppKey" value="35b704c55****" />
<param name="Mob-AppSecret" value="99ed58d9c720e418eedb5e1abed6****" />
<param name="WeChat-AppId" value="wxedd229a2c545****" />
<param name="WeChat-AppSecret" value="bc0d875592da9c869548b7225a5f****" />
<param name="WeChat-WithShareTicket" value="true" />
<param name="WeChat-BypassApproval" value="false" />
</feature>
第三阶段------开始编码调试
特别注意: config.xml 配置后,需先提交代码,然后再编译自定义loader。
使用自定义loader wifi 同步代码调试教程,参考以下两篇教程文档:
https://docs.apicloud.com/Dev-Guide/Custom_Loader
https://docs.apicloud.com/Dev-Tools/studio3-wifi-debug
Android 需先调用初始化接口:
var mobcommonlib = null;
function init() {
mobcommonlib = api.require('mobcommonlib');
var shareApi = api.require('shareSDKPlus');
console.log('init--------')
shareApi.init({
}, function (ret, err) {
api.alert({ title: '初始化完成' });
api.alert({ title: JSON.stringify(err) });
});
}
初始化成功后,可以调用微信分享或微信登录接口:
分享接口示例:
function fnshareContent() {
var shareApi = api.require('shareSDKPlus');
var shareParams =
{
//"text": "测试的文字1111",
"imageUrl": "http://download.sdk.mob.com/206/4f8/dfc9ea27dd8bc4abfec865c38d/800\_450\_156.2.jpg",
//"type": $sharesdk.ContentType.Auto
};
shareApi.shareContent({
"platform": 22,
"shareType": $sharesdk.ContentType.Image,
"shareParams": shareParams
}, function (ret, err) {
var state = ret.state;
alert(JSON.stringify(ret))
alert(JSON.stringify(err))
})
}
登录授权接口示例:
function fnauthorize() {
var shareApi = api.require('shareSDKPlus');
shareApi.authorize({
"platform": $sharesdk.PlatformID.WeChat
}, function (ret, err) {
var state = ret.state;
switch (state) {
case $sharesdk.ResponseState.Success://1
api.toast({
msg: "授权成功",
location: 'middle'
});
break;
case $sharesdk.ResponseState.Fail://2
api.toast({
msg: "授权失败",
location: 'middle'
});
break;
case $sharesdk.ResponseState.Cancel://3
api.toast({
msg: "取消授权",
location: 'middle'
});
break;
default:
}
});
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。