com.guru.unity.sdk/Runtime/Code/Config/GuruSDKInitConfig.cs

183 lines
5.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

namespace Guru
{
using System.Collections.Generic;
using System.Text;
using System;
/// <summary>
/// 启动参数配置
/// </summary>
public class GuruSDKInitConfig
{
/// <summary>
/// 使用自定义的ConsentFlow启动流程
/// </summary>
public bool UseCustomConsent = false;
/// <summary>
/// SDK初始化完成后自动加载广告
/// </summary>
public bool AutoLoadWhenAdsReady = true;
/// <summary>
/// 使用IAP支付插件功能
/// </summary>
public bool IAPEnabled = true;
/// <summary>
/// 自动申请推送授权信息
/// </summary>
public bool AutoNotificationPermission = true;
/// <summary>
/// 自动记录完成的关卡
/// </summary>
public bool AutoRecordFinishedLevels = true;
/// <summary>
/// 自定义 Service 云控 Key
/// </summary>
public string CustomServiceKey = "";
/// <summary>
/// Banner 背景颜色 Hex 值
/// </summary>
public string BannerBackgroundColor = "#00000000";
/// <summary>
/// 已购买去广告道具
/// </summary>
public bool IsBuyNoAds = false;
/// <summary>
/// Debug模式默认关闭
/// </summary>
public bool DebugMode = false;
/// <summary>
/// Debug模式下开启打点默认关闭
/// </summary>
public bool EnableDebugLogEvent = false;
/// <summary>
/// 云控参数的默认配置
/// </summary>
/// <returns></returns>
public Dictionary<string, object> DefaultRemoteData = new Dictionary<string, object>();
/// <summary>
/// 启用 AdjustDeeplink
/// </summary>
public Action<string> OnAdjustDeeplinkCallback = null;
/// <summary>
/// 支付初始化Keys
/// </summary>
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
}
/// <summary>
/// 构建器
/// </summary>
public class GuruSDKInitConfigBuilder
{
private GuruSDKInitConfig _config = new GuruSDKInitConfig();
/// <summary>
/// 构建配置
/// </summary>
/// <returns></returns>
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<string> 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<string, object> 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;
}
}
}