《分享系统》

分享系统介绍

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

相关接口

设置监听

分享系统存在回调信息,需要设置监听类以及监听方法。
void setListener(MonoBehaviour gameObject,string functionName)

AnySDKShare.getInstance ().setListener (this,"ShareExternalCall");

开发者需要设置监听方法

void ShareExternalCall(string msg)
{
    Debug.Log("ShareExternalCall("+ msg+")");
    Dictionary<string,string> dic = AnySDKUtil.stringToDictionary (msg);
    int code = Convert.ToInt32(dic["code"]);
    string result = dic["msg"];
    switch(code)
    {
    case (int)ShareResultCode.kShareSuccess://分享成功回调
        break;
    case (int)ShareResultCode.kShareFail://分享失败回调
        break;
    case (int)ShareResultCode.kShareCancel://分享取消回调
        break;
    case (int)ShareResultCode.kShareNetworkError://分享网络出错回调
        break;
    default:
        break;
    }
}

注:回调过来的参数为一个字符串,其中包括 code(回调状态)、msg(回调信息)需要调用 AnySDKUtil.stringToDictionary (msg); 获取 key 和 value

分享

void share(Map datas);
datas 记录了分享的一些相关的信息。
参数表如下

参数 参数说明 备注
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

分享回调说明

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

举例说明

Dictionary<string,string> info = new Dictionary<string, string>();
// title 标题,印象笔记、邮箱、信息、微信、人人网和 QQ 空间使用
info["title"] = "ShareSDK 是一个神奇的 SDK";
// titleUrl 是标题的网络链接,仅在人人网和 QQ 空间使用
info["titleUrl"] = "http://sharesdk.cn";
// site 是分享此内容的网站名称,仅在 QQ 空间使用
info["site"] = "ShareSDK";
// siteUrl 是分享此内容的网站地址,仅在 QQ 空间使用
info["siteUrl"] = "http://sharesdk.cn";

// imagePath 是图片的本地路径,Linked-In 以外的平台都支持此参数
info["imagePath"] = "/sdcard/test.png";
// imageUrl 是图片的网络路径,新浪微博,人人网,QQ 空间支持此字段
info["imageUrl"] = "http://www.baidu.com/img/bdlogo.png?tn=63090008_1_hao_pg";

// url 仅在微信(包括好友和朋友圈)中使用
info["url"] ="http://sharesdk.cn";

// text 是分享文本,所有平台都需要这个字段
info["text"] = "ShareSDK 支持如微信、新浪微博、腾讯微博等社交平台";
// comment 是我对这条分享的评论,仅在人人网和 QQ 空间使用
info["comment"] = "无";
//微信 SDK 分享需要使用到的参数
info["mediaType"] = "1"; //分享类型: 0-文字 1-图片 2-网址  
info["shareTo"] = "2"; //分享到:0-聊天 1-朋友圈 2-收藏  
AnySDKShare.getInstance ().share (info);

【评论区】