feat: merge rustore test UI and unify SKU format across channels

- Merge VK login/link/check and Review test buttons from dev_rustore
- Unify Rustore/GooglePlay SKU format via ChannelHelpers.normalizeSkuList()
- Fix ChannelConfig runtime sync: Java InitSDK sets channel from ChannelHelpers.CHANNEL
- Fix AndroidMinSdkVersion 25→26 for tuyoosdk compatibility
- Fix Flexion AndroidManifest tools:replace missing fullBackupContent value
- Add [CHANNEL-VERIFY] debug logs for channel verification

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-04-30 15:38:21 +08:00
parent 66aa7a931b
commit d361d9078b
21 changed files with 1124 additions and 43 deletions

View File

@@ -138,6 +138,13 @@ namespace tysdk
#endif
}
// Called from Java SDKManager.InitSDK to sync channel
public void SetChannelFromNative(string ch)
{
ChannelConfig.SetChannel(ch);
UnityEngine.Debug.Log($"[CHANNEL-VERIFY] C# SetChannelFromNative → channel={ch}, payType={ChannelConfig.PayType}, loginTimeout={ChannelConfig.LoginTimeoutSeconds}");
}
/*================================================
_ _
/ \ ___ ___ ___ _ _ _ __ | |_

View File

@@ -94,17 +94,11 @@ namespace tysdk
public string price_currency_code;
public string title;
public string type;
// RuStore specific
public string currency;
public string price_amount;
public string ProdPriceStr => ChannelConfig.Channel == "Rustore"
? $"₽{ProdPrice}"
: price;
public float ProdPrice => ChannelConfig.Channel == "Rustore"
? float.Parse(price) / 100
: float.Parse(price_amount_micros) / 1000000;
public string ProdPriceStr => price;
public float ProdPrice => float.Parse(price_amount_micros) / 1000000;
public string ProdID => ourProductId;
public string ProdKey => productId;

View File

@@ -66,6 +66,7 @@ namespace tysdk
using (var activityCls = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
var activity = activityCls.GetStatic<AndroidJavaObject>("currentActivity");
UnityEngine.Debug.Log("[CHANNEL-VERIFY] C# InitSDK → ChannelConfig.Channel=" + ChannelConfig.Channel);
sdkManager.CallStatic("InitSDK", activity, ChannelConfig.Channel);
}
}