首页 > Unity3D频道 > 【Unity3D研究院之游戏开发】 > Unity3D研究院之在Android中调用新浪微博接口(三十七)
2012
09-21

Unity3D研究院之在Android中调用新浪微博接口(三十七)

         最近工作比较忙 加上感觉自己好像有点上了年纪 整个人感觉非常的疲惫啊, 希望国庆期间可以好好休息一下,调养一下自己。这两天研究了一下如何在Unity中调用新浪微博接口, 上一篇已经IOS平台分享新浪微博,那么本篇文章将写在结合Unity 在 Android平台分享新浪微博。 使用起来我还是觉得IOS平台的接口比较好用,开始基本傻瓜化,可Android平台的接口新手的话估计导入后都无法运行。借此,雨松MOMO希望新浪微博尽快让Android平台下的接口也能好用,废话就不多说了,我们进入正题。

如下图所示,这是MOMO在Android手机中Unity3D下调用新浪微博分享接口。

Unity3D研究院之在Android中调用新浪微博接口(三十七) - 雨松MOMO程序研究院 - 1

 

在继续学习之前请朋友确认你所需要的微薄密钥是否准备完毕。

1.没有密钥的朋友

请在这里注册一个移动应用,http://open.weibo.com/ 。注册成功后在应用信息-》基本信息中即可获得APP KEY 和 APP SECRET,没有这两个KEY你是无法发送微薄的。 仅仅这些还是不够,因为是刚刚注册的新密钥所以是不能被公众所使用的,你应当继续在 应用信息-> 测试帐号 中添加测试账号,只有添加过的测试帐号才能使用新注册的密钥发送微薄。

2.有密钥的朋友

可以直接使用你的密钥来进行开发。

 

接着我们下载新浪微博Andoid下API接口, 下载地址:http://code.google.com/p/android-weibo-sdk/downloads/list     我个人在选择API的时候习惯选择最新的版本,页面中最上面的下载地址就是最新的API

解压后使用Eclipse将整个工程引入,一定要从解压后的顶层的文件夹将下面的两个工程同时的引入Eclipse,不然你会出现错误 “@style/ContentOverlay” 无法找到。这样的话就会将两个工程都引入至elipse,com_weibo_android 是API包, com_weibo_android_exampe 就是例子程序,直接运行它即可。

然后我们需要在Unity3D中制作Android的插件来调用新浪微博接口,如果你现在对Android的插件还是不是很了解,请阅读Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)文章。

开始MOMO使用com_weibo_android_exampe 来制作Android插件的时候发现最终Unity导出项目的时候无法运行,并且在手机中也无法找到刚刚编译的项目。非常奇怪,后来我就重新把API的代码整理了一遍,问题就解决了。

SinaMessageActivity.java  它是我们写的Activity插件, 当Unity 中准备好 文字与图片数据的时候调用它即可发送信息。

 

当插件准备完毕后,将它导入至Unity3D中,如果不会的朋友请看我之前的文章。Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)

我们在看看Unity中是如何调用插件中的分享接口的。

Test.cs

 

调用接口后会调用新浪登录界面,继续发送新浪微薄。

Unity3D研究院之在Android中调用新浪微博接口(三十七) - 雨松MOMO程序研究院 - 2

 

 

最后我把文本的Android插件代码 以及 Unity工程放出来, 下载完毕后解压即可看到工程。雨松MOMO希望大家学习愉快。

下载地址 http://vdisk.weibo.com/s/d3xA1

 

2013年3月23日补充

 

在调用新浪微薄Android接口的时候我还出现了一个 Can’t create handler inside thread that has not called Looper.prepare() 错误。

这个错误前段时间一直因为别的事情没有能即时的解决。 这几天MOMO在做Android for QQzone的插件中也遇到了同样的错误。出现这个错误的额原因就是unity调用插件中的方法中又开启了新的线程。

先改动一下上面的unity C#脚本,方法名我就不换了。。。主要说原理。。

 

 这段代码的意思就是在unity中把当前的Activity对象传递给Android插件中。在插件中这样来写。

 

在插件中通过调用UI主线程来执行原先的子线程。。

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

Unity3D研究院之在Android中调用新浪微博接口(三十七)》有 54 条评论

  1. Chorus09 说:

    请问大神用最新sdk的oauth时授权页面弹不出来是该如何解决啊。ssohandler是封装的,根本无法控制会使用sso登陆或是oauth,这是该怎么办呢?

  2. YYC 说:

    http://pan.baidu.com/s/1hq4Ahm8 雨松哥我我对着这个平台的登陆一直报错, 在Java- ADT 里面运行没错,只要Unity 一调用就报NULL 找不到 求解 求解 已经被折磨了一天了

  3. 苦逼脸 说:

    momo大神,为什么我在UnityPlayerActivity里点击登录授权,新浪授权页面弹不出来的

  4. 黄旭烽 说:

    为什么老是在授权的时候出现Auth exception :failed to receive access token 呢,求大神指点~~

  5. 依然fantac 说:

    发送完成貌似木有callback?现有个需求,unity调用android方法需要传入一个Callback接口对象,以便发送完成后回调。 这个该怎么处理,求大神指点~

留下一个回复

你的email不会被公开。