예제 #1
0
        private void StartOnUI()
        {
            using (var zapicClass = new AndroidJavaClass("com.zapic.sdk.android.Zapic"))
            {
                using (var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
                    using (var gameActivityObject = unityPlayerClass.GetStatic <AndroidJavaObject>("currentActivity"))
                    {
                        var methodId = AndroidJNI.GetStaticMethodID(
                            zapicClass.GetRawClass(),
                            "attachFragment",
                            "(Landroid/app/Activity;)V");
                        var objectArray = new object[1];
                        var argArray    = AndroidJNIHelper.CreateJNIArgArray(objectArray);
                        try
                        {
                            argArray[0].l = gameActivityObject.GetRawObject();
                            AndroidJNI.CallStaticVoidMethod(zapicClass.GetRawClass(), methodId, argArray);
                        }
                        finally
                        {
                            AndroidJNIHelper.DeleteJNIArgArray(objectArray, argArray);
                        }
                    }

                if (_authenticationHandler == null)
                {
                    _authenticationHandler = new ZapicPlayerAuthenticationHandler(this);
                    var methodId = AndroidJNI.GetStaticMethodID(
                        zapicClass.GetRawClass(),
                        "setPlayerAuthenticationHandler",
                        "(Lcom/zapic/sdk/android/ZapicPlayerAuthenticationHandler;)V");
                    var objectArray = new object[1];
                    var argArray    = AndroidJNIHelper.CreateJNIArgArray(objectArray);
                    try
                    {
                        argArray[0].l = AndroidJNIHelper.CreateJavaProxy(_authenticationHandler);
                        AndroidJNI.CallStaticVoidMethod(zapicClass.GetRawClass(), methodId, argArray);
                    }
                    finally
                    {
                        AndroidJNIHelper.DeleteJNIArgArray(objectArray, argArray);
                    }
                }
            }
        }
예제 #2
0
 internal ZapicAndroidInterface()
 {
     _authenticationHandler = null;
 }