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

总结

相关推荐
两水先木示13 小时前
【Unity】探索小地图迷雾散开Shader效果(基础版)
unity·游戏引擎
WarrenMondeville20 小时前
AI复刻街头霸王到 Unity
unity·游戏引擎
玖玥拾1 天前
Lua 基础语法(六)xLua Lua 调用 C# 交互
开发语言·unity·c#·lua
xcLeigh2 天前
Unity基础:MonoBehaviour的生命周期——Awake、OnEnable、Start、Update执行顺序
unity·游戏引擎
qq_213157892 天前
其域lcc2丢失部分lod/远处显示空洞的解决方式
unity·lcc2
辻弋2012 天前
自动检测硬件生成驱动清单、实时监控FPS、120秒性能记录——30+项优化模块化开关,所有改动可精确复原
服务器·windows·游戏引擎·电脑·开源软件
点心的游戏开发世界2 天前
GDScript 入门笔记:目录
开发语言·笔记·游戏引擎·godot
XR技术研习社2 天前
关于 PICO 串流测试中报错 IndexOutOfRangeException: renderPassIndex 的两个排障方法
unity·ar·xr·vr
想做后端的前端2 天前
Unity · 性能优化:内存管理完全指南:从托管堆到跨桥开销
unity·性能优化·游戏引擎