Android:
C#:
AndroidJaveClass plugin = new AndroidJavaClass("com.tXXXXXXXXXEntity");
plugin.CallStatic("trackEvent", category, action, label, score);
JAVA:
public static void trackEvent(
final String category,
final String action,
final string label,
final int score)
{
XXXXXXX;
}
IOS:
C#:
[DllImprot("__Internal")]
private static extern void _GoogleAnalyicsTrackEvent(
string category,
string action,
string label,
int score);
Objective-c:
extern "C" void _GoogleAnalyicsTrackEvent(
const char * category,
const char * action,
const char * label,
int score)
{
NSError *error;
if(![]).........
}
直接调用Dll:
[DllImport("sqlite3.dll", entryPoint = "sqlite_open")]
internal static extern int sqlite3_open(string filename, out IntPtr db);
=====================================================================================
using (AndroidJavaClass clas = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
using (AndroidJavaObject obj = clas.GetStatic<AndroidJavaObject>("currentActivity"))
{
if (param == null)
obj.Call(methodName);
else
obj.Call(methodName, param);
}
}
//AndroidJavaClass继承AndroidJavaObject
//AndroidJavaObject
//using(){ }使用完后自动销毁
AndroidJavaClass androidJavaClass = new AndroidJavaClass("ClassName");
androidJavaClass.Call("methodName", 1);
androidJavaClass.CallStatic<int>("methodName", 1);
androidJavaClass.Get<int>("bianLiang");
androidJavaClass.GetStatic<int>("bianLiang");
androidJavaClass.Set<int>("bool", 1);
androidJavaClass.SetStatic<int>("bool", 2);
//call 4种静态,非静态,有返回,没返回
//char char* string byte const final bool