Unity如何接入安卓SDK。调用安卓方法
在我们在接入sdk时。我们需要在Unity中把我们的游戏工程导出成安卓工程。然后在我们的安卓工程中写代码实现SDK的接入。并且与游戏分离。
同时。如果我们要做一些调用系统方法的。我们必须要在安卓中写。比如创建快捷方式。webview。通知栏推送等。
所以。我们需要在Unity中调用我们安卓中写的接口。调用的在Unity中用C#写。而具体的在安卓中用java写。
两个方法:
方法一
首先。我们先在我们Unity工程中。写一个脚本。如下。我写了SDKSendManager 这个sdk管理脚本。并且定义了安卓的相关调用。如下。(注:在实际中。需要嵌入预编译判断平台。在ios平台以下jojc是执行不了的)
public static AndroidJavaClass jc; public static AndroidJavaObject jo; public static SDKSendManager GetInstance() { if(mInstance == null) { mInstance = new HRSDKSendManager(); jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); jo = jc.GetStatic<AndroidJavaObject>("currentActivity"); } return mInstance; }
然后我们再在该脚本中写一个方法。去调用我们安卓里的实际打开webview的函数。如下
public static void OpenWebView() { #if UNITY_EDITOR Debug.Log("123456"); #elif AND_ALL jo.Call("OpenWebView", 300,300,"http://www.baidu.com"); #endif }
然后就能调用到我们安卓里的函数了。.Call第一个参为调用的函数名。后面的是参数。如果没参则为空。类型需匹配。
如上。就能调用到我们安卓中了。接入SDK也和这一样。
AND_ALL为自定义预编译。如需要系统自带的可以参看本文最下的跳转连接查看。
方法二
采用插件形式。和如上差不多。我们只需要新建一个安卓工程。然后将接口写好。最后生成jar放入我们的unity 中的 Plugins\Android 文件夹即可。要预先设置 xml配置文件什么的也可以在这里设置。如下
建立一个空工程。然后将打包好的jar接口。引用。然后将空工程放入untiy中。其他的什么的和方法一类似。就不多赘述了。也挺简单的。
两个方法。自己感觉哪个方便就用哪个。都差不多了。
最后。示例工程。方法一:
web在安卓设备上或模拟器上才能打开。
调用的为webview;
示例工程下载地址: 链接:http://pan.baidu.com/s/1bnct9W7 密码:5hal (工程为unity 4.6环境) EL文件夹里为生成好的安卓工程可以自行参考。
预编译:http://www.bobsong.net/321.html
安卓webview:http://www.bobsong.net/82.html
unity安卓视图获取不到焦点事件:http://www.bobsong.net/614.html