YZShareSDK 提供微信、微博、QQ 及 Facebook 等部分海外平台分享功能。
注意一:国内(除微博以外)必须安装对应的客户端,海外(除 Facebook 以外)必须安装客户端。
注意二:在 iOS13 之后,国内分享必须配置 Associated Domains,在分享参数申请时,需要添加 Universal link。
注意三:微信分享没有给回调,不能依赖 SDK 给的 code 判定成功或者失败的依据。
注意四:分享的图片大小不能超过 1 M 。
注意一:Facebook 等各个平台分享参数需游戏自行申请。
注意二:分享图片可只传 images 字段。
注意三:platform 为 string 类型,不传会拉起 ShareSDK 默认分享 UI,传了则不会拉起 UI,直接拉起对应平台分享。
注意四:目前分享只支持海外 aab 出包方式。
注意五:分享的图片大小不能超过 1 M 。
注意六:微信分享只能添加 1 个安卓包名,测试期间应用为【未上架】状态,分享次数受如下限制:
1、未上架应用天分享量受限制为100次,包括分享到会话和朋友圈;
2、未上架应用的 app 跳转小程序的天调用量受限制为 100 次;
3、已认证主体的未上架应用限制获取微信登陆用户量为 100 次;
4、未上架应用的一次性订阅消息功能的天调用量限制为 100 次;
补充:修改【上架】状态,需要补充安卓应用市场下载地址、安卓市场应用截图、应用市场后台截图等信息,请提前准备。
注意七:QQ 分享最多能添加 6 个安卓包名。
接口调用:
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 类型,图片大小不能超过 1 M
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 |