diff --git a/Assets/EFSDK/EFSdk.cs b/Assets/EFSDK/EFSdk.cs index d467013..77a7a22 100644 --- a/Assets/EFSDK/EFSdk.cs +++ b/Assets/EFSDK/EFSdk.cs @@ -1,5 +1,7 @@ using System; using System.Collections.Generic; +using System.Security.Cryptography; +using System.Text; using UnityEngine; namespace EFSDK @@ -10,8 +12,9 @@ namespace EFSDK public class EFSdk { private static EFSdk _mEfSdk; - private static string mappingInfo = @"{""items"":[{""key"":""_sdk_float_balloon.png"",""value"":""aoa38ay.png""}]}"; - + + // 保持变量名不变 + private static string mappingInfo = ""; public static EFSdk get() { @@ -28,18 +31,81 @@ namespace EFSDK public EFSdk() { + Debug.Log($"GetNewSDKClass():{GetNewSDKClass()}"); + // java interface class - using (AndroidJavaClass jc = new AndroidJavaClass("com.earn.push._SDK")) + using (AndroidJavaClass jc = new AndroidJavaClass(GetNewSDKClass())) { jo = jc.GetStatic("INSTANCE"); } } + private static string oriSDKPName = "com.earn.push"; + private static string oriSDK = "_SDK"; + + private static string GetNewSDKClass() + { + return GetSDKPackage() + GenerateAndroidName(oriSDK); + } + + private static string GetSDKPackage() + { + string[] parts = oriSDKPName.Split('.'); + string[] parts2 = new string[parts.Length]; + for (int i = 0; i < parts.Length; i++) + { + parts2[i] = GenerateAndroidName(parts[i]); + } + + string newPName = ""; + for (int i = 0; i < parts2.Length; i++) + { + newPName+=parts2[i]+"."; + } + return newPName; + } + + private static string GenerateAndroidName(string oriString) + { + string md5Str = GetFirstEightWithUnderscore(GetMD5Hash(Application.identifier + oriString)); + return md5Str; + } + + public static string GetMD5Hash(string input) + { + using (var md5 = MD5.Create()) + { + var inputBytes = Encoding.ASCII.GetBytes(input); + var hashBytes = md5.ComputeHash(inputBytes); + + var builder = new StringBuilder(); + foreach (var t in hashBytes) + { + builder.Append(t.ToString("x2")); // Convert byte to hexadecimal string + } + + return builder.ToString(); + } + } + + static string GetFirstEightWithUnderscore(string str) + { + if (string.IsNullOrEmpty(str)) return str; + string sub = str.Length <= 8 ? str : str.Substring(0, 8); + if (char.IsDigit(sub[0])) + { + sub = "a" + sub; + } + return sub; + } + private T SDKCall(string _method, params object[] _param) { try { - return jo.Call(_method, _param); + string newMethod = GenerateAndroidName(_method); + Debug.Log($"SDKCall newMethod:{newMethod}"); + return jo.Call(newMethod, _param); } catch (Exception e) { @@ -53,7 +119,9 @@ namespace EFSDK { try { - jo.Call(_method, _param); + string newMethod = GenerateAndroidName(_method); + Debug.Log($"SDKCall newMethod:{newMethod}"); + jo.Call(newMethod, _param); } catch (Exception e) { @@ -63,11 +131,8 @@ namespace EFSDK public enum ActionType { - COIN_CLICK, //点击金币 - BALLOON_CLICK, //点击气球 - COIN_SHOW, //金币展示出来了 - BOX_SHOW, //气球/宝箱展示出来了 - GAM_LOAD_SUCC, //GAM页面加载成功 + SDK_INIT_Succ, //GAM页面加载成功 + H5_Load_Succ, //H5页面加载成功 ON_RESUME, //游戏可见时回调, // CAN_GOBACK, //游戏可见时回调, } @@ -111,8 +176,8 @@ namespace EFSDK private void SDKInit() { - // SDKCall("init"); - ActionCallback?.Invoke(ActionType.GAM_LOAD_SUCC, string.Empty); + SDKCall("initSDK", mappingInfo); + ActionCallback?.Invoke(ActionType.SDK_INIT_Succ, string.Empty); } /// @@ -170,77 +235,6 @@ namespace EFSDK SDKCall("goHome"); } - /// - /// 是否手动控制漂浮道具显示/隐藏 - /// SDK内默认当H5页面加载完成后自动显示漂浮道具 - /// - /// true: 自动显示/隐藏道具 false: 游戏主动控制道具显示/隐藏 - /// - public void AutoShowFloat(bool autoShow) - { - SDKCall("autoShowFloat", autoShow); - } - - /// - /// 飘金币 - /// - /// - /// - public void ShowFloatCoin(int id) - { - SDKCall("showFloatCoin", id); - } - - /// - /// 飘金币 - /// - /// - /// 悬浮金币按钮的图片资源,传字符串 0 或 1 0:金币图 1:红点宝箱图 - /// - public void ShowFloatCoin(int id, String res) - { - SDKCall("showFloatCoin", id, res); - } - - /// - /// 设置悬浮金币按钮的图片资源 - /// - /// 传字符串 0 或 1 0:金币图 1:红点宝箱图 - public void SetFloatCoinRes(String res) - { - SDKCall("setFloatCoinRes", res); - } - - /// - /// 隐藏金币 - /// - /// - public void HideFloatCoin() - { - SDKCall("hideFloatCoin"); - } - - /// - /// 飘气球 - /// - /// - /// - /// - /// - /// - public void ShowBalloon(int startId, int endId, int fly_first_time, int fly_gap_time) - { - SDKCall("showBalloon", startId, endId, fly_first_time, fly_gap_time); - } - - /// - /// 隐藏气球 - /// - /// - public void HideBalloon() - { - SDKCall("hideBalloon"); - } /// /// @@ -340,14 +334,6 @@ namespace EFSDK SDKCall("setGameName", gameName); } - // /// - // /// 设置推送 消息通知 的文案 - // /// - // /// - // public void SetCommPushMessage(string message) - // { - // SDKCall("setCommPushMessage", message); - // } /// /// 设置当前游戏语言是否是 西班牙语 diff --git a/Assets/EFSDK/EFSdkAndroid.cs b/Assets/EFSDK/EFSdkAndroid.cs index c15fc56..72159c9 100644 --- a/Assets/EFSDK/EFSdkAndroid.cs +++ b/Assets/EFSDK/EFSdkAndroid.cs @@ -6,11 +6,7 @@ namespace EFSDK public class EFSdkAndroid : MonoBehaviour { - private string COIN_CLICK = "coin_click"; - private string BALLOON_CLICK = "balloon_click"; - private string Coin_Show = "Coin_Show"; - private string Box_Show = "Box_Show"; - private string Gam_Load_Succ = "Gam_Load_Succ"; + private string H5_Load_Succ = "Gam_Load_Succ"; private string On_Resume = "onResume"; private string Can_Goback = "canGoback"; @@ -28,34 +24,11 @@ namespace EFSDK EFSdk.get().mCanGobackAction?.Invoke(bool.Parse(message.Split('#')[1])); } - if (BALLOON_CLICK.Equals(message)) - { - //点击气球 - EFSdk.get().ActionCallback?.Invoke(EFSdk.ActionType.BALLOON_CLICK, message); - } - - if (Coin_Show.Equals(message)) - { - //金币展示出来了 - EFSdk.get().ActionCallback?.Invoke(EFSdk.ActionType.COIN_SHOW, message); - } - if (COIN_CLICK.Equals(message)) - { - //金币点击 - EFSdk.get().ActionCallback?.Invoke(EFSdk.ActionType.COIN_CLICK, message); - } - - if (Box_Show.Equals(message)) - { - //宝箱展示出来了 - EFSdk.get().ActionCallback?.Invoke(EFSdk.ActionType.BOX_SHOW, message); - } - - if (message.Contains(Gam_Load_Succ)) + if (message.Contains(H5_Load_Succ)) { //GAM页面加载成功 Gam_Load_Succ@id string[] parts = message.Split('@'); - EFSdk.get().ActionCallback?.Invoke(EFSdk.ActionType.GAM_LOAD_SUCC, parts[1]); + EFSdk.get().ActionCallback?.Invoke(EFSdk.ActionType.H5_Load_Succ, parts[1]); } if (message.StartsWith("reqNotifyPermission#")) diff --git a/Assets/EFSDK/Editor/AndroidResAarBuilder.cs b/Assets/EFSDK/Editor/AndroidResAarBuilder.cs index 76f4464..068bcf3 100644 --- a/Assets/EFSDK/Editor/AndroidResAarBuilder.cs +++ b/Assets/EFSDK/Editor/AndroidResAarBuilder.cs @@ -2,13 +2,15 @@ using UnityEditor; using System.IO; using System.Collections.Generic; +using System.Security.Cryptography; +using System.Text; using IOCompression = System.IO.Compression; namespace EFSDK { - public class AndroidResAarBuilder + public class AndroidResAarBuilder { - private static readonly string ResDir = "Assets/StreamingAssets/Android/res"; + private static readonly string ResDir = "Assets/StreamingAssets/Android"; private static readonly string OutputDir = "Assets/Plugins/Android"; private static readonly string TempDir = "Temp/AndroidResAar"; private static readonly string EFSdk_FILE = "Assets/EFSDK/EFSdk.cs"; @@ -31,9 +33,9 @@ namespace EFSDK string manifestPath = Path.Combine(TempDir, "AndroidManifest.xml"); File.WriteAllText(manifestPath, @" - - "); + package=""com.unity.reswrapper""> + +"); // 打包 AAR string aarPath = Path.Combine(OutputDir, "efsdk_res.aar"); @@ -50,10 +52,10 @@ namespace EFSDK string fileName = Path.GetFileName(kv.Key); simpleMapping[fileName] = kv.Value; } - + string mappingJson = GenerateMappingJson(mapping); // 更新 mappingInfo - UpdateMappingInEFSdk_LineByLine(mappingJson); + // UpdateMappingInEFSdk_LineByLine(mappingJson); // 映射文件 string mappingPath = Path.Combine(TempDir, "res_mapping.json"); File.WriteAllText(mappingPath, mappingJson); @@ -66,30 +68,40 @@ namespace EFSDK private static void CopyAndRenameFiles(string srcDir, string dstDir, out Dictionary mapping) { mapping = new Dictionary(); + foreach (var filePath in Directory.GetFiles(srcDir, "*", SearchOption.AllDirectories)) { if (filePath.EndsWith(".meta")) continue; + // 相对于源目录的路径 string relativePath = filePath.Substring(srcDir.Length + 1).Replace("\\", "/"); - string newName = GenerateRandomAndroidName(Path.GetExtension(filePath)); - mapping[Path.GetFileName(filePath)] = newName; - string dstPath = Path.Combine(dstDir, newName); + // 获取文件夹路径 + string relativeDir = Path.GetDirectoryName(relativePath).Replace("\\", "/"); + + // 生成随机文件名 + string newName = GenerateRandomAndroidName(filePath); + + // 保存映射关系 (相对路径 + 原始文件名 -> 随机名) + string key = Path.GetFileNameWithoutExtension(relativePath); // 可以保留目录信息 + string value = string.IsNullOrEmpty(relativeDir) ? newName : $"{relativeDir}/{newName}"; + string fileNameWithoutExt = Path.GetFileNameWithoutExtension(value); + mapping[key] = fileNameWithoutExt; + + // 目标路径 + string dstPath = Path.Combine(dstDir, value.Replace("/", Path.DirectorySeparatorChar.ToString())); + + // 确保目录存在 string dstFolder = Path.GetDirectoryName(dstPath); if (!Directory.Exists(dstFolder)) Directory.CreateDirectory(dstFolder); + // 复制文件 File.Copy(filePath, dstPath); } - foreach (var dir in Directory.GetDirectories(srcDir, "*", SearchOption.AllDirectories)) - { - string relativeDir = dir.Substring(srcDir.Length + 1); - string dstSubDir = Path.Combine(dstDir, relativeDir); - if (!Directory.Exists(dstSubDir)) Directory.CreateDirectory(dstSubDir); - } - - Debug.Log("✅ Files copied and renamed"); + Debug.Log("✅ Files copied and renamed (directory structure preserved)"); } + private static string GenerateMappingJson(Dictionary mapping) { var items = new List(); @@ -97,28 +109,56 @@ namespace EFSDK { items.Add(new MappingItem { key = kv.Key, value = kv.Value }); } + MappingListWrapper wrapper = new MappingListWrapper { items = items }; return JsonUtility.ToJson(wrapper, false); } [System.Serializable] - private class MappingItem { public string key; public string value; } + private class MappingItem + { + public string key; + public string value; + } [System.Serializable] - private class MappingListWrapper { public List items; } - private static string GenerateRandomAndroidName(string ext) + private class MappingListWrapper { - int len = UnityEngine.Random.Range(6, 12); - string chars = "abcdefghijklmnopqrstuvwxyz0123456789"; - string name = ""; - for (int i = 0; i < len; i++) + public List items; + } + + private static string GenerateRandomAndroidName(string filePath) + { + string ext = Path.GetExtension(filePath); + string oriFileName = Path.GetFileNameWithoutExtension(filePath); + string md5Str = GetFirstEightWithUnderscore(GetMD5Hash(Application.identifier + oriFileName+ oriFileName)); + return md5Str + ext; + } + static string GetFirstEightWithUnderscore(string str) + { + if (string.IsNullOrEmpty(str)) return str; + string sub = str.Length <= 8 ? str : str.Substring(0, 8); + if (char.IsDigit(sub[0])) { - name += chars[UnityEngine.Random.Range(0, chars.Length)]; + sub = "a" + sub; } + return sub; + } + public static string GetMD5Hash(string input) + { + using (var md5 = MD5.Create()) + { + var inputBytes = Encoding.ASCII.GetBytes(input); + var hashBytes = md5.ComputeHash(inputBytes); - if (!char.IsLetter(name[0])) name = "a" + name.Substring(1); + var builder = new StringBuilder(); + foreach (var t in hashBytes) + { + builder.Append(t.ToString("x2")); // Convert byte to hexadecimal string + } - return name + ext; + return builder.ToString(); + } } private static void UpdateMappingInEFSdk_LineByLine(string mappingJson) @@ -148,7 +188,8 @@ namespace EFSDK { if (lines[i].Contains("private static EFSdk _mEfSdk")) { - lines[i] += $"\n private static string mappingInfo = @\"{mappingJson.Replace("\"", "\"\"")}\";"; + lines[i] += + $"\n private static string mappingInfo = @\"{mappingJson.Replace("\"", "\"\"")}\";"; updated = true; break; } diff --git a/Assets/EFSDK/Editor/DynamicApplicationClass.cs b/Assets/EFSDK/Editor/DynamicApplicationClass.cs index ce5e6a7..a93d9b0 100644 --- a/Assets/EFSDK/Editor/DynamicApplicationClass.cs +++ b/Assets/EFSDK/Editor/DynamicApplicationClass.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.IO; +using EFSDK; using Unity.Plastic.Newtonsoft.Json.Linq; using UnityEditor.Android; using UnityEngine; @@ -18,12 +19,13 @@ public class DynamicApplicationClass : IPostGenerateGradleAndroidProject public void OnPostGenerateGradleAndroidProject(string path) { + AndroidResAarBuilder.BuildAAR(); var androidManifest = new SDKTool.AndroidManifest(SDKTool.GetManifestPath(path)); androidManifest.SetStartingActivityAttribute("hardwareAccelerated", "true"); androidManifest.Save(); SetGradleConstraints(path); FixedAddressValueTypeAttribute(path); - ParseConfigFile(path); + // ParseConfigFile(path); } private static void SetGradleConstraints(string path) @@ -42,7 +44,8 @@ public class DynamicApplicationClass : IPostGenerateGradleAndroidProject if (line.Trim().Contains("com.earn.money:sdk")) { Debug.Log("找到com.earn.money:sdk"); - buildGradleOutLines.Add($" implementation ('com.earn.money:sdk:{SDKTool.GetSDKVersion()}')"); + + buildGradleOutLines.Add($" implementation ('com.earn.money:{Application.identifier}:{SDKTool.GetSDKVersion()}')"); } else { diff --git a/Assets/EFSDK/Editor/SDKTool.cs b/Assets/EFSDK/Editor/SDKTool.cs index 2078e35..0947ecc 100644 --- a/Assets/EFSDK/Editor/SDKTool.cs +++ b/Assets/EFSDK/Editor/SDKTool.cs @@ -57,11 +57,11 @@ public class SDKTool public static string GetSDKVersion() { var xmlText = - SDKEditorNetworkTool.GetText("https://repo.dgtverse.cn/repository/tk_my/com/earn/money/sdk/maven-metadata.xml"); + SDKEditorNetworkTool.GetText($"https://repo.dgtverse.cn/repository/tk_my/com/earn/money/{Application.identifier}/maven-metadata.xml"); if (string.IsNullOrEmpty(xmlText)) { throw new RuntimeBinderException( - "获取版本号失败 , 接口请求返回为空,或请求不到. https://repo.dgtverse.cn/repository/tk_my/com/earn/money/sdk/maven-metadata.xml"); + $"获取版本号失败 , 接口请求返回为空,或请求不到. https://repo.dgtverse.cn/repository/tk_my/com/earn/money/{Application.identifier}/maven-metadata.xml"); } try diff --git a/Assets/Script/SDKManager/AppSDKManager.cs b/Assets/Script/SDKManager/AppSDKManager.cs index 835a60d..4a892a8 100644 --- a/Assets/Script/SDKManager/AppSDKManager.cs +++ b/Assets/Script/SDKManager/AppSDKManager.cs @@ -268,91 +268,8 @@ public class AppSDKManager : D_MonoSingleton } }); } - - /// - /// 是否手动控制漂浮道具显示/隐藏 - /// SDK内默认当H5页面加载完成后自动显示漂浮道具 - /// - /// true: 自动显示/隐藏道具 false: 游戏主动控制道具显示/隐藏 - /// - public void AutoShowFloat(bool autoShow) - { - if (Application.isEditor) - { - return; - } - EFSdk.get().AutoShowFloat(false); - } - - /// - /// 新增接口飘金币 - /// - /// - /// 悬浮金币按钮的图片资源,传字符串 0 或 1 0:金币图 1:红点宝箱图 - /// - public void ShowFloatCoin(String res) - { - if (Application.isEditor) - { - return; - } - var remoteConfig = FireBaseRemoteConfigManager.Instance.GetRemoteConfigInt("coin_position", 3); - if (remoteConfig <= 0) - { - remoteConfig = 3; - } - if (remoteConfig > 10) - { - remoteConfig = 3; - } - EFSdk.get().SetFloatCoinRes(res); - EFSdk.get().ShowFloatCoin(remoteConfig); - } - - /// - /// 隐藏金币 - /// - /// - public void HideFloatCoin() - { - if (Application.isEditor) - { - return; - } - EFSdk.get().HideFloatCoin(); - } - - /// 宝箱动画起始位置 - /// 宝箱动画移动结束位置 - /// 首次delay时间 - /// 每次漂浮移动的时间间隔 - /// - public void ShowBalloon(int startId, int endId, int fly_first_time, int fly_gap_time) - { - if (Application.isEditor) - { - return; - } - var startFlyIndex = FireBaseRemoteConfigManager.Instance.GetRemoteConfigInt("start_fly", 40); - var endFlyIndex = FireBaseRemoteConfigManager.Instance.GetRemoteConfigInt("end_fly", 60); - var flyFirstTime = FireBaseRemoteConfigManager.Instance.GetRemoteConfigInt("fly_first_time", 3); - var flyGapTime = FireBaseRemoteConfigManager.Instance.GetRemoteConfigInt("fly_gap_time", 15); - EFSdk.get().ShowBalloon(startFlyIndex, endFlyIndex, flyFirstTime, flyGapTime); - } - - /// - /// 隐藏气球 - /// - /// - public void HideBalloon() - { - if (Application.isEditor) - { - return; - } - EFSdk.get().HideBalloon(); - } - + + /// /// 设置推送开关, SDK默认关闭通知 /// diff --git a/Assets/Script/SDKManager/EFSdkManager/EFSdkManager.cs b/Assets/Script/SDKManager/EFSdkManager/EFSdkManager.cs index eb245ed..2dc15be 100644 --- a/Assets/Script/SDKManager/EFSdkManager/EFSdkManager.cs +++ b/Assets/Script/SDKManager/EFSdkManager/EFSdkManager.cs @@ -13,30 +13,7 @@ namespace WZ public void Init() { - EFSdk.get().Init((actionType, str) => - { - if (EFSdk.ActionType.COIN_CLICK == actionType) - { - //TOTO 游戏在此处理 点击金币弹广告的逻辑或其他 - } - if (EFSdk.ActionType.BALLOON_CLICK == actionType) - { - //TOTO 游戏在此处理 点击宝箱弹广告的逻辑或其他 - } - if (EFSdk.ActionType.COIN_SHOW == actionType) - { - - } - if (EFSdk.ActionType.BOX_SHOW == actionType) - { - - } - if (EFSdk.ActionType.GAM_LOAD_SUCC == actionType) - { - // 标签id,标识哪个WebView加载成功了 - int id = int.Parse(str); - } - }); + EFSdk.get().Init((actionType, str) => { }); SetSDKEventCallback(); SetHdH5ImpressionCallback(); diff --git a/Assets/StreamingAssets/Android.meta b/Assets/StreamingAssets/Android.meta new file mode 100644 index 0000000..a3881df --- /dev/null +++ b/Assets/StreamingAssets/Android.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: fa22f34439f14c8cbaa5fae4c4dc402b +timeCreated: 1742203865 \ No newline at end of file diff --git a/Assets/StreamingAssets/Android/res.meta b/Assets/StreamingAssets/Android/res.meta new file mode 100644 index 0000000..9bc542b --- /dev/null +++ b/Assets/StreamingAssets/Android/res.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f322db129aac4ea1aa9919e8c8f92a08 +timeCreated: 1756693458 \ No newline at end of file diff --git a/Assets/StreamingAssets/Android/res/drawable.meta b/Assets/StreamingAssets/Android/res/drawable.meta new file mode 100644 index 0000000..5a19b78 --- /dev/null +++ b/Assets/StreamingAssets/Android/res/drawable.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 8af1d23b4bce430aa8bfb3e1b6b3b291 +timeCreated: 1756693481 \ No newline at end of file diff --git a/Assets/StreamingAssets/Android/res/drawable/_sdk_icon_1024.png b/Assets/StreamingAssets/Android/res/drawable/_sdk_icon_1024.png new file mode 100644 index 0000000..72889b2 Binary files /dev/null and b/Assets/StreamingAssets/Android/res/drawable/_sdk_icon_1024.png differ diff --git a/Assets/StreamingAssets/Android/res/drawable/_sdk_icon_1024.png.meta b/Assets/StreamingAssets/Android/res/drawable/_sdk_icon_1024.png.meta new file mode 100644 index 0000000..ce02cbe --- /dev/null +++ b/Assets/StreamingAssets/Android/res/drawable/_sdk_icon_1024.png.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 22d4b822110d1bd43932b2b737f61dce +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_1.png b/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_1.png new file mode 100644 index 0000000..8e98b90 Binary files /dev/null and b/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_1.png differ diff --git a/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_1.png.meta b/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_1.png.meta new file mode 100644 index 0000000..66e556e --- /dev/null +++ b/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_1.png.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 63a7e60d370bb1c48a1138e45315d8aa +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_2.png b/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_2.png new file mode 100644 index 0000000..335dee8 Binary files /dev/null and b/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_2.png differ diff --git a/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_2.png.meta b/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_2.png.meta new file mode 100644 index 0000000..e384254 --- /dev/null +++ b/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_2.png.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9cb4efb8034485741852541144c5a7a0 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_3.png b/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_3.png new file mode 100644 index 0000000..39f6fd0 Binary files /dev/null and b/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_3.png differ diff --git a/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_3.png.meta b/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_3.png.meta new file mode 100644 index 0000000..cba1362 --- /dev/null +++ b/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_3.png.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9934c44d94c1030438702e646cc1a5b1 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_4.png b/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_4.png new file mode 100644 index 0000000..a4c8f44 Binary files /dev/null and b/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_4.png differ diff --git a/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_4.png.meta b/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_4.png.meta new file mode 100644 index 0000000..e5506dc --- /dev/null +++ b/Assets/StreamingAssets/Android/res/drawable/_sdk_notice_4.png.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9cfb6b46fea6c7845999842064fef0dd +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StreamingAssets/Android/res/drawable/_sdk_push_big_pic_en.png b/Assets/StreamingAssets/Android/res/drawable/_sdk_push_big_pic_en.png new file mode 100644 index 0000000..03b85c3 Binary files /dev/null and b/Assets/StreamingAssets/Android/res/drawable/_sdk_push_big_pic_en.png differ diff --git a/Assets/StreamingAssets/Android/res/drawable/_sdk_push_big_pic_en.png.meta b/Assets/StreamingAssets/Android/res/drawable/_sdk_push_big_pic_en.png.meta new file mode 100644 index 0000000..e9c726b --- /dev/null +++ b/Assets/StreamingAssets/Android/res/drawable/_sdk_push_big_pic_en.png.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a0fa3d13d2c47b64c8a10c49839f888c +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StreamingAssets/Android/res/drawable/_sdk_push_big_pic_es.png b/Assets/StreamingAssets/Android/res/drawable/_sdk_push_big_pic_es.png new file mode 100644 index 0000000..3368d75 Binary files /dev/null and b/Assets/StreamingAssets/Android/res/drawable/_sdk_push_big_pic_es.png differ diff --git a/Assets/StreamingAssets/Android/res/drawable/_sdk_push_big_pic_es.png.meta b/Assets/StreamingAssets/Android/res/drawable/_sdk_push_big_pic_es.png.meta new file mode 100644 index 0000000..03c8b75 --- /dev/null +++ b/Assets/StreamingAssets/Android/res/drawable/_sdk_push_big_pic_es.png.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 10def9eb660635b468ed7fc2277a4e6f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StreamingAssets/Android/res/drawable/_sdk_toast_bg.png b/Assets/StreamingAssets/Android/res/drawable/_sdk_toast_bg.png new file mode 100644 index 0000000..81c0bf1 Binary files /dev/null and b/Assets/StreamingAssets/Android/res/drawable/_sdk_toast_bg.png differ diff --git a/Assets/StreamingAssets/Android/res/drawable/_sdk_toast_bg.png.meta b/Assets/StreamingAssets/Android/res/drawable/_sdk_toast_bg.png.meta new file mode 100644 index 0000000..35047a7 --- /dev/null +++ b/Assets/StreamingAssets/Android/res/drawable/_sdk_toast_bg.png.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f2d7efc9e85a47e98bae42a19e1d52a3 +timeCreated: 1756693525 \ No newline at end of file