Unity与AS通信

文章目录


前言

最近整理项目,看见代理通信中内容,决定整理出来


一、AndroidJavaProxy

AndroidJavaProxy 是 Unity 引擎提供的一个核心类,主要用于实现 Unity(C#)与 Android(Java)之间的双向通信。它充当了一个"桥接"或"代理"的角色,允许 Java 端的代码能够调用 C# 端实现的方法

二、使用步骤

1.unity

代码如下(示例):

c 复制代码
public class IASCallUnity:AndroidJavaProxy
{
  public IASCallUnity() : base("AS中IASCallUnity包名")
    { }
  public void OnMethodString(string cmd, string info)
    {
    Debug.Log("Unity:" + cmd + "->" + info);
}
}

2.Android studio

IASCallUnity代码如下(示例):

c 复制代码
package com.xx.xx.xxx
public interface IASCallUnity {
    void OnMethodString(String cmd,String info);
}

ASCallUnityProxy代码如下(示例):

c 复制代码
package com.xx.xx.xxx
public class ASCallUnityProxy 
{
private static IASCallUnity asCallUnity;
   public void SetUnityCallMeothr(IASCallUnity iasCallUnity)
    {
        Log.v(TAG,"IASCallUnity is Ok!!");
        asCallUnity=iasCallUnity;
    }
  public static void OnMethodString(String cmd,String info)
    {
        if(info.length()>100)
        {
            Log.v(TAG,"MethodString "+cmd+":info.length:"+info.length());
        }
        else
           Log.v(TAG,"MethodString "+cmd+info);
        if(asCallUnity==null)
            return;
        asCallUnity.OnMethodString(cmd,info);
    }
}

3.unity 调用

代码如下(示例):

csharp 复制代码
void Initi()
    {
        if (Application.platform == RuntimePlatform.Android)
        {
            //接收AS信息
            mAndroidJavaObject = new AndroidJavaObject("ASCallUnityProxy.js 包名");
            mAndroidJavaObject.Call("SetUnityCallMeothr", new IASCallUnity());

    }

4.逻辑


unity 脚本call AS 中ASCallUnityProxy.js ,SDK 中调用OnMethodString 发送数据,unity 中IASCallUnity.cs 接收数据

总结

相关推荐
babywang014 小时前
Unity笔记--AssetBundle详解
unity·游戏引擎
魔士于安15 小时前
经典Game
游戏·游戏引擎·贴图·技术美术·模型
淡海水15 小时前
01-04-认知篇-Unity内存全景
unity·c#·游戏引擎·.net·gc
598866753@qq.com1 天前
Codex与Unity
unity·游戏引擎
淡海水1 天前
01-03-认知篇-C#内存模型深度解析
unity·c#·游戏引擎·.net·gc
警醒与鞭策1 天前
Direct3D 12 中的内存管理
3d·游戏引擎·direct3d
淡海水2 天前
16-02-C#常用数据结构源码-附录B-源码索引速查
unity·c#·游戏引擎·il2cpp
速易达网络2 天前
无人机远程操控仿真
游戏引擎·cocos2d
郝学胜-神的一滴2 天前
游戏引擎原理与实践 02:揭开3A游戏背后的技术面纱
开发语言·计算机网络·程序人生·游戏·游戏引擎
警醒与鞭策2 天前
【无标题】
android·unity·性能优化·游戏引擎·perforce