在Unity项目中接入ShareSDK

本文介绍了如何在Unity项目中接入ShareSDK,包括在ShareSDK官网注册获取app_key和app_secret,按照快速集成指南接入SDK,注意设置各平台的配置信息,并解决打包后可能出现的主Activity找不到问题。同时提供了各社交平台的应用注册链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、上ShareSDK的官网"http://mob.com/"注册一个开发者账号以及下载ShareSDK的包

2、在ShareSDK的官网上注册你的app,将会得到一个app_key和app_secret。将在后面的代码中使用到。

3、根据"http://wiki.mob.com/Unity3D快速集成指南/"所说的步骤接入SDK

4、接下来上代码:

void Start () 
{
    ShareSDK.setCallbackObjectName("Main Camera");
    ShareSDK.open("85eca69c8782");   //在shareSDK官网上的注册的app的app_key

    Hashtable weixinConf = new Hashtable();
    weixinConf.Add("app_id", "wx4868b35061f87885");
    //ShareSDK.setPlatformConfig(PlatformType.WeChatSession, weixinConf);
    //微信朋友圈
    ShareSDK.setPlatformConfig(PlatformType.WeChatTimeline, weixinConf);
    //ShareSDK.setPlatformConfig(PlatformType.WeChatFav, weixinConf);

    //QQ
    Hashtable qqConf = new Hashtable();
    qqConf.Add("app_id", "1104666957");
    ShareSDK.setPlatformConfig(PlatformType.QQ, qqConf);

    //QZone
    Hashtable qzConf = new Hashtable();
    qzConf.Add("app_id", "1104666957");
    qzConf.Add("app_key", "Roh1JgeVpfwmKR35");
    ShareSDK.setPlatformConfig(PlatformType.QZone, qzConf);

    //拷贝本地图片
    string imagePath = Application.persistentDataPath + "/0.png";
    if(!System.IO.File.Exists(imagePath))
    {
        Texture2D texture = Resources.Load("0") as Texture2D;
        System.IO.File.WriteAllBytes(imagePath, texture.EncodeToPNG());
    }

}
	
public void ShareWeiXinMessage()
{
      Hashtable content = new Hashtable();
      content["title"] = "Cris的测试项目";
      content["content"] = "只是测试而已,可以忽略!!!";
      string imagePath = Application.persistentDataPath + "/0.png";
      if (System.IO.File.Exists(imagePath))
      {
        content["image"] = imagePath;
      }
      content["url"] = "www.baidu.com";
      content["type"] = Convert.ToString((int)ContentType.News);
      ShareResultEvent evt = new ShareResultEvent(ShareResultHandler);
      //ShareSDK.shareContent(PlatformType.WeChatTimeline, content, evt);
      ShareSDK.showShareMenu(null, content, 100, 100, MenuArrowDirection.Up, evt);
}

void ShareResultHandler(ResponseState state, PlatformType type, Hashtable shareInfo, Hashtable error, bool end)
{
     if (state == ResponseState.Success)
     {
        print("分享成功");
        print(MiniJSON.jsonEncode(shareInfo));
      }
      else if (state == ResponseState.Fail)
      {
         print("分享失败");
         print("fail! error code = " + error["error_code"] + "; error msg = " + error[                "error_msg"]);
       }
        else if (state == ResponseState.Cancel)
        {
            print("cancel !");
        }
}

上面程序的用法在“Unity3D快速集成指南”中都有提及的。

主要是几个地方需要注意

a)、ShareSDK.open("85eca69c8782");这里的参数就是你在sharesdk官网注册你的app的那个app_key

b)、每个平台需要设置的内容有些许差异,需要设置的内容请参考社交平台配置项说明》文档”http://wiki.mob.com/社交平台配置项说明/“。对于每个平台,都需要到对应的平台注册你当前的这个应用的信息以获得在相应平台的app_id或者app_key,app_secret.这样才能在程序中对平台信息进行设置。

C)、我在接完ShareSDK后打包成APK,安装到手机之后以为成功了,谁知道一运行就闪退了,后面用Cygwin64Terminal查看了一下日志才知道主Activity没有找到,找了安卓的配置文件里面的配置都是正确的,最后的解决办法是,在下载下来的ShareSDK的项目中有个Android_Java_Demo项目,使用Eclipse将此项目打开,然后对src右键->Export->class->jar file,然后将导出的文件命名为OneKeyShare,然后替换在Unity工程中的Asset->Plugins->Android->libs下的OneKeyShare就解决了,我猜测可能是api版本的问题,不知是不是,有知道的小伙伴请知会我一声,谢谢!

ps:

各个平台注册应用信息的地址如下:
新浪微博        http://open.weibo.com
腾讯微博        http://dev.t.qq.com
QQ空间          http://connect.qq.com/intro/login/
微信好友        http://open.weixin.qq.com
Facebook       https://developers.facebook.com
Twitter        https://dev.twitter.com
人人网          http://dev.renren.com
开心网          http://open.kaixin001.com
搜狐微博        http://open.t.sohu.com
网易微博        http://open.t.163.com
豆瓣           http://developers.douban.com

有道云笔记                           

                                  http://note.youdao.com/open/developguide.html#app

印象笔记        https://dev.evernote.com/
Linkedin       https://developer.linkedin.com
FourSquare     https://developer.foursquare.com/
搜狐随身看      https://open.sohu.com/
Flickr         http://www.flickr.com/services/
Pinterest      http://developers.pinterest.com/
Tumblr         http://www.tumblr.com/developers
Dropbox        https://www.dropbox.com/developers
Instagram      http://instagram.com/developer#
VKontakte      http://vk.com/dev
易信好友        http://open.yixin.im/
明道           http://open.mingdao.com/
Line           http://media.line.me/zh-hant/
Pocket         http://getpocket.com/developer/apps/new


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值