unity端
Unity调用Android或者IOS
Unity调用Android 或者IOS 我这里是做回调使用的,当Android或者Ios调用Unity,Unity成功或者失败会回调消息返回Android和Ios
public static void CallBack(
bool success = false,
long requestId = -1,
[NotNull] string msg = "",
[NotNull] string data = "")
{
Log_M("UnityTag: 回调接口進來啦,ID:"+requestId);
#if UNITY_ANDROID
var androidReceiver = new AndroidJavaClass("com.xiaoma.gp.business.unity.AndroidReceiver");
androidReceiver.CallStatic("unityCallback", success, requestId, msg, data);
#endif
#if UNITY_IOS
Log_M("UNITY_IOS");
unityCallback(success, requestId, msg, data);
#endif
}
#if UNITY_IOS
//引入声明
[DllImport("__Internal")]
static extern void unityCallback (bool success,long requestId,string str1, string str2);
#endif
}
Android调用Unity
receiveObj 脚本挂载的对象名字
UnityMethod 调用的方法名字
This is args 参数名字(只能带一个参数,所以可以用Json)
Json结构:
[Serializable]
public class Communication
{
public long id;
public string data;
public Communication(long id, string data)
{
this.id = id;
this.data = data;
}
}
获取Json实例:
JsonUtility.FromJson<Communication>(dataJson);
调用Unity
Public void AndroidCallUnity(){
UnityPlayer.UnitySendMessage("receiveObj","UnityMethod","This is args");
}