From 4fc0199b40f1d4c017691676aa08c4e5c2ae059a Mon Sep 17 00:00:00 2001 From: nur nachman Date: Tue, 27 May 2025 14:24:31 +0300 Subject: [PATCH] kids SDK rc-5.4.0 --- LICENSE.md | 2 +- ...encies.xml => SingularSDKDependencies.xml} | 4 +- ....meta => SingularSDKDependencies.xml.meta} | 0 .../SingularUnityBridge-KIDS-6.11.0.jar | Bin 0 -> 18174 bytes ... SingularUnityBridge-KIDS-6.11.0.jar.meta} | 2 +- .../Plugins/Android/SingularUnityBridge.jar | Bin 15603 -> 0 bytes .../Plugins/iOS/SingularUnityWrapper.mm | 28 +++++-- SingularSDK/Runtime/SingularSDK.asmdef | 8 +- SingularSDK/Runtime/SingularSDK.cs | 77 ++++++++++++++---- SingularSDK/Runtime/Utilities.cs | 22 +++++ SingularSDK/Runtime/Utilities.cs.meta | 3 + package.json | 2 +- 12 files changed, 123 insertions(+), 25 deletions(-) rename SingularSDK/Editor/{Dependencies.xml => SingularSDKDependencies.xml} (83%) rename SingularSDK/Editor/{Dependencies.xml.meta => SingularSDKDependencies.xml.meta} (100%) create mode 100644 SingularSDK/Plugins/Android/SingularUnityBridge-KIDS-6.11.0.jar rename SingularSDK/Plugins/Android/{SingularUnityBridge.jar.meta => SingularUnityBridge-KIDS-6.11.0.jar.meta} (93%) delete mode 100644 SingularSDK/Plugins/Android/SingularUnityBridge.jar create mode 100644 SingularSDK/Runtime/Utilities.cs create mode 100644 SingularSDK/Runtime/Utilities.cs.meta diff --git a/LICENSE.md b/LICENSE.md index 2ffa872..1a15fee 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2024 Singular +Copyright (c) 2025 Singular Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/SingularSDK/Editor/Dependencies.xml b/SingularSDK/Editor/SingularSDKDependencies.xml similarity index 83% rename from SingularSDK/Editor/Dependencies.xml rename to SingularSDK/Editor/SingularSDKDependencies.xml index a07f08d..dad04ad 100644 --- a/SingularSDK/Editor/Dependencies.xml +++ b/SingularSDK/Editor/SingularSDKDependencies.xml @@ -1,13 +1,13 @@ - + https://maven.singular.net - + diff --git a/SingularSDK/Editor/Dependencies.xml.meta b/SingularSDK/Editor/SingularSDKDependencies.xml.meta similarity index 100% rename from SingularSDK/Editor/Dependencies.xml.meta rename to SingularSDK/Editor/SingularSDKDependencies.xml.meta diff --git a/SingularSDK/Plugins/Android/SingularUnityBridge-KIDS-6.11.0.jar b/SingularSDK/Plugins/Android/SingularUnityBridge-KIDS-6.11.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..9663b3ab95ffd52845d1ad9e94a5acaa53551f0c GIT binary patch literal 18174 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 literal 0 HcmV?d00001 diff --git a/SingularSDK/Plugins/Android/SingularUnityBridge.jar.meta b/SingularSDK/Plugins/Android/SingularUnityBridge-KIDS-6.11.0.jar.meta similarity index 93% rename from SingularSDK/Plugins/Android/SingularUnityBridge.jar.meta rename to SingularSDK/Plugins/Android/SingularUnityBridge-KIDS-6.11.0.jar.meta index b046cae..deff905 100644 --- a/SingularSDK/Plugins/Android/SingularUnityBridge.jar.meta +++ b/SingularSDK/Plugins/Android/SingularUnityBridge-KIDS-6.11.0.jar.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4c5b7643bfeae4020843df27341f516b +guid: 69c09ad62280240cb85b420033c75835 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/SingularSDK/Plugins/Android/SingularUnityBridge.jar b/SingularSDK/Plugins/Android/SingularUnityBridge.jar deleted file mode 100644 index aefc3a3399c4436f139b8d112ed60f7c7ffb8d48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15603 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 0){ for (NSDictionary* property in [globalProperties allValues]) { NSString* propertyKey = [property objectForKey:@"Key"]; @@ -185,8 +184,7 @@ bool StartSingularSession_(const char* configString){ singularConfig.deviceAttributionCallback = ^(NSDictionary *deviceAttributionInfo) { handleDeviceAttributionData(deviceAttributionInfo); }; - - + NSString *customSdid = [config objectForKey:@"customSdid"]; singularConfig.customSdid = customSdid; @@ -198,6 +196,16 @@ bool StartSingularSession_(const char* configString){ sendSdkMessage("SingularDidSetSdid", result); }; + NSArray *pushLinkPaths = [config objectForKey:@"pushNotificationLinkPath"]; + if (pushLinkPaths && pushLinkPaths.count > 0) { + singularConfig.pushNotificationLinkPath = pushLinkPaths; + } + + NSArray *brandedDomains = [config objectForKey:@"brandedDomains"]; + if (brandedDomains && brandedDomains.count > 0) { + singularConfig.brandedDomains = brandedDomains; + } + [Singular start:singularConfig]; return true; @@ -331,6 +339,16 @@ void SetAllowAutoIAPComplete_(bool allowed){ [Singular setAllowAutoIAPComplete:b]; } + void HandlePushNotification_(const char* payloadJson) { + NSError *error; + NSDictionary *pushPayloadDictionary = [NSJSONSerialization JSONObjectWithData:[[NSString stringWithUTF8String:payloadJson] + dataUsingEncoding:NSUTF8StringEncoding] options:0 error:&error]; + if (error) { return; } + if (pushPayloadDictionary.allKeys.count == 0) { return; } + + [Singular handlePushNotification:pushPayloadDictionary]; + } + void SetBatchesEvents_(bool setBatches){ BOOL b = setBatches ? YES : NO; [Singular setBatchesEvents:b]; @@ -475,7 +493,7 @@ void LimitDataSharing_(bool limitDataSharingValue) { bool GetLimitDataSharing_() { return [Singular getLimitDataSharing]; } - + /* Global Properties */ const char* GetGlobalProperties_() { diff --git a/SingularSDK/Runtime/SingularSDK.asmdef b/SingularSDK/Runtime/SingularSDK.asmdef index a0769b4..08ed0b1 100644 --- a/SingularSDK/Runtime/SingularSDK.asmdef +++ b/SingularSDK/Runtime/SingularSDK.asmdef @@ -11,6 +11,12 @@ "precompiledReferences": [], "autoReferenced": true, "defineConstraints": [], - "versionDefines": [], + "versionDefines": [ + { + "name": "com.unity.purchasing", + "expression": "", + "define": "SINGULAR_SDK_IAP_ENABLED" + } + ], "noEngineReferences": false } \ No newline at end of file diff --git a/SingularSDK/Runtime/SingularSDK.cs b/SingularSDK/Runtime/SingularSDK.cs index 3422900..7e1d6b4 100644 --- a/SingularSDK/Runtime/SingularSDK.cs +++ b/SingularSDK/Runtime/SingularSDK.cs @@ -18,7 +18,7 @@ public class SingularSDK : MonoBehaviour { #region SDK properties - // init: + #region init properties public string SingularAPIKey = ""; public string SingularAPISecret = ""; public bool InitializeOnAwake = true; @@ -30,7 +30,7 @@ public class SingularSDK : MonoBehaviour public static bool Initialized { get; private set; } = false; private const string UNITY_WRAPPER_NAME = "Unity"; - private const string UNITY_VERSION = "5.3.0-KIDS"; + private const string UNITY_VERSION = "5.4.0-KIDS"; // ios-only: [Obsolete] @@ -39,12 +39,12 @@ public class SingularSDK : MonoBehaviour public bool SKANEnabled = true; public bool manualSKANConversionManagement = false; public int waitForTrackingAuthorizationWithTimeoutInterval = 0; + #endregion // iOS-only - // android-only: + #region Android-only public static string fcmDeviceToken = null; public string facebookAppId; public bool collectOAID = false; - public bool limitedIdentifiersEnabled = false; private static string imei; #if UNITY_ANDROID @@ -55,13 +55,14 @@ public class SingularSDK : MonoBehaviour static bool status = false; #endif + #endregion //Android-only - // cross-os: + #region Cross-platform private Dictionary globalProperties = new Dictionary(); private static bool? limitDataSharing = null; private static string customUserId; - // deep links: + #region Deeplinks public long ddlTimeoutSec = 0; // default value (0) sets to default timeout (60s) public long sessionTimeoutSec = 0; // default value (0) sets to default timeout (60s) public long shortlinkResolveTimeout = 0; // default value (0) sets to default timeout (10s) @@ -75,27 +76,42 @@ public class SingularSDK : MonoBehaviour private Int32 resolvedSingularLinkTime; static Int32 cachedDDLMessageTime; static string cachedDDLMessage; + #endregion // Deeplinks - // session management: + #region Session management public static bool endSessionOnGoingToBackground = false; public static bool restartSessionOnReturningToForeground = false; + #endregion // Session management - // admon/batching: + #region Admom/batching public static bool batchEvents = false; private const string ADMON_REVENUE_EVENT_NAME = "__ADMON_USER_LEVEL_REVENUE__"; + #endregion // Admon/batching - // SDID: + #region SDID public static string CustomSdid; + #endregion // SDID + + #region Push Notifications + public string[] pushNotificationsLinkPaths; + #endregion // Push Notifications + + #region Branded Domains + public string[] brandedDomains; + #endregion // Branded Domains - // handlers and callbacks: + #region Handlers and Callbacks public static SingularLinkHandler registeredSingularLinkHandler = null; public static SingularDeferredDeepLinkHandler registeredDDLHandler = null; public static SingularConversionValueUpdatedHandler registeredConversionValueUpdatedHandler = null; public static SingularConversionValuesUpdatedHandler registeredConversionValuesUpdatedHandler = null; public static SingularDeviceAttributionCallbackHandler registeredDeviceAttributionCallbackHandler = null; public static SingularSdidAccessorHandler registeredSdidAccessorHandler = null; + #endregion // Handlers and Callbacks - #endregion + #endregion // Cross-platform + + #endregion // SDK properties // The Singular SDK is initialized here void Awake() @@ -178,6 +194,8 @@ private static SingularConfig BuildSingularConfig() config.SetValue("globalProperties", instance.globalProperties); config.SetValue("sessionTimeoutSec", instance.sessionTimeoutSec); config.SetValue("customSdid", CustomSdid); + config.SetValue("pushNotificationLinkPath", Utilities.DelimitedStringsArrayToArrayOfArrayOfString(instance.pushNotificationsLinkPaths, '/')); + config.SetValue("brandedDomains", instance.brandedDomains); #if UNITY_ANDROID config.SetValue("facebookAppId", instance.facebookAppId); config.SetValue("customUserId", customUserId); @@ -187,13 +205,14 @@ private static SingularConfig BuildSingularConfig() config.SetValue("enableDeferredDeepLinks", enableDeferredDeepLinks); config.SetValue("enableLogging", instance.enableLogging); config.SetValue("logLevel", instance.logLevel); - if (SingularSDK.fcmDeviceToken != null){ + if (SingularSDK.fcmDeviceToken != null) + { config.SetValue("fcmDeviceToken", SingularSDK.fcmDeviceToken); } config.SetValue("collectOAID", instance.collectOAID); - config.SetValue("limitedIdentifiersEnabled", instance.limitedIdentifiersEnabled); - if (limitDataSharing != null) { + if (limitDataSharing != null) + { config.SetValue("limitDataSharing", limitDataSharing); } @@ -296,6 +315,9 @@ private enum NSType [DllImport("__Internal")] private static extern void SetAllowAutoIAPComplete_(bool allowed); + [DllImport("__Internal")] + private static extern void HandlePushNotification_(string payloadJson); + [DllImport("__Internal")] private static extern void SetBatchesEvents_(bool allowed); @@ -838,6 +860,33 @@ public static void SetAllowAutoIAPComplete(bool allowed) #endif } + #region Push Notifications + public static void HandlePushNotification(Dictionary pushNotificationPayload) + { + if (Application.isEditor || + !Initialized || + !instance) + { + SingularUnityLogger.LogDebug("HandlePushNotification called before Singular SDK initialized. ignoring."); + return; + } + + if (pushNotificationPayload == null) + { + SingularUnityLogger.LogDebug("HandlePushNotification called with null. ignoring."); + return; + } + + string payloadAsJsonString = JsonConvert.SerializeObject(pushNotificationPayload); +#if UNITY_IOS + HandlePushNotification_(payloadAsJsonString); +#elif UNITY_ANDROID + SingularUnityLogger.LogDebug("SingularSDK HandlePushNotification is an iOS-only API which is not availalbe for Android. skipping."); +#endif + } + + #endregion // Push Notifications + void OnApplicationPause(bool paused) { if (!Initialized || !instance) diff --git a/SingularSDK/Runtime/Utilities.cs b/SingularSDK/Runtime/Utilities.cs new file mode 100644 index 0000000..4ab46ad --- /dev/null +++ b/SingularSDK/Runtime/Utilities.cs @@ -0,0 +1,22 @@ +namespace Singular +{ + public class Utilities + { + public static string[][] DelimitedStringsArrayToArrayOfArrayOfString(string[] delimitedStringsArray, char delimiter) + { + if (delimitedStringsArray == null || delimitedStringsArray.Length == 0) + { + SingularUnityLogger.LogDebug("push notification paths strings array is null or empty. skipping."); + return null; + } + + string[][] arrayOfArrayOfString = new string[delimitedStringsArray.Length][]; + for (int i = 0; i < delimitedStringsArray.Length; i++) + { + arrayOfArrayOfString[i] = delimitedStringsArray[i].Split(delimiter); + } + + return arrayOfArrayOfString; + } + } +} \ No newline at end of file diff --git a/SingularSDK/Runtime/Utilities.cs.meta b/SingularSDK/Runtime/Utilities.cs.meta new file mode 100644 index 0000000..af81bea --- /dev/null +++ b/SingularSDK/Runtime/Utilities.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: b6678959035844b2878f928ab7ff46ec +timeCreated: 1743080443 \ No newline at end of file diff --git a/package.json b/package.json index 5e15290..5d80b75 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "singular-unity-kids-package", - "version": "5.3.0", + "version": "5.4.0", "displayName": "Singular Kids", "description": "Singular Unity Kids Package", "type": "library",