update:更新接口的修改
This commit is contained in:
@@ -36,7 +36,7 @@ namespace tysdk
|
||||
string extraInfo = purchaseInfo.ToString(Newtonsoft.Json.Formatting.None);
|
||||
//to base64
|
||||
extraInfo = Convert.ToBase64String(Encoding.UTF8.GetBytes(extraInfo));
|
||||
Debug.Log("[TYSdk] extraInfo: " + extraInfo);
|
||||
// Debug.Log("[TYSdk] extraInfo: " + extraInfo);
|
||||
var prodId = prod.ProdID;
|
||||
var prodPrice = usdprice.ToString();
|
||||
var prodName = prod.title;
|
||||
@@ -68,7 +68,6 @@ namespace tysdk
|
||||
result.orderId = orderId;
|
||||
result.productId = prodId;
|
||||
result.price = prodPrice;
|
||||
result.Check(orderId, prodId);
|
||||
return result;
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -109,7 +108,7 @@ namespace tysdk
|
||||
//支付的回调
|
||||
public void PayResult(string json)
|
||||
{
|
||||
Debug.Log("[TYSdkFacade] pay callback:" + json);
|
||||
// Debug.Log("[TYSdkFacade] pay callback:" + json);
|
||||
var jresult = JObject.Parse(json);
|
||||
var result = new PaymentInfo();
|
||||
result.code = jresult["code"].ToString();
|
||||
@@ -204,20 +203,71 @@ namespace tysdk
|
||||
//商品列表的回调
|
||||
public void SKUListResult(string json)
|
||||
{
|
||||
Debug.Log("[TYSdkFacade] GetSKUList callback");
|
||||
var jresult = JObject.Parse(json);
|
||||
int code = int.Parse(jresult["code"].ToString());
|
||||
// Debug.Log("[TYSdkFacade] GetSKUList callback");
|
||||
var result = new ProductListInfo();
|
||||
if (code == 0)
|
||||
try
|
||||
{
|
||||
string productStr = jresult["respObj"].ToString();
|
||||
var jresult = JObject.Parse(json);
|
||||
int code = jresult["code"]?.Value<int>() ?? 1;
|
||||
result.code = code;
|
||||
if (code == 0)
|
||||
{
|
||||
string productStr = jresult["respObj"]?.ToString();
|
||||
#if UNITY_ANDROID && !UNITY_EDITOR
|
||||
var jsonObjList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SKUDetail>>(productStr);
|
||||
result.products = jsonObjList;
|
||||
var jsonObjList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SKUDetail>>(productStr);
|
||||
result.products = jsonObjList;
|
||||
#elif UNITY_IOS && !UNITY_EDITOR
|
||||
result.ReadSKUFromJson(productStr);
|
||||
result.ReadSKUFromJson(productStr);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Debug.LogWarning($"[TYSdkFacade] SKUListResult parse failed: {e.Message}");
|
||||
result.code = 1;
|
||||
result.msg = e.Message;
|
||||
}
|
||||
|
||||
TYSDKCallbackManager.Instance.TryTriggerCallback(result);
|
||||
}
|
||||
|
||||
public async Task<PendingPurchaseListInfo> QueryPendingPurchases()
|
||||
{
|
||||
#if UNITY_ANDROID && !UNITY_EDITOR
|
||||
var task = TYSDKCallbackManager.Instance.RegisterCallback<PendingPurchaseListInfo>(TimeSpan.FromSeconds(30));
|
||||
UnityBridgeFunc.QueryPendingPurchases();
|
||||
try
|
||||
{
|
||||
return await task;
|
||||
}
|
||||
catch (TaskCanceledException e)
|
||||
{
|
||||
Debug.LogWarning($"[TYSdkFacade] QueryPendingPurchases timeout: {e.Message}");
|
||||
return new PendingPurchaseListInfo { code = 1, msg = "pending_purchase_callback_timeout" };
|
||||
}
|
||||
#else
|
||||
await Task.Yield();
|
||||
return new PendingPurchaseListInfo { code = 0, purchasesJson = "[]" };
|
||||
#endif
|
||||
}
|
||||
|
||||
public void PendingPurchasesResult(string json)
|
||||
{
|
||||
Debug.Log($"[TYSdkFacade] PendingPurchasesResult: {json}");
|
||||
var result = new PendingPurchaseListInfo();
|
||||
try
|
||||
{
|
||||
var jresult = JObject.Parse(json);
|
||||
result.code = jresult["code"]?.Value<int>() ?? 1;
|
||||
result.msg = jresult["errStr"]?.ToString() ?? string.Empty;
|
||||
result.purchasesJson = jresult["respObj"]?.ToString() ?? "[]";
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Debug.LogWarning($"[TYSdkFacade] PendingPurchasesResult parse failed: {e.Message}");
|
||||
result.code = 1;
|
||||
result.msg = e.Message;
|
||||
result.purchasesJson = "[]";
|
||||
}
|
||||
|
||||
TYSDKCallbackManager.Instance.TryTriggerCallback(result);
|
||||
|
||||
Reference in New Issue
Block a user