您的位置:时时app平台注册网站 > 编程知识 > Unity在Android和iOS中如何调用Native API【时时app平台

Unity在Android和iOS中如何调用Native API【时时app平台

2019-12-06 10:52

此处列举以下四个例子。

出于android和iOS平台加载库的方式各异(android为动态加载,iOS为静态加载),在C#中针对不一致平台对dll 接口的援用证明是不等同的。本例对应的接口评释如下:

首先unity支持在C#中调用C dll,那样能够在Android和iOS中提供C 接口在unity中调用。利用那生机勃勃特色,能够扩充unity的职能。举例集成和调用第三方库。同临时候为了满意对unity接口的大器晚成致性,能够虚拟在android和iOS上提供平等的接口供C#调用。

正文主如果对unity中哪些在Android和iOS中调用Native API进行介绍。

    1. 以弹出多个隐讳部分显示屏的webview为例来评释什么从C#调用Native接口。
    1. 简单的C# -> C -> Java/ObjC -> C#的异步回调完成(会在下生龙活虎期中提交达成)

    Unity在Android和iOS中哪些调用Native API

转载至:

 

 1 public class CallNativeAPI { 
 2      
 3 #if UNITY_EDITOR 
 4     public static void OpenWebView(string url) { 
 5         return; 
 6     } 
 7      
 8     public static void SumNum(int v1, int v2) { 
 9         TestUnityEditor.SumNum(v1, v2); 
10          
11         return; 
12     } 
13 #elif UNITY_IPHONE 
14     [DllImport ("__Internal")] 
15     public static extern void OpenWebView(string url); 
16     [DllImport ("__Internal")] 
17     public static extern void SumNum(int v1, int v2);    
18 #elif UNITY_ANDROID 
19     [DllImport ("libtestunity", CallingConvention = CallingConvention.Cdecl)] 
20     public static extern void OpenWebView(string url); 
21     [DllImport ("libtestunity", CallingConvention = CallingConvention.Cdecl)] 
22     public static extern void SumNum(int v1, int v2); 
23 #endif   
24      
25     public static void SumNumForResult(int v1, int v2, CallbackManager.ResultCallback callback) { 
26          
27         TestCallbackManager.sumNumCallback.SetResultCallBack(new CallbackManager.ResultCallback(callback)); 
28  
29         SumNum(v1, v2); 
30  
31         return; 
32     } 
33 } 
34  
35 namespace CallbackManager 
36 { 
37     public delegate void ResultCallback(int result); 
38      
39     public class SumNumManager{ 
40         public SumNumManager() 
41         { 
42         } 
43          
44         private ResultCallback resultCallback; 
45  
46         public void SetResultCallBack(ResultCallback callback) 
47         { 
48             resultCallback = callback; 
49         } 
50              
51         public void SendResult(int result) 
52         { 
53             resultCallback(result); 
54         } 
55     } 
56 } 
57  
58 public class TestCallbackManager { 
59  
60     public static CallbackManager.SumNumManager sumNumCallback = new CallbackManager.SumNumManager(); 
61      
62 }

本文由时时app平台注册网站发布于编程知识,转载请注明出处:Unity在Android和iOS中如何调用Native API【时时app平台

关键词: