Beispiel #1
0
 static SingletonHolder()
 {
     using (AndroidJavaClass cls_UnityPlayer = SdkdsPurchaseUtils.LoadJavaClass("com.unity3d.player.UnityPlayer"))
     {
         instance_context = cls_UnityPlayer.GetStatic <AndroidJavaObject>("currentActivity");
     }
 }
Beispiel #2
0
    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
    }
Beispiel #3
0
 void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
         Init();
         DontDestroyOnLoad(gameObject);
     }
 }
Beispiel #4
0
 public void OnLoginComplete()
 {
     if (!isInit)
     {
         SdkdsPurchaseUtils.InitPurchaseSDK(URL, ServerMgr.singleton.UserID, PLATFORM_TYPE, AllProductIdJsonArray, ServerMgr.singleton.GameID.ToString(), ServerMgr.singleton.Token);
         isInit = true;
     }
     RefreshProductDatas();
 }
Beispiel #5
0
    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();
    }