做移动端开发的同学对分享功能应该很了解了,比如很多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: } }); }