《分享系统》

分享系统目前支持 ShareSDK 的一键分享(支持新浪微博、QQ 空间、微信好友、微信朋友圈、微信收藏、QQ 好友、腾讯微博、人人网、易信好友、易信朋友圈的分享功能)、微信、Facebook。

获取分享插件对象

local agent = AgentManager:getInstance()
local share_plugin = agent:getSharePlugin()

设置监听

share_plugin:setResultListener(onShareResult)

开发者需要设置监听方法

local function onShareResult(code, msg)
    print("on share result listener.")
    print("code:"..code..",msg:"..msg)
    if code == ShareResultCode.kShareSuccess then
        --do
    elseif code == ShareResultCode.kShareFail then
        --do
    elseif code == ShareResultCode.kShareCancel then
        --do
    elseif code == ShareResultCode.kShareNetworkError then
        --do
    end
end

回调信息

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

相关接口

分享

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

参数 是否必传 参数说明 备注
title Y title 标题,在印象笔记、邮箱、信息、微信(包括好友、朋友圈和收藏)、易信(包括好友、朋友圈)、人人网和 QQ空 间使用 ShareSDK、微信、Facebook
titleUrl Y titleUrl 是标题的网络链接,仅在人人网和 QQ 空间使用 ShareSDK(Android)
site Y site 是分享此内容的网站名称,仅在 QQ 空间使用 ShareSDK(Android)
siteUrl Y siteUrl 是分享此内容的网站地址,仅在 QQ 空间使用 ShareSDK(Android)
text Y text 是分享文本,所有平台都需要这个字段 ShareSDK、微信、Facebook
imagePath N imagePath 是本地的图片路径,除 Linked-In 外的所有平台都支持这个字段 ShareSDK、微信、Facebook
imageUrl N imageUrl是图片的网络路径,新浪微博、人人网、QQ 空间和 Linked-In 支持此字段 ShareSDK、Facebook
description Y description 是主体内容,用于人人网 ShareSDK(Android)
dialogMode N 编辑分享内容的模式,默认全屏 false,对话框为 true ShareSDK(Android)
comment N comment 是我对这条分享的评论,仅在人人网和 QQ 空间使用 ShareSDK(Android)
url Y 链接,在QQ空间、人人、微信、QQ 使用 ShareSDK、微信、Facebook
theme N 设置主题,默认为传统主题,可传 "skyblue" 修改主题 ShareSDK(Android)
latitude N 分享地纬度,新浪微博、腾讯微博和 foursquare 支持此字段 ShareSDK(Android)
longitude N 分享地经度,新浪微博、腾讯微博和 foursquare 支持此字段 ShareSDK(Android)
mediaType Y mediaType 是个枚举分享类型,0 文本,1 图片,2 新闻/网址,3 音乐,4 视频,5 应用,6 非 GIF 消息,7 GIF 消息,8 多媒体 微信、Facebook
shareTo Y shareTo 是分享到什么位置,0 聊天 1 朋友圈 2 收藏 微信
thumbImage N thumbImage 是本地的缩略图路径 微信(iOS)
thumbSize N thumbImage 是缩略图尺寸(不超过 127) 微信(Android)
videoPath N videoPath 是本地的视频路径 Facebook

举例说明

local 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://f1.sharesdk.cn/imgs/2014/05/21/oESpJ78_533x800.jpg"  --imageUrl 是图片的网络路径,新浪微博,人人网,QQ 空间支持此字段
    text = "ShareSDK 集成了简单、支持如微信、新浪微博、腾讯微博等社交平台",  --text 是分享文本,所有平台都需要这个字段
    comment = "无",  --comment 是我对这条分享的评论,仅在人人网和 QQ 空间使用
    mediaType = "1";  --微信 SDK 需要是用到的参数,分享类型: 0 - 文字 1 - 图片 2 - 网址  
    shareTo = "2";  --微信 SDK 需要是用到的参数,分享到:0 - 聊天 1 - 朋友圈 2 - 收藏  
}
share_plugin:share(info)

【评论区】