YZShareSDK 提供微信、微博、QQ 及 Facebook 等部分海外平台分享功能。
注意一:国内(除微博以外)必须安装对应的客户端,海外(除 Facebook 以外)必须安装客户端。
注意二:在 iOS13 之后,国内分享必须配置 Associated Domains,在分享参数申请时,需要添加 Universal link。
注意三:微信分享没有给回调,不能依赖 SDK 给的 code 判定成功或者失败的依据。
注意一:Facebook 等各个平台分享参数需游戏自行申请。
注意二:分享图片可只传 images 字段。
注意三:platform 为 string 类型,不传会拉起 ShareSDK 默认分享 UI,传了则不会拉起 UI,直接拉起对应平台分享。
注意四:目前分享只支持海外 aab 出包方式。
接口调用:
Dictionary<string, object> map = new Dictionary<string, object>();
map.Add("title","标题"); // 必传
map.Add("content","我是分享文本"); // 必传
map.Add("url","我是分享链接"); // URL 字符串,可以包含中文,不可进行 URL 编码,没有可以不传
map.Add("images","/storage/emulated/0/Android/data/com.youzu.share/files/yzshare.png"); // 分享图片为本地路径,参数为 string 类型。
map.Add("platform","1"); // 选传
SuperSDK.getInstance().Invoke("yzsharesdk", "share", map);
接口回调:
public void OnCallBack(string moduleName, string funcName, string result)
{
Debug.Log("moduleName:" + moduleName);
Debug.Log("funcName:" + funcName);
Debug.Log("result:" + result);
JsonData resultData = JsonMapper.ToObject(result);
if (moduleName.Equals("yzsharesdk"))
{
if (funcName.Equals("share"))
{
JsonData resultData = JsonMapper.ToObject(result);
if ((int)resultData["code"] == 1)
{
// 分享成功
}
}
}
}
日志打印:
moduleName:yzsharesdk
funcName:share
result:{
"code":1,
"msg":"分享成功"
}
platform 字段说明:
平台 | 参数 |
---|---|
新浪微博 | 1 |
微信好友 | 2 |
微信朋友圈 | 3 |
微信收藏 | 4 |
QQ 好友 | 5 |
QQ 空间 | 6 |
7 | |
8 | |
Line | 11 |
VKontakte | 13 |
Tiktok | 14 |