商品列表处理
This commit is contained in:
@@ -95,8 +95,16 @@ public class SDKTest : MonoBehaviour
|
|||||||
|
|
||||||
public async void OnPayListBtn()
|
public async void OnPayListBtn()
|
||||||
{
|
{
|
||||||
Debug.LogError("PayList ask");
|
ProductListInfo result = await TYSdkFacade.Instance.ThirdExtend();
|
||||||
var 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()
|
public void OnGaBtn()
|
||||||
|
|||||||
@@ -95,38 +95,41 @@ namespace tysdk
|
|||||||
// Get Pay list
|
// Get Pay list
|
||||||
public async Task<ProductListInfo> ThirdExtend()
|
public async Task<ProductListInfo> 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();
|
await Task.Yield();
|
||||||
|
|
||||||
var result = new ProductListInfo();
|
var result = new ProductListInfo();
|
||||||
return result;
|
return result;
|
||||||
#elif UNITY_ANDROID
|
#elif UNITY_ANDROID
|
||||||
|
|
||||||
var taskSource = new TaskCompletionSource<ProductListInfo>();
|
var taskSource = new TaskCompletionSource<ProductListInfo>();
|
||||||
callbacks.Add("PayTypeResult", (ITYSdkCallback callback) =>
|
callbacks.Add("PayTypeResult", (ITYSdkCallback callback) =>
|
||||||
{
|
{
|
||||||
Debug.LogError("(ProductListInfo)callback.msg:::" + ((ProductListInfo) callback).msg);
|
|
||||||
var productInfos = Newtonsoft.Json.JsonConvert.DeserializeObject<SKUDetail>(((ProductListInfo)callback).msg);
|
|
||||||
Debug.LogError("productInfos:::" + productInfos);
|
|
||||||
taskSource.SetResult((ProductListInfo) callback);
|
taskSource.SetResult((ProductListInfo) callback);
|
||||||
});
|
});
|
||||||
UnityBridgeFunc.ThirdExtend();
|
UnityBridgeFunc.ThirdExtend();
|
||||||
var result = await taskSource.Task;
|
var result = await taskSource.Task;
|
||||||
return result;
|
return result;
|
||||||
|
#elif UNITY_IOS
|
||||||
|
var result = new ProductListInfo();
|
||||||
|
return result;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
//商品列表的回调
|
//商品列表的回调
|
||||||
public void PayTypeResult(string json)
|
public void PayTypeResult(string json)
|
||||||
{
|
{
|
||||||
Debug.Log("[thirdExtend] pay callback:");
|
|
||||||
var jresult = JObject.Parse(json);
|
|
||||||
var result = new ProductListInfo();
|
var result = new ProductListInfo();
|
||||||
result.code = jresult["code"].ToString();
|
var jresult = JObject.Parse(json);
|
||||||
result.msg = jresult["thirdExtend_errStr"].ToString();
|
int code = int.Parse(jresult["code"].ToString());
|
||||||
|
if (code == 0)
|
||||||
|
{
|
||||||
|
string productStr = jresult["respObj"].ToString();
|
||||||
|
result.code = code;
|
||||||
|
var jsonObjList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SKUDetail>>(productStr);
|
||||||
|
result.products = jsonObjList;
|
||||||
|
}
|
||||||
|
|
||||||
if (callbacks.TryGetValue("PayTypeResult", out var action))
|
if (callbacks.TryGetValue("PayTypeResult", out var action))
|
||||||
{
|
{
|
||||||
@@ -136,3 +139,7 @@ namespace tysdk
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
|
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace tysdk
|
namespace tysdk
|
||||||
{
|
{
|
||||||
public enum EAccoutType
|
public enum EAccoutType
|
||||||
@@ -45,20 +47,21 @@ namespace tysdk
|
|||||||
|
|
||||||
public class ProductListInfo: ITYSdkCallback
|
public class ProductListInfo: ITYSdkCallback
|
||||||
{
|
{
|
||||||
public string code;
|
public int code = 1;
|
||||||
public string msg;
|
public string msg = string.Empty;
|
||||||
|
public List<SKUDetail> products;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SKUDetail: ITYSdkCallback
|
public class SKUDetail
|
||||||
{
|
{
|
||||||
public string code;
|
|
||||||
public string msg;
|
|
||||||
public string name;
|
|
||||||
public string description;
|
public string description;
|
||||||
public string price;
|
|
||||||
public string productId;
|
|
||||||
public string ourProductId;
|
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
|
public class ATTInfo : ITYSdkCallback
|
||||||
|
|||||||
@@ -3,4 +3,6 @@
|
|||||||
<projectSetting name="Google.IOSResolver.VerboseLoggingEnabled" value="False" />
|
<projectSetting name="Google.IOSResolver.VerboseLoggingEnabled" value="False" />
|
||||||
<projectSetting name="Google.PackageManagerResolver.VerboseLoggingEnabled" value="False" />
|
<projectSetting name="Google.PackageManagerResolver.VerboseLoggingEnabled" value="False" />
|
||||||
<projectSetting name="Google.VersionHandler.VerboseLoggingEnabled" value="False" />
|
<projectSetting name="Google.VersionHandler.VerboseLoggingEnabled" value="False" />
|
||||||
|
<projectSetting name="GooglePlayServices.PromptBeforeAutoResolution" value="False" />
|
||||||
|
<projectSetting name="GooglePlayServices.UseJetifier" value="True" />
|
||||||
</projectSettings>
|
</projectSettings>
|
||||||
Reference in New Issue
Block a user