static SingletonHolder() { using (AndroidJavaClass cls_UnityPlayer = SdkdsPurchaseUtils.LoadJavaClass("com.unity3d.player.UnityPlayer")) { instance_context = cls_UnityPlayer.GetStatic <AndroidJavaObject>("currentActivity"); } }
public static void InitPurchaseSDK(string url, string userID, string platformType, string productIdJsonArray, string gameID, string token, string scene = null) { Debug.Log("into InitPurchaseSDK"); Debug.Log("url " + url); Debug.Log("userID " + userID); Debug.Log("platformType " + platformType); Debug.Log("productIdJsonArray " + productIdJsonArray); Debug.Log("gameID " + gameID); Debug.Log("token " + token); Debug.Log("scene " + scene); Debug.Log("base64PublicKey " + base64PublicKey); isUseStaticInit = true; if (Instance == null) { Debug.Log("Initialize SdkdsPurchase"); GameObject gameobject = GameObject.Find("PurchaseUtil"); if (gameobject == null) { gameobject = new GameObject("PurchaseUtil"); } if (gameobject != null) { gameobject.AddComponent <SdkdsPurchaseUtils> (); } } #if (UNITY_EDITOR || DISBLE_PLATFORM) #elif UNITY_ANDROID gpPaySdkUtils_unity = SdkdsPurchaseUtils.LoadJavaClass("com.sdkds.gppay.PaySdk"); // set debug Instance.setDebug(isDebugMode); //game object that can receive unity msg string unity_msg_receiver = "PurchaseUtil"; if (scene == null) { gpPaySdkUtils_unity.CallStatic("SdkdsInitPurchase", SingletonHolder.instance_context, base64PublicKey, url, gameID, userID, platformType, productIdJsonArray, token, unity_msg_receiver); } else { gpPaySdkUtils_unity.CallStatic("SdkdsInitPurchase", SingletonHolder.instance_context, base64PublicKey, url, gameID, userID, platformType, productIdJsonArray, token, scene, unity_msg_receiver); } #elif UNITY_IOS || UNITY_IPHONE SDKDSInitPurchaseUtils(); if (scene == null) { Debug.Log("init Static Purchase scene is null"); SDKDSInitPurchase(url, userID, platformType, productIdJsonArray, gameID, token); } else { Debug.Log("init Static Purchase scene is " + scene); SDKDSInitPurchase(url, userID, platformType, productIdJsonArray, gameID, token, scene); } #else #endif }
void Awake() { if (Instance == null) { Instance = this; Init(); DontDestroyOnLoad(gameObject); } }
public void OnLoginComplete() { if (!isInit) { SdkdsPurchaseUtils.InitPurchaseSDK(URL, ServerMgr.singleton.UserID, PLATFORM_TYPE, AllProductIdJsonArray, ServerMgr.singleton.GameID.ToString(), ServerMgr.singleton.Token); isInit = true; } RefreshProductDatas(); }
static public IEnumerator CheckLogin(string m_deviceId, string m_gameId, string m_productid) { ClientData.m_secenid = System.Guid.NewGuid().ToString().Substring(0, 10); UnityWebRequest webrequest = UnityWebRequest.Get("your login url"); webrequest.SetRequestHeader("device", m_deviceId); #if UNITY_ANDROID || UNITY_PC_DEBUG || UNITY_EDITOR_WIN webrequest.SetRequestHeader("platform", "11"); #elif UNITY_IOS || UNITY_IPHONE webrequest.SetRequestHeader("platform", "8"); #endif webrequest.SetRequestHeader("timestamp", GetTimeStamp()); webrequest.SetRequestHeader("scene", ClientData.m_secenid); webrequest.SetRequestHeader("protocol", "1.0.00"); webrequest.SetRequestHeader("gameid", m_gameId); webrequest.SetRequestHeader("platformkind", "0"); webrequest.timeout = 10; yield return(webrequest.Send()); if (!webrequest.isNetworkError) //if (!webrequest.isError) { if (webrequest.responseCode == 200) { Dictionary <string, object> serverResponse = MiniJSON.Json.Deserialize(webrequest.downloadHandler.text) as Dictionary <string, object>; if (Convert.ToString(serverResponse["status"]) == "ok") { ClientData.m_playerid = Convert.ToString(serverResponse["id"]); ClientData.m_token = Convert.ToString(serverResponse["token"]); #if UNITY_IOS || UNITY_IPHONE SdkdsPurchaseUtils.InitPurchaseSDK("your pay url", ClientData.m_playerid, "0", m_productid, m_gameId, ClientData.m_token, ClientData.m_secenid); #elif UNITY_ANDROID SdkdsPurchaseUtils.InitPurchaseSDK("your pay url", ClientData.m_playerid, "0", m_productid, m_gameId, ClientData.m_token, ClientData.m_secenid); #endif //TODO:登陆成功 } else { //TODO:登录失败 } } } webrequest.Dispose(); }