using System.Collections; using System.Collections.Generic; using UnityEngine; using HC; using UnityEngine.UI; using System.Linq; using Newtonsoft.Json.Linq; public class HCDemoScene : MonoBehaviour { public HCLoginDemoView mLoginDemoView; public HCCheckSensitiveWordView mCheckSensitiveWordView; public Text mPurchaseBtn; public Image nativeImage; // Start is called before the first frame update void Start() { #if UNITY_EDITOR && WEBGL_BYTEDANCE StarkSDKSpace.MockSetting.OpenAllMockModule(); #endif mLoginDemoView.gameObject.SetActive(false); mCheckSensitiveWordView.gameObject.SetActive(false); HCSDKManager.Instance.SetOnPurchaseDone(PurchaseCallback); HCSDKManager.Instance.InitializeSdk(); #if WEBGL_BYTEDANCE HCSDKManager.Instance.OnShowWithDict(param => { // 抖音首页侧边栏 // launch_from = homepage // location = sidebar_card param.TryGetValue("launch_from", out var launchFrom); param.TryGetValue("location", out var location); HCDebugger.LogDebug($"[OnShowWithDict] launch_from = {launchFrom} location = {location}"); }); #endif } public void Button_InitSDK() { HCSDKManager.Instance.InitializeSdk(); HCDebugger.LogDebug("Button_InitSDK"); } public void Button_ShowIV1() { HCDebugger.LogDebug("Button_ShowIV1"); HCSDKManager.Instance.ShowInterstitial(HCIVPositionName.IV_Success, HCIVADType.IV1, IVCloseCallback); } private void IVCloseCallback() { Debug.Log("IVCloseCallback"); } public void Button_ShowIV2() { HCDebugger.LogDebug("Button_ShowIV2 start auto iv"); // StartCoroutine("AutoIV"); Invoke("AutoIV", 10); } private void AutoIV() { HCDebugger.LogDebug("自动插屏显示"); HCSDKManager.Instance.ShowInterstitial(HCIVPositionName.IV_Success, HCIVADType.IV2); Invoke("AutoIV", 10); } public void Button_ShowBanner() { HCDebugger.LogDebug("Button_ShowBanner"); HCSDKManager.Instance.ShowBanner(); } public void Button_HideBanner() { HCDebugger.LogDebug("Button_HideBanner"); HCSDKManager.Instance.HideBanner(); } public void Button_ShowNative() { HCDebugger.LogDebug($"Button_ShowNative {HCStaticParams.NativeAdUnitID1} = {HCSDKManager.Instance.IsNativeAdReady(HCStaticParams.NativeAdUnitID1)}"); nativeImage.color = Color.blue; HCSDKManager.Instance.ShowNative(nativeImage.rectTransform, adUnit: HCStaticParams.NativeAdUnitID1, _showFailedCallback: (i, s) => { HCDebugger.LogDebug($"$Button_show callback show fail code = {i} msg = {s}"); nativeImage.color = Color.clear; }, _closeCallback: () => { HCDebugger.LogDebug($"$Button_show callback close"); nativeImage.color = Color.clear; }); } public void Button_RemoveNative() { HCDebugger.LogDebug("Button_RemoveNative"); nativeImage.color = Color.clear; HCSDKManager.Instance.RemoveNative(HCStaticParams.NativeAdUnitID1); } public void Button_ShowNative_2() { HCDebugger.LogDebug($"Button_ShowNative_2 {HCStaticParams.NativeAdUnitID2} = {HCSDKManager.Instance.IsNativeAdReady(HCStaticParams.NativeAdUnitID2)}"); HCDebugger.LogDebug("Button_ShowNative_2"); HCSDKManager.Instance.ShowNative(null, adUnit: HCStaticParams.NativeAdUnitID2); } public void Button_RemoveNative_2() { HCDebugger.LogDebug("Button_RemoveNative_2"); HCSDKManager.Instance.RemoveNative(HCStaticParams.NativeAdUnitID2); } public void Button_ShowNative_3() { HCDebugger.LogDebug($"Button_ShowNative_3 {HCStaticParams.NativeAdUnitID3} = {HCSDKManager.Instance.IsNativeAdReady(HCStaticParams.NativeAdUnitID3)}"); HCDebugger.LogDebug("Button_ShowNative_3"); HCSDKManager.Instance.ShowNative(null, adUnit: HCStaticParams.NativeAdUnitID3); } public void Button_RemoveNative_3() { HCDebugger.LogDebug("Button_RemoveNative_3"); HCSDKManager.Instance.RemoveNative(HCStaticParams.NativeAdUnitID3); } public void Button_ShowNative_4() { HCDebugger.LogDebug($"Button_ShowNative_4 {HCStaticParams.NativeAdUnitID4} = {HCSDKManager.Instance.IsNativeAdReady(HCStaticParams.NativeAdUnitID4)}"); HCDebugger.LogDebug("Button_ShowNative_4"); HCSDKManager.Instance.ShowNative(null, adUnit: HCStaticParams.NativeAdUnitID4); } public void Button_RemoveNative_4() { HCDebugger.LogDebug("Button_RemoveNative_4"); HCSDKManager.Instance.RemoveNative(HCStaticParams.NativeAdUnitID4); } public void Button_ShowRV() { HCDebugger.LogDebug("Button_ShowRV"); HCSDKManager.Instance.ShowRewardedAd(HCRVPositionName.GetDoubleCoin, RewardCallback); } private void RewardCallback(bool success) { HCDebugger.LogDebug("RewardCallback result:" + success); } public void Button_Event01() { HCDebugger.LogDebug("Button_Event01"); HCSDKManager.Instance.LogEvent("TestEvent01"); } public void Button_Event02() { HCDebugger.LogDebug("Button_Event02"); HCSDKManager.Instance.LogEvent("TestEvent02", "key01", "value01"); } public void Button_Event03() { HCDebugger.LogDebug("Button_Event03"); HCSDKManager.Instance.LogEvent("TestEvent03", "key01", "value01", "key02", "value02"); } public void ButtonBuyNoads() { HCDebugger.LogDebug("ButtonBuy"); #if USE_IAP HCSDKManager.Instance.BuyProductByID(HCPurchaseProducts.NoAds,"RemoveAds"); #endif } public void ButtonBuyCoins() { HCDebugger.LogDebug("ButtonRestore"); #if USE_IAP HCSDKManager.Instance.BuyProductByID(HCPurchaseProducts.Product01, "coins"); #endif } public void ButtonRestore() { #if USE_IAP HCSDKManager.Instance.RestorePurchases(); #endif } public void ButtonWebGL() { #if UNITY_WEBGL HCSDKManager.Instance.Buy(new HCPaymentArgs { productId = "boori.cash.1", productName = "1元商品", money = 100, gameExtraParam = "{\\\"player_id\\\":150}" }); #endif } public void ButtonWebGL2() { #if UNITY_WEBGL HCSDKManager.Instance.Buy(new HCPaymentArgs { productId = "id.68", productName = "68元商品", money = 6800, gameExtraParam = "拓展字段" }); #endif } public void ButtonWebGL3() { #if UNITY_WEBGL HCSDKManager.Instance.Buy(new HCPaymentArgs { productId = "id.3", productName = "6元商品", money = 600, gameExtraParam = "拓展字段" }); #endif } private void PurchaseCallback(string orderID, string productName, string productID, bool purchaseResult, string gameExtra, bool orderAlreadyExists, string serverGameExtra) { if (purchaseResult) { mPurchaseBtn.text = "购买成功"; #if WEBGL_WX WeChatWASM.WX.ShowToast(new WeChatWASM.ShowToastOption { title = $"购买成功 {productName} {orderID}" }); HCSDKManager.Instance.Awarded(orderID); #endif } else { mPurchaseBtn.text = "购买失败"; #if WEBGL_WX WeChatWASM.WX.ShowToast(new WeChatWASM.ShowToastOption { icon = "error", title = $"购买失败 {productName} {orderID}" }); #endif } HCDebugger.LogDebug("PurchaseCallback orderID:" + orderID + "productName:" + productName + "productID" + productID + "purResult" + purchaseResult + "gameExtra:" + gameExtra + "\t serverGameExtra : " + serverGameExtra); } private void UserSourceListenerCallback(bool isOrganic, string network) { HCSDKManager.Instance.ShowToast("isOrganic:" + isOrganic + "===newwotk:" + network); HCDebugger.LogDebug("SetUserSourceListenerCallback isOrganic:" + isOrganic + "network:" + network); } #region Account /// /// Guest Login /// public void ButtonEvent_ShowLoginScreen() { HCDebugger.LogDebug("ButtonEvent_ShowLoginScreen"); mLoginDemoView.OpenWithLoginScreen(true); } /// /// Google Login /// public void ButtonEvent_Directlogin() { HCDebugger.LogDebug("ButtonEvent_Directlogin"); mLoginDemoView.OpenWithLoginScreen(false); } /// /// share /// public void ButtonEvent_Share() { HCDebugger.LogDebug("ButtonEvent_Share"); HCSDKManager.Instance.Share("title", null, null, (result) => { HCDebugger.LogDebug($"Share callback result = {result}"); }); } #endregion #region Record /// /// StartRecord /// public void ButtonEvent_StartRecord() { HCDebugger.LogDebug("StartRecord"); #if WEBGL_BYTEDANCE // 主调调用结束 HCSDKManager.Instance.StartRecord(true, timeoutCallback: (s) => { HCDebugger.LogDebug($"录制结束 s = {s}"); }); #endif } /// /// StopRecord /// public void ButtonEvent_StopRecord() { HCDebugger.LogDebug("StopRecord"); #if WEBGL_BYTEDANCE HCSDKManager.Instance.StopRecord(s => { #if WEBGL_BYTEDANCE HCSDKManager.Instance.DyShareRecordVideo("title test", new[] { "topic 1", "topic 2" }, (result, msg, dict) => { HCDebugger.LogDebug($"[StopRecord] result = ${result} msg = {msg}"); }); #endif }); #endif } public void ButtonEvent_SensitiveWordView() { mCheckSensitiveWordView.gameObject.SetActive(true); } #endregion }