分享系统(Lua)

来自AnySDK 文档
跳转至: 导航搜索

分享系统介绍

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

获取SharePlugin

获取分享系统的插件,首先需要初始化并loadAllPlugins,但注意初始化和load最好只进行一次。

--获取AgentManger
local agent = AgentManager:getInstance()
--初始化并load plugins(注意:初始化和load最好只进行一次,建议agent设置为全局的)
--init
local appKey = "BA5B660B-6DD5-0F67-8CC7-8FE0BA7545D6";
local appSecret = "e23ae7d6da34334d4cc11df0dc7f3de0";
local privateKey = "76E1D975EA4B9A4ECD0E85AF2D782E99";
local oauthLoginServer = "http://oauth.anysdk.com/api/OauthLoginDemo/Login.php";
agent:init(appKey,appSecret,privateKey,oauthLoginServer)
--load
agent:loadAllPlugins()

--get share
local share_plugin = agent:getSharePlugin()

相关接口

分享

share(info);
info 实际上是一个map,记录了分享的一些相关的信息。
参数表如下
参数 是否必传 参数说明 备注
title Y title标题,在印象笔记、邮箱、信息、微信(包括好友、朋友圈和收藏)、 易信(包括好友、朋友圈)、人人网和QQ空间使用 ShareSDK、微信
titleUrl Y titleUrl是标题的网络链接,仅在人人网和QQ空间使用 ShareSDK(Android)
site Y site是分享此内容的网站名称,仅在QQ空间使用 ShareSDK(Android)
siteUrl Y siteUrl是分享此内容的网站地址,仅在QQ空间使用 ShareSDK(Android)
text Y text是分享文本,所有平台都需要这个字段 ShareSDK、微信
imagePath N imagePath是本地的图片路径,除Linked-In外的所有平台都支持这个字段 ShareSDK、微信
imageUrl N imageUrl是图片的网络路径,新浪微博、人人网、QQ空间和Linked-In支持此字段 ShareSDK
description Y description是主体内容,用于人人网 ShareSDK(Android)
dialogMode N 编辑分享内容的模式,默认全屏false,对话框为true ShareSDK(Android)
comment N comment是我对这条分享的评论,仅在人人网和QQ空间使用 ShareSDK(Android)
url Y 链接,在QQ空间、人人、微信、QQ使用 ShareSDK、微信
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消息,7GIF消息,微信必须使用 微信
shareTo Y shareTo是分享到什么位置,例如微信 0-聊天 1-朋友圈 2-收藏 微信必须使用 微信
thumbImage N thumbImage是缩略图, 微信iOS需要使用 微信(iOS)
thumbSize N thumbImage是缩略图尺寸(不超过127), 微信Android需要使用 微信(Android)

iOS的分享(Share/微信)所需参数请参考 http://docs.anysdk.com/IOS-SDKParams#ShareMob

分享回调说明

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

举例说明

1,设置监听:

   local function onSharedResultListener( code, msg )     --code: share result code, msg: message of result.
       print("on user shared result listener.")
       if code == ShareResultCode.kShareSuccess then
           --do something
       else
           --do something
       end
   end
   share_plugin:setResultListener(onSharedResultListener)

2,分享(info参数类型是string:string):

   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)