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 接收数据

总结

相关推荐
Wanda12141 天前
机器人与机电一体化3D数字孪生机器-Day5
人工智能·unity·游戏引擎·数字孪生
Wanda12141 天前
机器人与机电一体化3D数字孪生机器-Day4
3d·unity·机器人·数字孪生
年少无知且疯狂2 天前
【Unity】Shader spine动画冻结效果
unity·spine
淡海水2 天前
05-02-源码-Boehm GC标记阶段
算法·unity·c#·游戏引擎·gc
淡海水2 天前
05-03-源码-Boehm GC分配与碎片管理
开发语言·算法·unity·c#·游戏引擎·gc
WarPigs4 天前
Unity无法修改Assembly-CSharp.csproj错误
unity
FairGuard手游加固4 天前
手游加固怎么做?SO、IL2CPP、AssetBundle 与运行时保护详解
安全·游戏·unity
阿松爱学习6 天前
【Unity开发】监听Scene场景事件
unity·c#
xiaogai_gai6 天前
BOM 物料清单同步实战:金蝶云星空 → 四化智造 MES 修改场景深度拆解
unity·游戏引擎
淡海水6 天前
03-03-架构篇-SGen GC架构解析
unity·架构·c#·gc·sgen