Unity集成ShareSDK一键分享

1.首先在ShareSDK 官网下载http://mob.com/“ShareSDK社会化”分享插件,直接现在UnityforShareSDK.
2.解压,然后将ShareSDK导入你的Unity项目中,倒进去会报错,因为你没有选择平台,现在Build Setting里面选择安卓平台。错误就消失了。
3.新建一个空物体,随便命名。将shareSdk脚本挂上去,再去mob里面创建shareSdk应用,得到Appkey和AppSecret 这两个值,然后去各个平台申请所需要的资料也获取这两个值,然后输入相应的位置。
3.新建脚本,首先获取shareSDK,然后开始创建分享按钮,注册事件。ShareContent里面有你想要分享的函数,参数调用,ShowPlatformList函数为分享
//分享前先设置Content对象
ShareContent content = new ShareContent();
//通用分享内容的设置
//设置分享的文字
// content.SetText(relustText.text);
//设置分享的图片
//SetImagePath参数为本地图片,参数为图片路径
//SetImageUrl为网络图片,参数为图片网址
//SetImageArray为多图分享,参数为图片网址的string数组,仅支持网络图片,仅支持Android
content.SetImagePath(Application.persistentDataPath + “/” + “Screenshot.png”);
//设置分享的标题和标题的URL
content.SetTitle(“ShareSDK”);
content.SetTitleUrl(“https://”);
//设置站点和站点的URL
content.SetSite(“”);
content.SetSiteUrl(“https://”);
//设置Url
content.SetUrl(“https://”);
//设定分享内容的主要类型
content.SetShareType(ContentType.Image);
// content.SetShareType(ContentType.App);
//平台特异性分享的设置
//在指定平台上使用覆盖主页面内容
//设置那些平台不显示,隐藏不需要分享的平台
string[] platform = { “5”, “7”, “8”, “9”, “10”, “11”, “12”, “13”, “14”, “15”, “16”, “17”, “18”, “19”, “20”, “21”, “25”, “26”, “27”, “30”, “34”, “35”, “36”, “37”, “38”, “39”, “40”, “41”, “42”, “43”, “44”, “45”, “46”,”48”, “50”, “51”, “52”, “53”, “54”,”47” };
content.SetHidePlatforms(platform);
// PlatformType[] platformType = new PlatformType[] {PlatformType.SinaWeibo,PlatformType.QQ,PlatformType.WeChat };
shareSdk.ShowPlatformList(null, content, 100, 100);
4.分享结果回调,先在Start方法里注册回调函数,然后相应函数调用,用Toast的方法显示分享状态
//分享回调事件
shareSdk.shareHandler += ShareResultHandler;
// 分享结果回调
void ShareResultHandler(int reqID, ResponseState state, PlatformType type, Hashtable result)
{ //成功

    if (state == ResponseState.Success)
    {
        Utily.Toast("分享成功");
    }
    //失败
    else if (state == ResponseState.Fail)
    {
        Utily.Toast("分享失败");
    }
    //关闭
    else if (state == ResponseState.Cancel)
    {
        Utily.Toast("分享被取消");
    }
}

5.创建一个静态方法用来创建Toast。
public static void Toast(string info)
{
AndroidJavaObject currentActivity = new AndroidJavaClass(“com.unity3d.player.UnityPlayer”).GetStatic(“currentActivity”);
AndroidJavaClass Toast = new AndroidJavaClass(“android.widget.Toast”);
currentActivity.Call(“runOnUiThread”, new AndroidJavaRunnable(() => { Toast.CallStatic(“makeText”, currentActivity, info, Toast.GetStatic(“LENGTH_LONG”)).Call(“show”); }));
}
6.如有错误,请指出,谢谢。

猜你喜欢

转载自blog.csdn.net/qq_38456478/article/details/79806354