本文介绍在游戏中向好友分享图片、链接等数据
使用ShareSDK可以实现多个平台的分享,比如新浪、支付宝、QQ、QQ空间、领英等几十中常用应用的好友分享
并且博主已经打包实现到了安卓,源码我上传了,需要的话可以下载参考!!!点击打开链接
开发环境的准备
进入ShareSDK官网,下载ShareSDK For Unity(我也上传了一份点击打开链接)
按如下图路径把Plugins目录拖进Unity Assets目录
可能发现会报错
此时按如下图方式选择在Android平台上开发就不会报错
之后在Main Camera(其他对象也行)上添加ShareSDK脚本
其中这里的App Key需要在ShareSDK官网上注册进入后台申请一个应用,会提供一个App Key
将App Key填入脚本中
编写代码
新建一个C#脚本挂载在Main Camera(可其他对象上)
using UnityEngine;
using System.Collections;
using cn.sharesdk.unity3d;
public class MySelfText : MonoBehaviour
{
private ShareSDK ssdk;
// Use this for initialization
void Start ()
{
ssdk=this.GetComponent<ShareSDK>();
ssdk.shareHandler = ShareHandler;
ssdk.authHandler = AuthHandler;
ssdk.showUserHandler = ShowUserHandler;
}
public void OnBtnAuthorize()
{
//授权
ssdk.Authorize(PlatformType.SinaWeibo);
}
public void OnBtnGetUserMessage()
{
//获取用户信息
ssdk.GetUserInfo(PlatformType.SinaWeibo);
}
public void OnBtnSendImage()
{
//分享内容
ShareContent content = new ShareContent();
content.SetText("this is a test string.");
content.SetImageUrl("https://f1.webshare.mob.com/code/demo/img/1.jpg");
content.SetTitle("test title");
content.SetTitleUrl("http://www.mob.com");
content.SetSite("Mob-ShareSDK");
content.SetSiteUrl("http://www.mob.com");
content.SetUrl("http://www.mob.com");
content.SetComment("test description");
content.SetMusicUrl("http://mp3.mwap8.com/destdir/Music/2009/20090601/ZuiXuanMinZuFeng20090601119.mp3");
content.SetShareType(ContentType.Webpage);
//显示各个平台的分享图标列表
ssdk.ShowPlatformList(null,content,100,100);
}
void ShareHandler(int reqID, ResponseState state, PlatformType type, Hashtable data)
{
if (state == ResponseState.Success)
{
print("authorize success !");
}
else if (state == ResponseState.Fail)
{
print("fail! throwable stack = " + data["stack"] + "; error msg = " + data["msg"]);
}
else if (state == ResponseState.Cancel)
{
print("cancel !");
}
}
void AuthHandler(int reqID, ResponseState state, PlatformType type, Hashtable data)
{
if (state == ResponseState.Success)
{
print("authorize success !");
}
else if (state == ResponseState.Fail)
{
print("fail! throwable stack = " + data["stack"] + "; error msg = " + data["msg"]);
}
else if (state == ResponseState.Cancel)
{
print("cancel !");
}
}
void ShowUserHandler(int reqID, ResponseState state, PlatformType type, Hashtable data)
{
if (state == ResponseState.Success)
{
print("get user info result :");
print(MiniJSON.jsonEncode(data));
}
else if (state == ResponseState.Fail)
{
print("fail! throwable stack = " + data["stack"] + "; error msg = " + data["msg"]);
}
else if (state == ResponseState.Cancel)
{
print("cancel !");
}
}
}
在这里我简单的创建了三个按钮,将三个函数拖到对应到按钮的点击事件
最后将打包APK,需要按如下图设置下Player Setting
这样,简单的多平台分享实现
源码我已经分享了,大家可以下载学习玩玩!!!