Пример #1
0
        public static void Initialize(IStoreAssets storeAssets)
        {
            if (string.IsNullOrEmpty(SoomSettings.CustomSecret) || string.IsNullOrEmpty(SoomSettings.SoomSecret))
            {
                StoreUtils.LogError(TAG, "SOOMLA/UNITY MISSING customSecret or soomSec !!! Stopping here !!");
                throw new ExitGUIException();
            }

            if (SoomSettings.CustomSecret == SoomSettings.ONLY_ONCE_DEFAULT || SoomSettings.SoomSecret == SoomSettings.ONLY_ONCE_DEFAULT)
            {
                StoreUtils.LogError(TAG, "SOOMLA/UNITY You have to change customSecret and soomSec !!! Stopping here !!");
                throw new ExitGUIException();
            }

#if UNITY_ANDROID && !UNITY_EDITOR
            if (string.IsNullOrEmpty(SoomSettings.AndroidPublicKey))
            {
                StoreUtils.LogError(TAG, "SOOMLA/UNITY MISSING publickKey !!! Stopping here !!");
                throw new ExitGUIException();
            }

            if (SoomSettings.AndroidPublicKey == SoomSettings.AND_PUB_KEY_DEFAULT)
            {
                StoreUtils.LogError(TAG, "SOOMLA/UNITY You have to change android publicKey !!! Stopping here !!");
                throw new ExitGUIException();
            }

            AndroidJNI.PushLocalFrame(100);
            using (AndroidJavaClass jniStoreAssets = new AndroidJavaClass("com.soomla.unity.StoreAssets")) {
                jniStoreAssets.CallStatic("setSoomSec", SoomSettings.SoomSecret);
            }
            AndroidJNI.PopLocalFrame(IntPtr.Zero);
#elif UNITY_IOS && !UNITY_EDITOR
            storeController_SetSSV(SoomSettings.IosSSV, "https://verify.soom.la/verify_ios?platform=unity4");
            storeController_SetSoomSec(SoomSettings.SoomSecret);
#endif

            StoreInfo.Initialize(storeAssets);
#if UNITY_ANDROID && !UNITY_EDITOR
            AndroidJNI.PushLocalFrame(100);
            //init EventHandler
            using (AndroidJavaClass jniEventHandler = new AndroidJavaClass("com.soomla.unity.EventHandler")) {
                jniEventHandler.CallStatic("initialize");
            }
            using (AndroidJavaObject jniStoreAssetsInstance = new AndroidJavaObject("com.soomla.unity.StoreAssets")) {
                using (AndroidJavaClass jniStoreControllerClass = new AndroidJavaClass("com.soomla.store.StoreController")) {
                    jniStoreController = jniStoreControllerClass.CallStatic <AndroidJavaObject>("getInstance");
                    jniStoreController.Call <bool>("initialize", jniStoreAssetsInstance, SoomSettings.AndroidPublicKey, SoomSettings.CustomSecret);
                }
            }
            AndroidJNI.PopLocalFrame(IntPtr.Zero);
#elif UNITY_IOS && !UNITY_EDITOR
            storeController_Init(SoomSettings.CustomSecret);
#endif
        }
Пример #2
0
        /// <summary>
        /// Initializes the SOOMLA SDK.
        /// </summary>
        /// <param name="storeAssets">Your game's economy.</param>
        /// <exception cref="ExitGUIException">Thrown if customSecret or soomSec is missing or has not been changed.
        /// </exception>
        protected override void _initialize(IStoreAssets storeAssets)
        {
            if (SoomSettings.GPlayBP &&
                (string.IsNullOrEmpty(SoomSettings.AndroidPublicKey) ||
                 SoomSettings.AndroidPublicKey == SoomSettings.AND_PUB_KEY_DEFAULT))
            {
                Utils.LogError(TAG, "SOOMLA/UNITY You chose Google Play billing service but publicKey is not set!! Stopping here!!");
                throw new ExitGUIException();
            }

            StoreInfo.Initialize(storeAssets);

            AndroidJNI.PushLocalFrame(100);
            //init EventHandler
            using (AndroidJavaClass jniEventHandler = new AndroidJavaClass("com.soomla.unity.EventHandler")) {
                jniEventHandler.CallStatic("initialize");
            }
            using (AndroidJavaObject jniStoreAssetsInstance = new AndroidJavaObject("com.soomla.unity.StoreAssets")) {
                using (AndroidJavaClass jniStoreControllerClass = new AndroidJavaClass("com.soomla.store.StoreController")) {
                    jniStoreController = jniStoreControllerClass.CallStatic <AndroidJavaObject>("getInstance");
                    jniStoreController.Call <bool>("initialize", jniStoreAssetsInstance, SoomSettings.CustomSecret);
                }
            }

            using (AndroidJavaClass jniStoreConfigClass = new AndroidJavaClass("com.soomla.store.StoreConfig")) {
                jniStoreConfigClass.SetStatic("logDebug", SoomSettings.DebugMessages);
            }

            if (SoomSettings.GPlayBP)
            {
                using (AndroidJavaClass jniGooglePlayIabServiceClass = new AndroidJavaClass("com.soomla.store.billing.google.GooglePlayIabService")) {
                    AndroidJavaObject jniGooglePlayIabService = jniGooglePlayIabServiceClass.CallStatic <AndroidJavaObject>("getInstance");
                    jniGooglePlayIabService.Call("setPublicKey", SoomSettings.AndroidPublicKey);

                    jniGooglePlayIabServiceClass.SetStatic("AllowAndroidTestPurchases", SoomSettings.AndroidTestPurchases);
                }
            }
            AndroidJNI.PopLocalFrame(IntPtr.Zero);
        }
Пример #3
0
 /// <summary>
 /// Initializes the SOOMLA SDK.
 /// </summary>
 /// <param name="storeAssets">Your game's economy.</param>
 protected override void _initialize(IStoreAssets storeAssets)
 {
     storeController_SetSSV(SoomSettings.IosSSV, "https://verify.soom.la/verify_ios?platform=unity4");
     StoreInfo.Initialize(storeAssets);
     storeController_Init(SoomSettings.CustomSecret);
 }