mobtools

来自于:Mob官方立即使用

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。

概述

当前ShareSDK版本,iOS:v4.2.5、android:v3.5.2

mobtools简介

mobtools是MobTech平台Android平台中ShareSDK、SMSSDK、MobLink、MobPush都需要依赖的一个基础底层工具类,单独发布成在线模块是为了防止各个SDK依赖的公共库版本不同而造成的冲突问题。

mobtools功能

  • 第三方登录,即用微信、QQ、微博等社交网络账号登录,用户不必经过填写注册信息、上传头像等繁琐步骤就可使用App。
  • 一键分享,支持分享图文、音乐、视频、链接等各种富媒体内容,在App界面点击分享至该社交平台,不用弹出分享菜单栏,实现一键分享。
  • 短链转换,在分享出去的链接中,用户看到的是您官方地址,而非ShareSDK;开启短链转换后,实时统计回流率,帮助开发者精细化运营。
  • 好友关系运用,轻松实现获取微博好友关系、微博内容、用户资料、LBS信息,建立好友链,活跃社区氛围,增加用户粘度。
  • 数据统计分析,ShareSDK后台实时统计分享数、分享回流率、用户分布、社交平台选择等数据,全面诊断App各维度,助力产品优化改进。
  • 评论和点赞,用户在登录后可对你设置的主题进行评论或点赞,同时您也能在后台审核评论内容,建立良好的社区氛围。

mobtools 模块概述

mobtools模块是MobTech平台Android平台中ShareSDK、SMSSDK、MobLink、MobPush都需要依赖的一个基础底层工具类,因此仅仅使用shareSDK模块就可以完全来体现mobtools底层基础工具类的功能完整性及正确性。由于此模块只是为了解决Android平台的问题,所以并不需要IOS平台的示例。

如有问题请联系技术支持:

服务电话:   400-685-2216  
节假日值班电话:
    iOS:185-1664-1951
Android: 185-1664-1950
电子邮箱:   support@mob.com
市场合作:   021-54623189

模块使用攻略

由于本模块的使用示例依赖于shareSDK来体现,所以开发者使用本模块之前需要先到Mob官网申请开发者账号,并在账号内填写相应信息创建自己的 APP,从而获取AppKey和AppSecret,然后添加ShareSDK功能。
详情参考:快速集成获取apppkey和appSecret

使用此模块之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:

1.配置 key.xml 文件
需要将第三方平台(微博、QQ、微信、twitter、facebook等)申请的appkey、appsecret、redirecturi等参数配置到 key.xml 文件中。
key.xml 配置详解:
key.xml 文件需要放在 widget://res 文件目录下,格式如下:

<?xml version="1.0" encoding="UTF-8" ?>
<security>
    <item name="shareSDKPlus_SinaWei_AppKey" value="568898243" />
    <item name="shareSDKPlus_SinaWei_AppSecret" value="38a4f8204cc784f81f9f0daaf31e02e3" />
    <item name="shareSDKPlus_SinaWei_RedirectUri" value="http://www.sharesdk.cn" />

    <item name="shareSDKPlus_QQ_AppKey" value="100371282" />
    <item name="shareSDKPlus_QQ_AppSecret" value="aed9b0303e3ed1e27bae87c33761161d" />

    <item name="shareSDKPlus_Wechat_AppKey" value="wx617c77c82218ea2c" />
    <item name="shareSDKPlus_Wechat_AppSecret" value="c7253e5289986cf4c4c74d1ccc185fb1" />

    <item name="shareSDKPlus_Douyin_AppKey" value="aw9ivykfjvi4hpwo" />
    <item name="shareSDKPlus_Douyin_AppSecret" value="42b4caa6bda60bd49f05f06d0a4956e1" />

    <item name="shareSDKPlus_Facebook_AppKey" value="1412473428822331" />
    <item name="shareSDKPlus_Facebook_AppSecret" value="a42f4f3f867dc947b9ed6020c2e93558" />
    <item name="shareSDKPlus_Facebook_DisplayName" value="shareSDK" />

    <item name="shareSDKPlus_Twitter_AppKey" value="viOnkeLpHBKs6KXV7MPpeGyzE" />
    <item name="shareSDKPlus_Twitter_AppSecret" value="NJEglQUy2rqZ9Io9FcAU9p17omFqbORknUpRrCDOK46aAbIiey" />
    <item name="shareSDKPlus_Twitter_RedirectUri" value="http://mob.com" />

    <item name="shareSDKPlus_Instagram_AppKey" value="ff68e3216b4f4f989121aa1c2962d058" />
    <item name="shareSDKPlus_Instagram_AppSecret" value="1b2e82f110264869b3505c3fe34e31a1" />
    <item name="shareSDKPlus_Instagram_RedirectUri" value="http://sharesdk.cn" />

    <item name="shareSDKPlus_Google_AppKey" value="232554794995.apps.googleusercontent.com" />
    <item name="shareSDKPlus_Google_AppSecret" value="PEdFgtrMw97aCvf0joQj7EMk" />
    <item name="shareSDKPlus_Google_RedirectUri" value="http://localhost" />

    <item name="shareSDKPlus_Line_AuthType" value="2" />

    <item name="shareSDKPlus_AliPaySocial_AppKey" value="2017062107540437" />

    <item name="shareSDKPlus_MeiPai_AppKey" value="1089867639" />

    <item name="shareSDKPlus_DingTalk_AppKey" value="dingoabcwtuab76wy0kyzo" />

    <item name="shareSDKPlus_DouBan_AppKey" value="02e2cbe5ca06de5908a863b15e149b0b" />
    <item name="shareSDKPlus_DouBan_AppSecret" value="9f1e7b4f71304f2f" />
    <item name="shareSDKPlus_DouBan_RedirectUri" value="http://www.sharesdk.cn" />

    <item name="shareSDKPlus_TencentWeibo_AppKey" value="801307650" />
    <item name="shareSDKPlus_TencentWeibo_AppSecret" value="ae36f4ee3946e1cbb98d6965b0b2ff5c" />
    <item name="shareSDKPlus_TencentWeibo_RedirectUri" value="http://www.sharesdk.cn" />

    <item name="shareSDKPlus_YinXiang_AppKey" value="46131514-6903" />
    <item name="shareSDKPlus_YinXiang_AppSecret" value="08d7a6f3afcc888a" />
    <item name="shareSDKPlus_YinXiang_Sandbox" value="1" />

    <item name="shareSDKPlus_YouDaoNote_AppKey" value="dcde25dca105bcc36884ed4534dab940" />
    <item name="shareSDKPlus_YouDaoNote_AppSecret" value="d98217b4020e7f1874263795f44838fe" />
    <item name="shareSDKPlus_YouDaoNote_RedirectUri" value="http://www.sharesdk.cn/" />

    <item name="shareSDKPlus_Mingdao_AppKey" value="97230F25CA5C" />
    <item name="shareSDKPlus_Mingdao_AppSecret" value="A5DC29AF7C5A5851F28E903AE9EAC0" />
    <item name="shareSDKPlus_Mingdao_RedirectUri" value="http://mob.com" />

    <item name="shareSDKPlus_Kaixin_AppKey" value="358443394194887cee81ff5890870c7c" />
    <item name="shareSDKPlus_Kaixin_AppSecret" value="da32179d859c016169f66d90b6db2a23" />
    <item name="shareSDKPlus_Kaixin_RedirectUri" value="http://www.sharesdk.cn/" />

    <item name="shareSDKPlus_Renren_AppId" value="226427" />
    <item name="shareSDKPlus_Renren_AppKey" value="fc5b8aed373c4c27a05b712acba0f8c3" />
    <item name="shareSDKPlus_Renren_AppSecret" value="f29df781abdd4f49beca5a2194676ca4" />
    <item name="shareSDKPlus_Renren_AuthType" value="2" />

    <item name="shareSDKPlus_YiXin_AppKey" value="yx0d9a9f9088ea44d78680f3274da1765f" />
    <item name="shareSDKPlus_YiXin_AppSecret" value="1a5bd421ae089c3" />
    <item name="shareSDKPlus_YiXin_RedirectUri" value="https://open.yixin.im/resource/oauth2_callback.html" />

    <item name="shareSDKPlus_Kakao_AppKey" value="9c17eb03317e0e627ec95a400f5785fb" />
    <item name="shareSDKPlus_Kakao_ApiKey" value="802e551a5048c3172fc1dedaaf40fcf1" />
    <item name="shareSDKPlus_Kakao_RedirectUri" value="http://www.mob.com/oauth" />

    <item name="shareSDKPlus_YouTube_AppKey" value="906418427202-jinnbqal1niq4s8isbg2ofsqc5ddkcgr.apps.googleusercontent.com" />
    <item name="shareSDKPlus_YouTube_AppSecret" value="" />
    <item name="shareSDKPlus_YouTube_RedirectUri" value="http://localhost" />

    <item name="shareSDKPlus_Flickr_AppKey" value="cbed81d4a1bc7417693ab7865e354717" />
    <item name="shareSDKPlus_Flickr_AppSecret" value="4c490343869091f2" />

    <item name="shareSDKPlus_Dropbox_AppKey" value="us514wslpfojbxc" />
    <item name="shareSDKPlus_Dropbox_AppSecret" value="w0nmp4os3ngo1ja" />
    <item name="shareSDKPlus_Dropbox_RedirectUri" value="http://localhost" />

    <item name="shareSDKPlus_Evernote_AppKey" value="46131514-6903" />
    <item name="shareSDKPlus_Evernote_AppSecret" value="08d7a6f3afcc888a" />
    <item name="shareSDKPlus_Evernote_Sandbox" value="1" />

    <item name="shareSDKPlus_Pinterest_AppKey" value="4987008320438021391" />

    <item name="shareSDKPlus_Pocket_AppKey" value="11496-de7c8c5eb25b2c9fcdc2b627" />
    <item name="shareSDKPlus_Pocket_RedirectUri" value="pocketapp1234" />

    <item name="shareSDKPlus_LinkedIn_AppKey" value="46kic3zr7s4n" />
    <item name="shareSDKPlus_LinkedIn_AppSecret" value="RWw6WRl9YJOcdWsj" />
    <item name="shareSDKPlus_LinkedIn_RedirectUri" value="http://baidu.com" />

    <item name="shareSDKPlus_VKontakte_AppKey" value="5312801" />
    <item name="shareSDKPlus_VKontakte_AppSecret" value="ZHG2wGymmNUCRLG2r6CY" />
    <item name="shareSDKPlus_VKontakte_AuthType" value="2" />

    <item name="shareSDKPlus_Instapaper_AppKey" value="4rDJORmcOcSAZL1YpqGHRI605xUvrLbOhkJ07yO0wWrYrc61FA" />
    <item name="shareSDKPlus_Instapaper_AppSecret" value="GNr1GespOQbrm8nvd7rlUsyRQsIo3boIbMguAl9gfpdL0aKZWe" />

    <item name="shareSDKPlus_Tumblr_AppKey" value="2QUXqO9fcgGdtGG1FcvML6ZunIQzAEL8xY6hIaxdJnDti2DYwM" />
    <item name="shareSDKPlus_Tumblr_AppSecret" value="3Rt0sPFj7u2g39mEVB3IBpOzKnM3JnTtxX2bao2JKk4VV1gtNo" />
    <item name="shareSDKPlus_Tumblr_RedirectUri" value="http://sharesdk.cn" />

    <item name="shareSDKPlus_SMS_CountryList" value="0" />

    <item name="shareSDKPlus_CMCC_AppId" value="300011862498" />
    <item name="shareSDKPlus_CMCC_AppKey" value="38D9CA1CC280C5F207E2C343745D4A4B" />
    <item name="shareSDKPlus_CMCC_DisplayUI" value="1" />

    <item name="shareSDKPlus_Telegram_BotToken" value="646009290:AAGSonNPZqyjl0MUER8MdM8pwSPritFVNgI" />
    <item name="shareSDKPlus_Telegram_BotDomain" value="http://www.mob.com" />

    <item name="shareSDKPlus_Reddit_AppKey" value="ObzXn50T7Cg0Xw" />
    <item name="shareSDKPlus_Reddit_RedirectUri" value="https://www.mob.com/reddit_callback" />

    <item name="shareSDKPlus_ESurfing_AppKey" value="8148612606" />
    <item name="shareSDKPlus_ESurfing_AppSecret" value="mCltrhUqwshFa86egDTs0491ibaAulKA" />
    <item name="shareSDKPlus_ESurfing_AppName" value="shareSDK" />
</security>

以上可能出现的全部各个平台的配置,根据开发者需要删减,另外部分特殊平台需要在info.plist文件中配置

字段描述:
shareSDKPlus_SinaWei_AppKey: 从新浪微博开放平台获取的App Key.
shareSDKPlus_SinaWei_AppSecret: 从新浪微博开放平台获取的App Secret.
shareSDKPlus_SinaWei_RedirectUri: 从新浪微博开放平台创建应用时 自定义填写的回调url
其他也是都是各自开放平台获取

Android配置:

Mob-AppKey/Mob-AppSecret的配置: 这两个参数的配置在config.xml文件里,以meta-data标签的形式来配置,例如:

<meta-data name="Mob-AppKey" value="moba6b6c6d6"/>
<meta-data name="Mob-AppSecret" value="b89d2427a3bc7ad1aea1e1e8c1d36bf3"/>

Android配置第三方平台的AppKey等信息遵循APICloud的惯例是在config.xml中配置。 在name为"ShareSDKPlus"的标签内,配置标签来填充AppKey等属性的值。 下面是配置各个平台AppKey/AppSecret/RedirectUrl的例子,实际的使用中需要开发者填写自己在第三方网站申请的值(只需要改变值,不要改变AppKey/AppSecret/RedirectUrl的名称,否则将会读取不到)

<feature name="ShareSDKPlus">

    <param name="SinaWei_AppKey" value="568898243" />
    <param name="SinaWei_AppSecret" value="38a4f8204cc784f81f9f0daaf31e02e3" />
    <param name="SinaWei_RedirectUri" value="http://www.sharesdk.cn" />

    <param name="QQ_AppKey" value="100371282" />
    <param name="QQ_AppSecret" value="aed9b0303e3ed1e27bae87c33761161d" />

    <param name="Wechat_AppKey" value="wx4868b35061f87885" />
    <param name="Wechat_AppSecret" value="64020361b8ec4c99936c0e3999a9f249" />

    <param name="Douyin_AppKey" value="aw9ivykfjvi4hpwo" />
    <param name="Douyin_AppSecret" value="42b4caa6bda60bd49f05f06d0a4956e1" />

    <param name="Facebook_AppKey" value="1412473428822331" />
    <param name="Facebook_AppSecret" value="a42f4f3f867dc947b9ed6020c2e93558" />
    <param name="Facebook_RedirectUrl" value="https://mob.com"/>
    <param name="Facebook_DisplayName" value="shareSDK" />

    <param name="FacebookMessage_AppKey" value="107704292745179" />

    <param name="Twitter_AppKey" value="viOnkeLpHBKs6KXV7MPpeGyzE" />
    <param name="Twitter_AppSecret" value="NJEglQUy2rqZ9Io9FcAU9p17omFqbORknUpRrCDOK46aAbIiey" />
    <param name="Twitter_RedirectUri" value="http://mob.com" />

    <param name="Instagram_AppKey" value="ff68e3216b4f4f989121aa1c2962d058" />
    <param name="Instagram_AppSecret" value="1b2e82f110264869b3505c3fe34e31a1" />
    <param name="Instagram_RedirectUri" value="http://sharesdk.cn" />

    <param name="Google_AppKey" value="232554794995.apps.googleusercontent.com" />
    <param name="Google_AppSecret" value="PEdFgtrMw97aCvf0joQj7EMk" />
    <param name="Google_RedirectUri" value="http://localhost" />

    <param name="Line_AppKey" value="1639219273" />
    <param name="Line_AppSecret" value="58faad55ffce8bf8f63b59fe6fb702ae" />
    <param name="Line_RedirectUri" value="https://www.mob.com/"/>
    <param name="Line_AuthType" value="2" />

    <param name="AliPaySocial_AppKey" value="2015072400185895" />

    <param name="MeiPai_AppKey" value="1089867596" />
    <param name="MeiPai_AppSecret" value="y9ym6rrjjijtkt23qtsc" />

    <param name="DingTalk_AppKey" value="dingoanxyrpiscaovl4qlw" />

    <param name="DouBan_AppKey" value="031a96a3aa8b28af094fc3eaffa17a0d" />
    <param name="DouBan_AppSecret" value="2e675e730571b75d" />
    <param name="DouBan_RedirectUri" value="http://mob.com" />

    <param name="TencentWeibo_AppKey" value="801307650" />
    <param name="TencentWeibo_AppSecret" value="ae36f4ee3946e1cbb98d6965b0b2ff5c" />
    <param name="TencentWeibo_RedirectUri" value="http://sharesdk.cn" />

    <param name="YinXiang_AppKey" value="sharesdk-7807" />
    <param name="YinXiang_AppSecret" value="d05bf86993836004" />
    <param name="YinXiang_HostType" value="sandbox" />
    <param name="YinXiang_Sandbox" value="1" />

    <param name="YouDaoNote_AppKey" value="dcde25dca105bcc36884ed4534dab940" />
    <param name="YouDaoNote_AppSecret" value="d98217b4020e7f1874263795f44838fe" />
    <param name="YouDaoNote_RedirectUri" value="http://www.sharesdk.cn/" />
    <param name="YouDaoNote_HostType" value="product" />

    <param name="Mingdao_AppKey" value="97230F25CA5C" />
    <param name="Mingdao_AppSecret" value="A5DC29AF7C5A5851F28E903AE9EAC0" />
    <param name="Mingdao_RedirectUri" value="http://mob.com" />

    <param name="Kaixin_AppKey" value="358443394194887cee81ff5890870c7c" />
    <param name="Kaixin_AppSecret" value="da32179d859c016169f66d90b6db2a23" />
    <param name="Kaixin_RedirectUri" value="http://www.sharesdk.cn/" />

    <param name="Renren_AppId" value="226427" />
    <param name="Renren_AppKey" value="fc5b8aed373c4c27a05b712acba0f8c3" />
    <param name="Renren_AppSecret" value="f29df781abdd4f49beca5a2194676ca4" />
    <param name="Renren_AuthType" value="2" />

    <param name="YiXin_AppKey" value="yx0d9a9f9088ea44d78680f3274da1765f" />
    <param name="YiXin_AppSecret" value="1a5bd421ae089c3" />
    <param name="YiXin_RedirectUri" value="https://open.yixin.im/resource/oauth2_callback.html" />

    <param name="Kakao_AppKey" value="48d3f524e4a636b08d81b3ceb50f1003" />
    <param name="Kakao_ApiKey" value="802e551a5048c3172fc1dedaaf40fcf1" />
    <param name="Kakao_RedirectUri" value="http://www.mob.com/oauth" />

    <param name="YouTube_AppKey" value="370141748022-bicrnsjfiije93bvdt63dh3728m4shas.apps.googleusercontent.com" />
    <param name="YouTube_AppSecret" value="AIzaSyAO06g-0TDpHcsXXO918a7QE3Zdct2bB5E" />
    <param name="YouTube_RedirectUri" value="http://localhost" />

    <param name="Flickr_ApiKey" value="33d833ee6b6fca49943363282dd313dd" />
    <param name="Flickr_ApiSecrett" value="3a2c5b42a8fbb8bb" />
    <param name="Flickr_RedirectUri" value="http://www.sharesdk.cn" />

    <param name="FourSquare_ApiKey" value="G0ZI20FM30SJAJTX2RIBGD05QV1NE2KVIM2SPXML2XUJNXEU" />
    <param name="FourSquare_ApiSecrett" value="3XHQNSMMHIFBYOLWEPONNV4DOTCDBQH0AEMVGCBG0MZ32XNU" />
    <param name="FourSquare_RedirectUri" value="http://www.sharesdk.cn" />

    <param name="Dropbox_AppKey" value="i5vw2mex1zcgjcj" />
    <param name="Dropbox_AppSecret" value="3i9xifsgb4omr0s" />
    <param name="Dropbox_RedirectUri" value="https://www.sharesdk.cn" />

    <param name="Evernote_AppKey" value="46131514-6903" />
    <param name="Evernote_AppSecret" value="08d7a6f3afcc888a" />
    <param name="Evernote_Sandbox" value="1" />

    <param name="Pinterest_AppKey" value="4987008320438021391" />

    <param name="Pocket_AppKey" value="11496-de7c8c5eb25b2c9fcdc2b627" />
    <param name="Pocket_RedirectUri" value="pocketapp1234" />

    <param name="LinkedIn_AppKey" value="46kic3zr7s4n" />
    <param name="LinkedIn_AppSecret" value="RWw6WRl9YJOcdWsj" />
    <param name="LinkedIn_RedirectUri" value="http://baidu.com" />

    <param name="VKontakte_AppKey" value="3921561" />
    <param name="VKontakte_AppSecret" value="ZHG2wGymmNUCRLG2r6CY" />
    <param name="VKontakte_AuthType" value="2" />

    <param name="Instapaper_AppKey" value="4rDJORmcOcSAZL1YpqGHRI605xUvrLbOhkJ07yO0wWrYrc61FA" />
    <param name="Instapaper_AppSecret" value="GNr1GespOQbrm8nvd7rlUsyRQsIo3boIbMguAl9gfpdL0aKZWe" />

    <param name="Tumblr_AppKey" value="2QUXqO9fcgGdtGG1FcvML6ZunIQzAEL8xY6hIaxdJnDti2DYwM" />
    <param name="Tumblr_AppSecret" value="3Rt0sPFj7u2g39mEVB3IBpOzKnM3JnTtxX2bao2JKk4VV1gtNo" />
    <param name="Tumblr_RedirectUri" value="http://www.sharesdk.cn" />

    <param name="SMS_CountryList" value="0" />

    <param name="CMCC_AppId" value="300011860247" />
    <param name="CMCC_AppKey" value="2D464D8BFCE73A44B4F9DF95A2FDBE1C" />
    <param name="CMCC_DisplayUI" value="1" />

    <param name="Telegram_BotToken" value="782826033" />
    <param name="Telegram_BotDomain" value="http://www.mob.com" />

    <param name="Reddit_AppKey" value="MExDxPuTCtFiRw" />
    <param name="Reddit_RedirectUri" value="http://www.sharesdk.cn" />

    <param name="Accountkit_AppKey" value="579465512480462" />
    <param name="Accountkit_AppSecret" value="8a6383652dd9f23fb0994f03d350d0ca" />
    <param name="Accountkit_RedirectUri" value="http://www.sharesdk.cn/" />

    <param name="ESurfing_AppKey" value="8148612606" />
    <param name="ESurfing_AppSecret" value="mCltrhUqwshFa86egDTs0491ibaAulKA" />
    <param name="ESurfing_RedirectUrl" value="http://www.sharesdk.cn"/>
    <param name="ESurfing_AppName" value="shareSDK" />

</feature>

模块接口

首先添加一个ShareSDK.js内容如下:

/**
 * 常量:分享类型,分享/授权平台,分享/授权结果状态
 */
function ShareSDK()
{
    /**
     * JSON字符串转换为对象
     * @param string        JSON字符串
     * @returns {Object}    转换后对象
     */

    JsonStringToObject = function (string)
    {
        try
        {
            return eval("(" + string + ")");
        }
        catch (err)
        {
            return null;
        }
    };

    this.JsonStringToObject = function (string)
    {
        return JsonStringToObject(string);
    }

    /**
     * 对象转JSON字符串
     * @param obj           对象
     * @returns {string}    JSON字符串
     */
    ObjectToJsonString = function (obj)
    {
        var S = [];
        var J = null;

        var type = Object.prototype.toString.apply(obj);

        if (type === '[object Array]')
        {
            for (var i = 0; i < obj.length; i++)
            {
                S.push(ObjectToJsonString(obj[i]));
            }
            J = '[' + S.join(',') + ']';
        }
        else if (type === '[object Date]')
        {
            J = "new Date(" + obj.getTime() + ")";
        }
        else if (type === '[object RegExp]'
            || type === '[object Function]')
        {
            J = obj.toString();
        }
        else if (type === '[object Object]')
        {
            for (var key in obj)
            {
                var value = ObjectToJsonString(obj[key]);
                if (value != null)
                {
                    S.push('"' + key + '":' + value);
                }
            }
            J = '{' + S.join(',') + '}';
        }
        else if (type === '[object String]')
        {
            J = '"' + obj.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '') + '"';
        }
        else if (type === '[object Number]')
        {
            J = obj;
        }
        else if (type === '[object Boolean]')
        {
            J = obj;
        }

        return J;
    };

    this.ObjectToJsonString = function (obj)
    {
        return ObjectToJsonString(obj);
    }

    /**
     * 平台类型
     * @type {object}
     */
    this.PlatformID = {
        Unknown : 0,
        SinaWeibo : 1,            //Sina Weibo         
        TencentWeibo : 2,        //Tencent Weibo          
        DouBan : 5,                //Dou Ban           
        QZone : 6,                 //QZone           
        Renren : 7,                //Ren Ren           
        Kaixin : 8,                //Kai Xin          
        Pengyou : 9,            //Friends          
        Facebook : 10,            //Facebook         
        Twitter : 11,            //Twitter         
        Evernote : 12,            //Evernote        
        Foursquare : 13,        //Foursquare      
        GooglePlus : 14,        //Google+       
        Instagram : 15,            //Instagram      
        LinkedIn : 16,            //LinkedIn       
        Tumblr : 17,            //Tumblr         
        Mail : 18,                 //Mail          
        SMS : 19,                //SMS           
        Print : 20,             //Print       
        Copy : 21,                //Copy             
        WeChat : 22,            //WeChat Friends    
        WeChatMoments : 23,        //WeChat Timeline   
        QQ : 24,                //QQ              
        Instapaper : 25,        //Instapaper       
        Pocket : 26,            //Pocket           
        YouDaoNote : 27,         //You Dao Note
        Pinterest : 30,         //Pinterest    
        Flickr : 34,            //Flickr          
        Dropbox : 35,            //Dropbox          
        VKontakte : 36,            //VKontakte       
        WeChatFavorites : 37,    //WeChat Favorited        
        YiXinSession : 38,         //YiXin Session   
        YiXinTimeline : 39,        //YiXin Timeline   
        YiXinFav : 40,            //YiXin Favorited  
        MingDao : 41,              //明道
        Line : 42,                 //Line
        WhatsApp : 43,             //Whats App
        KakaoTalk : 44,         //KakaoTalk
        KakaoStory : 45,        //KakaoStory 
        FacebookMessenger : 46, //FacebookMessenger
        Bluetooth : 48,         //Bluetooth
        Alipay : 50,            //Alipay
        AliPaySocialTimeline:51,//AliPaySocial Timeline
        DingTalk:52,            //DingTalk
        YouTube:53,             //youtube
        MeiPai:54,              //美拍
        Cmcc : 55,              //中国移动
        Reddit : 56,            //Reddit
        ESurfing : 57,          //天翼
        Douyin : 58,            //抖音
        FacebookAccount : 58,   //FacebookAccount
        KakaoPlatform : 995,    //Kakao Series
        EvernotePlatform : 996, //Evernote Series
        WechatPlatform : 997,   //Wechat Series
        QQPlatform : 998,        //QQ Series
        Any : 999                 //Any Platform  
    };

    /**
     * 回复状态
     * @type {object}
     */
    this.ResponseState = {
        Begin : 0,              //开始
        Success: 1,             //成功
        Fail : 2,               //失败
        Cancel : 3             //取消
    };

    /**
     * 内容分享类型
     * @type {object}
     */
    this.ContentType = {
        Auto : 0,
        Text : 1,
        Image : 2,
        WebPage : 4,
        Music : 5,
        Video : 6,
        App : 7,
        File : 8,
        Emoji : 9
    };

};

var $sharesdk = new ShareSDK();

添加ShareSDK.js目的主要是提供平台号,回调状态等一些常量

引入模块

var shareApi = api.require('ShareSDKPlus');

authorize

授权
authorize({params}, callback(ret, err))

params

platform:

  • 类型:数字
  • 描述:授权平台号,是新浪微博授权还是微信授权或者其他平台授权,由此参数决定

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    state: 1      //数字类型,1:成功 2:失败 3:取消
    data:{}        //json对象 授权后获取的用户信息
    error:{      // state = 2时
        error_code:,     //错误码
        error_msg:   //错误信息
    }
}

示例代码

var shareApi = api.require('ShareSDKPlus');
shareApi.authorize({
    "platform": $sharesdk.PlatformID.SinaWeibo
},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:
    }     
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancelAuthorize

取消授权
cancelAuthorize({params}, callback(ret, err))

params

platform:

  • 类型:数字
  • 描述:授权平台号

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    state: 1      //数字类型,1:成功 2:失败 3:取消
    error:{      // state = 2时
        error_code:,     //错误码
        error_msg:   //错误信息
    }
}

示例代码

var shareApi = api.require('ShareSDKPlus');
shareApi.cancelAuthorize({
    "platform": $sharesdk.PlatformID.SinaWeibo
},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:
    }     
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getUserInfo

获取用户信息
getUserInfo({params}, callback(ret, err))

params

platform:

  • 类型:数字
  • 描述:平台号,是获取新浪微博还是微信或者其他平台用户信息,由此参数决定

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    state: 1      //数字类型,1:成功 2:失败 3:取消
    data:{}        //json对象 获取的用户信息
    error:{      // state = 2时
        error_code:,     //错误码
        error_msg:   //错误信息
    }
}

示例代码

var shareApi = api.require('ShareSDKPlus');
shareApi.getUserInfo({
    "platform": $sharesdk.PlatformID.SinaWeibo
},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:
    }     
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

shareContent

分享
shareContent({params}, callback(ret, err))

params

platform:

  • 类型:数字
  • 描述:平台号,分享到指定平台

shareParams:

  • 类型:json
  • 描述:分享内容
    • text:文本
    • imageUrl:图片地址
    • title:标题
    • type:分享类型:分享文本、分享图片、分享链接等等

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    state: 1      //数字类型,1:成功 2:失败 3:取消
    data:{}        //
    error:{      // state = 2时
        error_code:,     //错误码
        error_msg:   //错误信息
    }
}

示例代码

var shareApi = api.require('ShareSDKPlus');

var shareParams =
    {
        "text" : "测试的文字",
        "imageUrl" : "http://download.sdk.mob.com/206/4f8/dfc9ea27dd8bc4abfec865c38d/800_450_156.2.jpg",
        "title" : "测试的标题",
        "titleUrl" : "http://www.mob.com",
        "description" : "测试的描述",
        "site" : "ShareSDK",
        "siteUrl" : "http://www.mob.com",
        "type" : $sharesdk.ContentType.Auto
    };

shareApi.shareContent({
    "platform": $sharesdk.PlatformID.SinaWeibo,
    "shareParams": shareParams
},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:
    }     
});

可用性

Android系统

可提供的1.0.0及更高版本

oneKeyShareContent

一键分享/菜单分享 oneKeyShareContent({params}, callback(ret, err))

params

platforms:

  • 类型:数组
  • 描述:可分享的平台列表,为null为全平台

shareParams:

  • 类型:json
  • 描述:分享内容
    • text:文本
    • imageUrl:图片地址
    • title:标题
    • type:分享类型:分享文本、分享图片、分享链接等等

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    state: 1      //数字类型,1:成功 2:失败 3:取消
    data:{}        //
    error:{      // state = 2时
        error_code:,     //错误码
        error_msg:   //错误信息
    }
}

示例代码

var shareApi = api.require('ShareSDKPlus');

var shareParams =
    {
        "text" : "测试的文字",
        "imageUrl" : "http://download.sdk.mob.com/206/4f8/dfc9ea27dd8bc4abfec865c38d/800_450_156.2.jpg",
        "title" : "测试的标题",
        "titleUrl" : "http://www.mob.com",
        "description" : "测试的描述",
        "site" : "ShareSDK",
        "siteUrl" : "http://www.mob.com",
        "type" : $sharesdk.ContentType.Auto
    };

var platforms =
    [
        $sharesdk.PlatformID.SinaWeibo,
        $sharesdk.PlatformID.WeChat
    ];

shareApi.oneKeyShareContent({
    "platforms": platforms, //为null时,显示全部可分享的平台(排除当前环境不可分享平台)
    "shareParams": shareParams
},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:
    }     
});

可用性

Android系统

可提供的1.0.0及更高版本