首页 > Unity3D频道 > 【Unity3D研究院之游戏开发】 > Unity3D研究院之在Unity中分享QQ空间(四十九)
2013
03-24

Unity3D研究院之在Unity中分享QQ空间(四十九)

最近研究了一下Android下 Unity分享 for QQ空间,作法类似以前我在博客中写过分享新浪微博的方法,也就是自己写插件。测试用的手机Google Nexus  ,Unity版本4.1,如下图所示,这是我发布成功后在QQ空间的截图。

Unity3D研究院之在Unity中分享QQ空间(四十九) - 雨松MOMO程序研究院 - 1

 

 

 

写插件的方式我就不再说了,如果不懂的朋友看我之前的博客吧,写的很清楚。

QQ空间分享属于腾讯开放平台。然而腾讯开放平台的东西也比较多,移动平台包括:空间分享、说说分享、微薄分享。这一篇就说空间分享,如果空间分享搞定后可以按照同样的方式实现微薄分享。

先下载腾讯开放平台的API。

http://wiki.opensns.qq.com/wiki/%E3%80%90QQ%E7%99%BB%E5%BD%95%E3%80%91%E7%A7%BB%E5%8A%A8%E5%BA%94%E7%94%A8%E6%8E%A5%E5%85%A5

API我下载后里面有一个DEMO。我在MAC OS系统下Eclipse尽然不能运行,提示错误。后来我简单改了一下才可以运行,好蛋疼啊。

废话就不多说了,先来在Elipse下Android的插件。下段代码是Eclipse中的Android代码。

 

如果你不需要在U3d中分享说说?把上段代码简单的改一改吧。把登录放在Creat()方法中吧,会安卓的都知道嘿嘿。

然后在U3D中,绑定在任意对象中, 把Activity传递给Android插件中。

 下面是Andorid插件的路径,记住把open_Sdk放进去,这个是腾讯提供的第三方包。运行后点击按钮就可以登录与分享说说。

Unity3D研究院之在Unity中分享QQ空间(四十九) - 雨松MOMO程序研究院 - 2

 

然后在Android手机上编译运行吧。

最后我在说说我使用QQ空间的感受。 空间分享包括2部分 分享链接 和分享说说,仔细查了一下才发现这两个东西差别挺大的。 文档上说这两个分享接口会被合并,最重要的是暂时不能分享本地图片、如果想分享本地图片有一个办法就是先调用上传图片的接口,把本地图片上传至QQ相册中,然后拿到URL后分享。总体来说希望企鹅的文档以后能写的在清楚一点,我是“连蒙带猜” 哎~

本文的源码下载,包括Android工程和U3D工程。

http://vdisk.weibo.com/s/uW42H

 

 

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!

Unity3D研究院之在Unity中分享QQ空间(四十九)》有 32 条评论

  1. 大侠能出个微信登陆片吗?

  2. GRAPH_ADD_SHARE cannot be resolved or is not a field这个参数错误,是怎么回事?

  3. Monster0 说:

    请问你解决了吗?我也遇到这个问题

  4. 谭俊 说:

    大神、、我直接把的demo放上去。运行都是ok的、但是qq空间没有你代码里面发表的图片、、是什么意思啊、、

  5. 815313452 说:

    manifest 文件中有activity,我这里这样写public class MainActivity extends UnityPlayerActivity {private String client_key = “”;private String client_id = “”;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);}public void Login() {GyyxMobile.getInstance(MainActivity.this, client_id, “test”, client_key).login(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE, new GyyxListener() {@Overridepublic void onException(Exception e) {UnityPlayer.UnitySendMessage(“Main Camera”, “messgae”,”11111111″));}@Overridepublic void onError(GyyxError e) {UnityPlayer.UnitySendMessage(“Main Camera”, “messgae”,”2222222″));}@Overridepublic void onComplete(Bundle bundle) {UnityPlayer.UnitySendMessage(“Main Camera”, “messgae”,”333333″));}@Overridepublic void onCancel() {UnityPlayer.UnitySendMessage(“Main Camera”, “messgae”,”4444444″));}}}}client_key和client_id 都有真实数据,但是在执行到GyyxMobile.getInstance这里时就没反应了,不知道为什么

  6. 815313452 说:

    momo大神,U3D和Android数据交互时,U3D导出安卓版本,总会出现Unable to find unity activity in manifest. You need to make sure orientation attribut is set to portrait manually.UnityEditor.HostView:OnGUI()这个警告, 安装后,执行到有上下文参数的时候,就不执行了,请问知道怎么解决吗?

  7. ajohn 说:

    请问,class,jar文件是什么内容 ?

  8. 竹林 说:

    出现登录错误什么原因哦

  9. 花雪 说:

    请问momo,我在接入SDK的时候在手机上运行,为什么提示请插入SIM?然后会弹出“ 部分设备无法支持当前登录方式,建议下载手机qq ”的界面。谢谢啦

  10. aleraler 说:

    谢谢MOMO分享!再问个问题,能取得QQ上的好友信息吗?

  11. 雨松MOMO 说:

    这样肯定不能传递。。。API中的方法介绍,参数1是方法名参数2是多个对象。function Call (methodName : string, params args : object[]) : void所以你传递的时候可以jo.Call(“LoginAndSend”,jo,height);

  12. 小可 说:

    感谢雨松分享

  13. 屋脊屋脊 说:

    谢谢momo,俺用的3.5,打包总是出错,然后把res文件夹删了之后就成了,可以分享到空间,不过那个按钮只能按下一次,还有图片也没有成功显示出来,正在研究,哇哈哈~

  14. 果断分享,现在N多游戏都有分享了!

留下一个回复

你的email不会被公开。