《分享系统》

分享系统目前支持 ShareSDK 的一键分享(只支持部分平台)、微信、Facebook。

获取分享插件对象

var agent = anysdk.agentManager;
var share_plugin = agent.getSharePlugin();

设置监听

分享系统存在回调信息,需要设置监听,实现监听方法。

share_plugin.setListener(this.onShareResult, this);

开发者需要设置监听方法

onShareResult:function(code, msg){
    cc.log("share result, resultcode:"+code+", msg: "+msg);
    switch ( code ) {
        case anysdk.ShareResultCode.kShareSuccess:
            //do something
            break;
        case anysdk.ShareResultCode.kShareFail:
            //do something
            break;
        case anysdk.ShareResultCode.kShareCancel:
            //do something
            break;
        case anysdk.ShareResultCode.kShareNetworkError:
            //do something
            break;
    }
}

回调信息

回调信息 code msg
分享成功 kShareSuccess null或者错误信息的简单描述
分享取消 kShareCancel null或者错误信息的简单描述
分享失败 kShareFail null或者错误信息的简单描述
分享网络出现错误 kShareNetworkError null或者错误信息的简单描述

相关接口

分享

share(info);
info 实际上是一个 map,记录了分享的一些相关的信息。
参数表如下

| 参数 | 参数说明 | 备注 | | :--- | :--- | :--- | :--- | | title | title 标题,在印象笔记、邮箱、信息、微信(包括好友、朋友圈和收藏)、易信(包括好友、朋友圈)、人人网和 QQ空 间使用 | ShareSDK、微信、Facebook | | titleUrl | titleUrl 是标题的网络链接,仅在人人网和 QQ 空间使用 | ShareSDK(Android) | | site | site 是分享此内容的网站名称,仅在 QQ 空间使用 | ShareSDK(Android) | | siteUrl | siteUrl 是分享此内容的网站地址,仅在 QQ 空间使用 | ShareSDK(Android) | | text | text 是分享文本,所有平台都需要这个字段 | ShareSDK、微信、Facebook | | imagePath | imagePath 是本地的图片路径,除 Linked-In 外的所有平台都支持这个字段 | ShareSDK、微信、Facebook | | imageUrl | imageUrl是图片的网络路径,新浪微博、人人网、QQ 空间和 Linked-In 支持此字段 | ShareSDK(iOS)、Facebook | | comment | comment 是我对这条分享的评论,仅在人人网和 QQ 空间使用 | ShareSDK(Android) | | url | 链接,在QQ空间、人人、微信、QQ 使用 | ShareSDK、微信、Facebook | | mediaType | mediaType 是个枚举分享类型,0 文本,1 图片,2 新闻/网址,3 音乐,4 视频,5 应用,6 非 GIF 消息,7 GIF 消息,8 多媒体 | 微信、Facebook | | shareTo | shareTo 是分享到什么位置,0 聊天 1 朋友圈 2 收藏 | 微信 | | thumbImage | thumbImage 是本地的缩略图路径 | 微信 | | thumbSize | thumbImage 是缩略图尺寸(不超过 127) | 微信(Android) | | videoPath | videoPath 是本地的视频路径 | Facebook |

举例说明

  1. 设置监听:
share_plugin.setListener(this.onShareResult, this);
onShareResult:function(code, msg){
    cc.log("share result, resultcode:"+code+", msg: "+msg);
    switch ( code ) {
        case anysdk.ShareResultCode.kShareSuccess:
            //do something
            break;
        case anysdk.ShareResultCode.kShareFail:
            //do something
            break;
        case anysdk.ShareResultCode.kShareCancel:
            //do something
            break;
        case anysdk.ShareResultCode.kShareNetworkError:
            //do something
            break;
    }
}
  1. 分享(info 参数类型是 string:string):
var info = {
   title : "ShareSDK 是一个神奇的 SDK",   // title 标题,印象笔记、邮箱、信息、微信、人人网和 QQ 空间使用
   titleUrl : "http://sharesdk.cn",// titleUrl 是标题的网络链接,仅在人人网和 QQ 空间使用
   site : "ShareSDK",               // site 是分享此内容的网站名称,仅在 QQ 空间使用
   siteUrl : "http://sharesdk.cn",      // siteUrl 是分享此内容的网站地址,仅在 QQ 空间使用
   imagePath:"/sdcard/test.png",            // imagePath 是图片的本地路径,Linked-In 以外的平台都支持此参数
   url:"http://sharesdk.cn",        // url 仅在微信(包括好友和朋友圈)中使用
   imageUrl:"http://www.baidu.com/img/bdlogo.png?tn=63090008_1_hao_pg", // imageUrl 是图片的网络路径,新浪微博,人人网,QQ 空间支持此字段
   text : "ShareSDK 集成了简单、支持如微信、新浪微博、腾讯微博等社交平台",            // text 是分享文本,所有平台都需要这个字段
   comment : "无"                // comment 是我对这条分享的评论,仅在人人网和 QQ 空间使用
}
share_plugin.share(info)

【评论区】