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

YonBuilder
17 声望9 粉丝

用友YonBuilder移动低代码开发平台,快速构建高性能多端应用