From 2419cfb216541634a7c61bf9e9b27470889ec8a5 Mon Sep 17 00:00:00 2001 From: LYP <986263666@qq.com> Date: Fri, 9 Aug 2024 11:24:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E5=88=97=E8=A1=A8=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sdk-intergration/Assets/Scripts/SDKTest.cs | 12 ++++- .../Packages/tysdk/Runtime/TYSdkFacade_Pay.cs | 47 +++++++++++-------- .../Packages/tysdk/Runtime/TYSdkModel.cs | 21 +++++---- .../ProjectSettings/GvhProjectSettings.xml | 2 + 4 files changed, 51 insertions(+), 31 deletions(-) diff --git a/sdk-intergration/Assets/Scripts/SDKTest.cs b/sdk-intergration/Assets/Scripts/SDKTest.cs index 06d824e..1300512 100644 --- a/sdk-intergration/Assets/Scripts/SDKTest.cs +++ b/sdk-intergration/Assets/Scripts/SDKTest.cs @@ -95,8 +95,16 @@ public class SDKTest : MonoBehaviour public async void OnPayListBtn() { - Debug.LogError("PayList ask"); - var result = await TYSdkFacade.Instance.ThirdExtend(); + ProductListInfo result = await TYSdkFacade.Instance.ThirdExtend(); + if (result.code == 0) + { + Debug.LogError("products count:::" + result.products.Count); + } + else + { + Debug.LogError("get products fail ,code:" + result.code); + } + } public void OnGaBtn() diff --git a/sdk-intergration/Packages/tysdk/Runtime/TYSdkFacade_Pay.cs b/sdk-intergration/Packages/tysdk/Runtime/TYSdkFacade_Pay.cs index e4bb1e4..e1dc8d8 100644 --- a/sdk-intergration/Packages/tysdk/Runtime/TYSdkFacade_Pay.cs +++ b/sdk-intergration/Packages/tysdk/Runtime/TYSdkFacade_Pay.cs @@ -6,7 +6,7 @@ using UnityEngine; namespace tysdk { public partial class TYSdkFacade : MonoBehaviour - { + { /*================================================ ____ _ @@ -16,13 +16,13 @@ namespace tysdk |_| \__,_|\__, |_| |_| |_|\___|_| |_|\__| |___/ =================================================*/ - - public async Task Pay(string prodId, string prodPrice, string prodName, int count,string pType) + + public async Task Pay(string prodId, string prodPrice, string prodName, int count, string pType) { if (!IsLoggedIn) return new PaymentInfo() { code = "-1", msg = "未登录" }; - + var orderId = System.Guid.NewGuid().ToString(); - var extraDic = new Dictionary() { + var extraDic = new Dictionary() { {"paytime" , System.DateTime.UtcNow.Ticks}, {"sum" , float.Parse(prodPrice) * count}, }; @@ -31,7 +31,7 @@ namespace tysdk extraInfo = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(extraInfo)); #if UNITY_EDITOR - + await Task.Yield(); var result = new PaymentInfo() { @@ -91,42 +91,45 @@ namespace tysdk callbacks.Remove("PayResult"); } } - + // Get Pay list public async Task ThirdExtend() { - if (!IsLoggedIn) return new ProductListInfo() { code = "-1", msg = "未登录" }; + if (!IsLoggedIn) return new ProductListInfo() { code = -1, msg = "未登录" }; -#if UNITY_EDITOR || UNITY_IOS +#if UNITY_EDITOR await Task.Yield(); - + var result = new ProductListInfo(); return result; #elif UNITY_ANDROID - - var taskSource = new TaskCompletionSource(); + var taskSource = new TaskCompletionSource(); callbacks.Add("PayTypeResult", (ITYSdkCallback callback) => { - Debug.LogError("(ProductListInfo)callback.msg:::" + ((ProductListInfo) callback).msg); - var productInfos = Newtonsoft.Json.JsonConvert.DeserializeObject(((ProductListInfo)callback).msg); - Debug.LogError("productInfos:::" + productInfos); taskSource.SetResult((ProductListInfo) callback); }); UnityBridgeFunc.ThirdExtend(); var result = await taskSource.Task; return result; - +#elif UNITY_IOS + var result = new ProductListInfo(); + return result; #endif } //商品列表的回调 public void PayTypeResult(string json) { - Debug.Log("[thirdExtend] pay callback:"); - var jresult = JObject.Parse(json); var result = new ProductListInfo(); - result.code = jresult["code"].ToString(); - result.msg = jresult["thirdExtend_errStr"].ToString(); + var jresult = JObject.Parse(json); + int code = int.Parse(jresult["code"].ToString()); + if (code == 0) + { + string productStr = jresult["respObj"].ToString(); + result.code = code; + var jsonObjList = Newtonsoft.Json.JsonConvert.DeserializeObject>(productStr); + result.products = jsonObjList; + } if (callbacks.TryGetValue("PayTypeResult", out var action)) { @@ -136,3 +139,7 @@ namespace tysdk } } } + + + + diff --git a/sdk-intergration/Packages/tysdk/Runtime/TYSdkModel.cs b/sdk-intergration/Packages/tysdk/Runtime/TYSdkModel.cs index 0f62f64..f16fec0 100644 --- a/sdk-intergration/Packages/tysdk/Runtime/TYSdkModel.cs +++ b/sdk-intergration/Packages/tysdk/Runtime/TYSdkModel.cs @@ -1,4 +1,6 @@  +using System.Collections.Generic; + namespace tysdk { public enum EAccoutType @@ -45,20 +47,21 @@ namespace tysdk public class ProductListInfo: ITYSdkCallback { - public string code; - public string msg; + public int code = 1; + public string msg = string.Empty; + public List products; } - public class SKUDetail: ITYSdkCallback + public class SKUDetail { - public string code; - public string msg; - public string name; public string description; - public string price; - public string productId; public string ourProductId; - public string currency_code; + public string price; + public string price_amount_micros; + public string price_currency_code; + public string productId; + public string title; + public string type; } public class ATTInfo : ITYSdkCallback diff --git a/sdk-intergration/ProjectSettings/GvhProjectSettings.xml b/sdk-intergration/ProjectSettings/GvhProjectSettings.xml index 47fce63..42602f6 100644 --- a/sdk-intergration/ProjectSettings/GvhProjectSettings.xml +++ b/sdk-intergration/ProjectSettings/GvhProjectSettings.xml @@ -3,4 +3,6 @@ + + \ No newline at end of file