using UnityEngine; using Newtonsoft.Json; using System; namespace TapSDK.Core { public interface TapTapSdkBaseOptions { string moduleName { get; } } public enum TapTapRegionType { CN = 0, Overseas = 1 } public enum TapTapLanguageType { Auto = 0,// 自动 zh_Hans,// 简体中文 en,// 英文 zh_Hant,// 繁体中文 ja,// 日文 ko,// 韩文 th,// 泰文 id,// 印度尼西亚语 de,// 德语 es,// 西班牙语 fr,// 法语 pt,// 葡萄牙语 ru,// 俄罗斯语 tr,// 土耳其语 vi// 越南语 } public class TapTapSdkOptions : TapTapSdkBaseOptions { /// /// 客户端 ID,开发者后台获取 /// public string clientId; /// /// 客户端令牌,开发者后台获取 /// public string clientToken; /// /// PC 客户端公钥 /// public string clientPublicKey; /// /// 地区,CN 为国内,Overseas 为海外 /// public TapTapRegionType region = TapTapRegionType.CN; /// /// 语言,默认为 Auto,默认情况下,国内为 zh_Hans,海外为 en /// public TapTapLanguageType preferredLanguage = TapTapLanguageType.Auto; /// /// 渠道,如 AppStore、GooglePlay /// [Obsolete("该属性已废弃,请在 TapTapEventOptions 设置对应属性")] public string channel = null; /// /// 游戏版本号,如果不传则默认读取应用的版本号 /// public string gameVersion = null; /// /// 初始化时传入的自定义参数,会在初始化时上报到 device_login 事件 /// [Obsolete("该属性已废弃,请在 TapTapEventOptions 设置对应属性")] public string propertiesJson = null; /// /// CAID,仅国内 iOS /// public string caid = null; /// /// 是否能够覆盖内置参数,默认为 false /// [Obsolete("该属性已废弃,请在 TapTapEventOptions 设置对应属性")] public bool overrideBuiltInParameters = false; /// /// 是否开启广告商 ID 收集,默认为 false /// public bool enableAdvertiserIDCollection = false; /// /// 是否开启自动上报 IAP 事件 /// [Obsolete("该属性已废弃,请在 TapTapEventOptions 设置对应属性")] public bool enableAutoIAPEvent = true; /// /// OAID证书, 仅 Android,用于上报 OAID 仅 [TapTapRegion.CN] 生效 /// public string oaidCert = null; /// /// 是否开启日志,Release 版本请设置为 false /// public bool enableLog = false; /// /// 是否禁用 OAID 反射 /// public bool disableReflectionOAID = true; /// /// 是否即用禁用自动上报设备登录事件 /// [Obsolete("该属性已废弃,请在 TapTapEventOptions 设置对应属性")] public bool disableAutoLogDeviceLogin = false; /// /// 屏幕方向:0-竖屏 1-横屏 /// public int screenOrientation = 0; [JsonProperty("moduleName")] private string _moduleName = "TapTapSDKCore"; [JsonIgnore] public string moduleName { get => _moduleName; } } public class TapTapEventOptions : TapTapSdkBaseOptions { /// /// 是否启用 TapTap Event /// public bool enableTapTapEvent = true; /// /// 渠道,如 AppStore、GooglePlay /// public string channel = null; /// /// 初始化时传入的自定义参数,会在初始化时上报到 device_login 事件 /// public string propertiesJson = null; /// /// 是否能够覆盖内置参数,默认为 false /// public bool overrideBuiltInParameters = false; /// /// 是否开启自动上报 IAP 事件 /// public bool enableAutoIAPEvent = true; /// /// 是否即用禁用自动上报设备登录事件 /// public bool disableAutoLogDeviceLogin = false; [JsonProperty("moduleName")] private string _moduleName = "TapTapEvent"; [JsonIgnore] public string moduleName { get => _moduleName; } } }