使用APICloud & MobTech平台 快速实现多平台分享功能

92 阅读3分钟

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