《分享系统》

分享系统目前支持 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)

【评论区】