diff --git a/sdk-intergration/Assets/Plugins/Android/AndroidManifest.xml b/sdk-intergration/Assets/Plugins/Android/AndroidManifest.xml
index 0c8cbb2..5920731 100644
--- a/sdk-intergration/Assets/Plugins/Android/AndroidManifest.xml
+++ b/sdk-intergration/Assets/Plugins/Android/AndroidManifest.xml
@@ -6,7 +6,9 @@
-
+
diff --git a/sdk-intergration/Assets/Plugins/Android/mainTemplate.gradle b/sdk-intergration/Assets/Plugins/Android/mainTemplate.gradle
index 11307ba..1544966 100644
--- a/sdk-intergration/Assets/Plugins/Android/mainTemplate.gradle
+++ b/sdk-intergration/Assets/Plugins/Android/mainTemplate.gradle
@@ -60,6 +60,8 @@ dependencies {
implementation "com.google.android.libraries.identity.googleid:googleid:1.1.1"
+ implementation(platform("ru.rustore.sdk:bom:2025.11.01"))
+ implementation("ru.rustore.sdk:pay")
implementation "ru.rustore.sdk:review:10.0.0"
implementation "com.vk.id:vkid:2.5.1"
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:2.1.2"
diff --git a/sdk-intergration/Assets/Scripts/SDKTest.cs b/sdk-intergration/Assets/Scripts/SDKTest.cs
index 4cf38f2..fdaf2e8 100644
--- a/sdk-intergration/Assets/Scripts/SDKTest.cs
+++ b/sdk-intergration/Assets/Scripts/SDKTest.cs
@@ -209,6 +209,7 @@ public class SDKTest : MonoBehaviour
_messageTxt.text = "products count:::" + result.products.Count;
_messageTxt.text += "\n" + result.products[0].ToString();
sku = result.products[0];
+ Debug.Log($"sku = {sku}");
}
else
{
diff --git a/sdk-intergration/Packages/tysdk/Plugins/Android/tuyoosdk_1.0.0.aar b/sdk-intergration/Packages/tysdk/Plugins/Android/tuyoosdk_1.0.0.aar
index 46a406b..0e7f7c9 100644
Binary files a/sdk-intergration/Packages/tysdk/Plugins/Android/tuyoosdk_1.0.0.aar and b/sdk-intergration/Packages/tysdk/Plugins/Android/tuyoosdk_1.0.0.aar differ
diff --git a/sdk-intergration/Packages/tysdk/Runtime/TYSdkFacade_Pay.cs b/sdk-intergration/Packages/tysdk/Runtime/TYSdkFacade_Pay.cs
index 7197f91..933aeac 100644
--- a/sdk-intergration/Packages/tysdk/Runtime/TYSdkFacade_Pay.cs
+++ b/sdk-intergration/Packages/tysdk/Runtime/TYSdkFacade_Pay.cs
@@ -52,10 +52,16 @@ namespace tysdk
};
+
+
+
return result;
#elif UNITY_ANDROID
- var pType = "googleiab.global.app";
+ // var pType = "googleiab.global.app";
+ var pType = tysdk.AccountInfo.googlePayType;
+ if (_accountInfo.channel == EAccoutType.hwVkid)
+ pType = tysdk.AccountInfo.hwPayType;
var task = TYSDKCallbackManager.Instance.RegisterCallback(TimeSpan.FromMinutes(1));
@@ -130,7 +136,7 @@ namespace tysdk
//商品列表的回调
public void SKUListResult(string json)
{
- Debug.Log("[TYSdkFacade] GetSKUList callback");
+ Debug.Log($"[TYSdkFacade] GetSKUList callback -> accountChannel: {_accountInfo.channel}");
var jresult = JObject.Parse(json);
int code = int.Parse(jresult["code"].ToString());
var result = new ProductListInfo();
@@ -139,8 +145,19 @@ namespace tysdk
string productStr = jresult["respObj"].ToString();
result.code = code;
#if UNITY_ANDROID && !UNITY_EDITOR
- var jsonObjList = Newtonsoft.Json.JsonConvert.DeserializeObject>(productStr);
- result.products = jsonObjList;
+ // var jsonObjList = Newtonsoft.Json.JsonConvert.DeserializeObject>(productStr);
+ // result.products = jsonObjList;
+ var accountChannel = _accountInfo.channel;
+ if (accountChannel == EAccoutType.hwVkid)
+ {
+ result.ReadSkuFromData(productStr, accountChannel);
+ }
+ else
+ {
+ // var jsonObjList = Newtonsoft.Json.JsonConvert.DeserializeObject>(productStr);
+ // result.products = jsonObjList;
+ result.BaseReadSkuFromData(productStr);
+ }
#elif UNITY_IOS && !UNITY_EDITOR
result.ReadSKUFromJson(productStr);
#endif
diff --git a/sdk-intergration/Packages/tysdk/Runtime/TYSdkModel.cs b/sdk-intergration/Packages/tysdk/Runtime/TYSdkModel.cs
index 6ad6408..e2d3f01 100644
--- a/sdk-intergration/Packages/tysdk/Runtime/TYSdkModel.cs
+++ b/sdk-intergration/Packages/tysdk/Runtime/TYSdkModel.cs
@@ -1,6 +1,8 @@
using System.Collections.Generic;
using System.Linq;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
namespace tysdk
{
@@ -16,6 +18,8 @@ namespace tysdk
public static class AccountInfo
{
public static string hwVkid = "vk.global.app";
+ public static string hwPayType = "rustore.global.app";
+ public static string googlePayType = "googleiab.global.app";
}
@@ -96,6 +100,18 @@ namespace tysdk
}
#endif
+ public List BaseReadSkuFromData(string productData)
+ {
+ var jsonObjList = JsonConvert.DeserializeObject>(productData);
+ products = jsonObjList;
+ return jsonObjList;
+ }
+ public List ReadSkuFromData(string productData, EAccoutType accountChannel)
+ {
+ var jsonObjList = JsonConvert.DeserializeObject>(productData);
+ products = jsonObjList;
+ return jsonObjList;
+ }
}
#if UNITY_IOS
@@ -125,7 +141,9 @@ namespace tysdk
public string description;
public string ourProductId;
public string price;
- public string price_amount_micros;
+
+ [JsonProperty("price_amount_micros")]
+ public string price_amount_micros { get; set; }
public string price_currency_code;
public string productId;
public string title;
@@ -137,7 +155,16 @@ namespace tysdk
}
public string ProdPriceStr => price;
- public float ProdPrice => float.Parse(price_amount_micros) / 1000000;
+ //public float ProdPrice => float.Parse(price_amount_micros) / 1000000;
+ public float ProdPrice
+ {
+ get
+ {
+ if (string.IsNullOrWhiteSpace(price_amount_micros) || !long.TryParse(price_amount_micros, out var micros))
+ return 0f;
+ return micros / 1_000_000f;
+ }
+ }
public string ProdID => ourProductId;
public string ProdKey => productId;
}