namespace Guru { using System.Collections.Generic; using System.Text; using System; /// /// 启动参数配置 /// public class GuruSDKInitConfig { /// /// 使用自定义的ConsentFlow启动流程 /// public bool UseCustomConsent = false; /// /// SDK初始化完成后自动加载广告 /// public bool AutoLoadWhenAdsReady = true; /// /// 使用IAP支付插件功能 /// public bool IAPEnabled = true; /// /// 自动申请推送授权信息 /// public bool AutoNotificationPermission = true; /// /// 自动记录完成的关卡 /// public bool AutoRecordFinishedLevels = true; /// /// 自定义 Service 云控 Key /// public string CustomServiceKey = ""; /// /// Banner 背景颜色 Hex 值 /// public string BannerBackgroundColor = "#00000000"; /// /// 已购买去广告道具 /// public bool IsBuyNoAds = false; /// /// Debug模式(默认关闭) /// public bool DebugMode = false; /// /// Debug模式下开启打点(默认关闭) /// public bool EnableDebugLogEvent = false; /// /// 云控参数的默认配置 /// /// public Dictionary DefaultRemoteData = new Dictionary(); /// /// 启用 AdjustDeeplink /// public Action OnAdjustDeeplinkCallback = null; /// /// 支付初始化Keys /// public byte[] GoogleKeys; // 数据取自 GooglePlayTangle.Data(); public byte[] AppleRootCerts; // 数据取自 AppleTangle.Data(); #region Print public override string ToString() { StringBuilder sb = new StringBuilder(); sb.AppendLine($"------- Custom InitConfig -------"); sb.AppendLine($"\t UseCustomConsent: {UseCustomConsent}"); sb.AppendLine($"\t AutoLoadWhenAdsReady: {AutoLoadWhenAdsReady}"); sb.AppendLine($"\t IAPEnabled: {IAPEnabled}"); sb.AppendLine($"\t AutoNotificationPermission: {AutoNotificationPermission}"); sb.AppendLine($"\t AutoRecordFinishedLevels: {AutoRecordFinishedLevels}"); sb.AppendLine($"\t CustomServiceKey: {CustomServiceKey}"); sb.AppendLine($"\t BannerBackgroundColor: {BannerBackgroundColor}"); sb.AppendLine($"\t IsBuyNoAds: {IsBuyNoAds}"); sb.AppendLine($"\t DebugMode: {DebugMode}"); sb.AppendLine($"\t DefaultRemote: Count: {DefaultRemoteData.Count}"); sb.AppendLine($"------- Custom InitConfig -------"); return sb.ToString(); } #endregion } /// /// 构建器 /// public class GuruSDKInitConfigBuilder { private GuruSDKInitConfig _config = new GuruSDKInitConfig(); /// /// 构建配置 /// /// public GuruSDKInitConfig Build() { return _config; } public GuruSDKInitConfigBuilder SetUseCustomConsent(bool value) { _config.UseCustomConsent = value; return this; } public GuruSDKInitConfigBuilder SetAutoLoadWhenAdsReady(bool value) { _config.AutoLoadWhenAdsReady = value; return this; } public GuruSDKInitConfigBuilder SetIAPEnabled(bool value) { _config.IAPEnabled = value; return this; } public GuruSDKInitConfigBuilder SetAutoRecordFinishedLevels(bool value) { _config.AutoRecordFinishedLevels = value; return this; } public GuruSDKInitConfigBuilder SetIsBuyNoAds(bool value) { _config.IsBuyNoAds = value; return this; } public GuruSDKInitConfigBuilder SetBannerBackgroundColor(string value) { _config.BannerBackgroundColor = value; return this; } public GuruSDKInitConfigBuilder SetDebugMode(bool value) { _config.DebugMode = value; return this; } public GuruSDKInitConfigBuilder SetOnAdjustDeeplinkCallback(Action callback) { _config.OnAdjustDeeplinkCallback = callback; return this; } public GuruSDKInitConfigBuilder SetGoogleKeys(byte[] value) { _config.GoogleKeys = value; return this; } public GuruSDKInitConfigBuilder SetAppleRootCerts(byte[] value) { _config.AppleRootCerts = value; return this; } public GuruSDKInitConfigBuilder SetDefaultRemoteData(Dictionary value) { _config.DefaultRemoteData = value; return this; } public GuruSDKInitConfigBuilder SetEnableDebugLogEvent(bool value) { _config.EnableDebugLogEvent = value; return this; } public GuruSDKInitConfigBuilder SetCustomServiceKey(string value) { _config.CustomServiceKey = value; return this; } public GuruSDKInitConfigBuilder SetAutoNotificationPermission(bool value) { _config.AutoNotificationPermission = value; return this; } } }