diff --git a/SmartLook.Android.cs b/SmartLook.Android.cs index bb0a2dd..66511ac 100644 --- a/SmartLook.Android.cs +++ b/SmartLook.Android.cs @@ -1,116 +1,165 @@ #if UNITY_ANDROID using UnityEngine; -namespace SmartLookUnity { - public partial class SmartLook { - static AndroidJavaClass SL; - - static AndroidJavaClass getSLClass() { - if (SL == null) SL = new AndroidJavaClass("com.smartlook.sdk.smartlook.Smartlook"); - return SL; +namespace SmartLookUnity +{ + public partial class SmartLook + { + static AndroidJavaClass SL; + + static AndroidJavaClass getSLClass() + { + if (SL == null) SL = new AndroidJavaClass("com.smartlook.sdk.smartlook.Smartlook"); + return SL; + } + + static partial void SetupAndStartRecordingInternal(string key) + { + if (Application.platform == RuntimePlatform.Android) + { + getSLClass().CallStatic("setupAndStartRecording", key); + } + } + + static partial void SetupAndStartRecordingInternal(string key, int frameRate) + { + if (Application.platform == RuntimePlatform.Android) + { + getSLClass().CallStatic("setupAndStartRecording", key, frameRate); + } + } + + static partial void SetupInternal(string key) + { + if (Application.platform == RuntimePlatform.Android) + { + getSLClass().CallStatic("setup", key); + } + } + + static partial void SetupInternal(string key, int frameRate) + { + if (Application.platform == RuntimePlatform.Android) + { + getSLClass().CallStatic("setup", key, frameRate); + } + } + + static partial void StartFullscreenSensitiveModeInternal() + { + if (Application.platform == RuntimePlatform.Android) + { + getSLClass().CallStatic("startFullscreenSensitiveMode"); + } + } + + static partial void StopFullscreenSensitiveModeInternal() + { + if (Application.platform == RuntimePlatform.Android) + { + getSLClass().CallStatic("stopFullscreenSensitiveMode"); + } + } + + static partial void SetReferrerInternal(string referrer, string source) + { + if (Application.platform == RuntimePlatform.Android) + { + getSLClass().CallStatic("setReferrer", referrer, source); + } + } + + static partial void InitInternal(string key) + { + if (Application.platform == RuntimePlatform.Android) + { + getSLClass().CallStatic("init", key); + } + } + + static partial void InitInternal(string key, int frameRate) + { + if (Application.platform == RuntimePlatform.Android) + { + getSLClass().CallStatic("init", key, frameRate); + } + } + + static partial void RecordEventInternal(string eventName) + { + if (Application.platform == RuntimePlatform.Android) + { + getSLClass().CallStatic("track", eventName); + } + } + + static partial void RecordEventInternal(string eventName, string properties) + { + if (Application.platform == RuntimePlatform.Android) + { + getSLClass().CallStatic("track", eventName, properties); + } + } + + static partial void RecordNavigationEventInternal(string screenName, NavigationEventType direction) + { + if (Application.platform == RuntimePlatform.Android) + { + string internalDirection = "start"; + if (direction.Equals(NavigationEventType.exit)) { + internalDirection = "stop"; + } + getSLClass().CallStatic("trackNavigationEvent", screenName, internalDirection); + } + } + + static partial void TimeEventInternal(string eventName) + { + if (Application.platform == RuntimePlatform.Android) + { + getSLClass().CallStatic("timeEvent", eventName); + } + } + + static partial void SetUserIdentifierInternal(string userIdentifier) + { + if (Application.platform == RuntimePlatform.Android) + { + getSLClass().CallStatic("identify", userIdentifier); + } + } + + static partial void PauseRecordingInternal() + { + if (Application.platform == RuntimePlatform.Android) + { + getSLClass().CallStatic("pause"); + } + } + + static partial void ResumeRecordingInternal() + { + if (Application.platform == RuntimePlatform.Android) + { + getSLClass().CallStatic("start"); + } + } + + static partial void StartRecordingInternal() + { + if (Application.platform == RuntimePlatform.Android) + { + getSLClass().CallStatic("startRecording"); + } + } + + static partial void StopRecordingInternal() + { + if (Application.platform == RuntimePlatform.Android) + { + getSLClass().CallStatic("stopRecording"); + } + } } - - static partial void SetupAndStartRecordingInternal(string key) { - if (Application.platform == RuntimePlatform.Android) { - getSLClass().CallStatic("setupAndStartRecording", key); - } - } - - static partial void SetupAndStartRecordingInternal(string key, int frameRate) { - if (Application.platform == RuntimePlatform.Android) { - getSLClass().CallStatic("setupAndStartRecording", key, frameRate); - } - } - - static partial void SetupInternal(string key) { - if (Application.platform == RuntimePlatform.Android) { - getSLClass().CallStatic("setup", key); - } - } - - static partial void SetupInternal(string key, int frameRate) { - if (Application.platform == RuntimePlatform.Android) { - getSLClass().CallStatic("setup", key, frameRate); - } - } - - static partial void StartFullscreenSensitiveModeInternal() { - if (Application.platform == RuntimePlatform.Android) { - getSLClass().CallStatic("startFullscreenSensitiveMode"); - } - } - - static partial void StopFullscreenSensitiveModeInternal() { - if (Application.platform == RuntimePlatform.Android) { - getSLClass().CallStatic("stopFullscreenSensitiveMode"); - } - } - - static partial void SetReferrerInternal(string referrer, string source) { - if (Application.platform == RuntimePlatform.Android) { - getSLClass().CallStatic("setReferrer", referrer, source); - } - } - - static partial void InitInternal(string key) { - if (Application.platform == RuntimePlatform.Android) { - getSLClass().CallStatic("init", key); - } - } - - static partial void InitInternal(string key, int frameRate) { - if (Application.platform == RuntimePlatform.Android) { - getSLClass().CallStatic("init", key, frameRate); - } - } - - static partial void RecordEventInternal(string eventName) { - if (Application.platform == RuntimePlatform.Android) { - getSLClass().CallStatic("track", eventName); - } - } - - static partial void RecordEventInternal(string eventName, string properties) { - if (Application.platform == RuntimePlatform.Android) { - getSLClass().CallStatic("track", eventName, properties); - } - } - - static partial void TimeEventInternal(string eventName) { - if (Application.platform == RuntimePlatform.Android) { - getSLClass().CallStatic("timeEvent", eventName); - } - } - - static partial void SetUserIdentifierInternal(string userIdentifier) { - if (Application.platform == RuntimePlatform.Android) { - getSLClass().CallStatic("identify", userIdentifier); - } - } - - static partial void PauseRecordingInternal() { - if (Application.platform == RuntimePlatform.Android) { - getSLClass().CallStatic("pause"); - } - } - - static partial void ResumeRecordingInternal() { - if (Application.platform == RuntimePlatform.Android) { - getSLClass().CallStatic("start"); - } - } - - static partial void StartRecordingInternal() { - if (Application.platform == RuntimePlatform.Android) { - getSLClass().CallStatic("startRecording"); - } - } - - static partial void StopRecordingInternal() { - if (Application.platform == RuntimePlatform.Android) { - getSLClass().CallStatic("stopRecording"); - } - } - } } #endif diff --git a/SmartLook.IOS.cs b/SmartLook.IOS.cs index 5c71445..7d788de 100644 --- a/SmartLook.IOS.cs +++ b/SmartLook.IOS.cs @@ -95,6 +95,15 @@ static partial void RecordEventInternal(string eventName, string properties) { SmartlookRecordEventWithProperties(eventName, properties); } } + + //[DllImport("__Internal")] + //static extern void SmartlookRecordEvent(string eventName); + + static partial void RecordNavigationEventInternal(string screenName, NavigationEventType direction) { + if (Application.platform == RuntimePlatform.IPhonePlayer) { + + } + } [DllImport("__Internal")] static extern void SmartlookSetUserIdentifier(string userIdentifier); diff --git a/Smartlook.cs b/Smartlook.cs index 2dea94b..a257474 100644 --- a/Smartlook.cs +++ b/Smartlook.cs @@ -1,31 +1,38 @@ using UnityEngine; -namespace SmartLookUnity { - public static partial class SmartLook { +namespace SmartLookUnity +{ + public static partial class SmartLook + { - public static void SetupAndStartRecording(string key) { SetupAndStartRecordingInternal(key); } - static partial void SetupAndStartRecordingInternal(string key); + public enum NavigationEventType { enter = 0, exit = 1 } - public static void SetupAndStartRecording(string key, int frameRate) { SetupAndStartRecordingInternal(key, frameRate); } - static partial void SetupAndStartRecordingInternal(string key, int frameRate); + public static void SetupAndStartRecording(string key) { SetupAndStartRecordingInternal(key); } + static partial void SetupAndStartRecordingInternal(string key); - public static void Setup(string key) { SetupInternal(key); } - static partial void SetupInternal(string key); + public static void SetupAndStartRecording(string key, int frameRate) { SetupAndStartRecordingInternal(key, frameRate); } + static partial void SetupAndStartRecordingInternal(string key, int frameRate); - public static void Setup(string key, int frameRate) { SetupInternal(key, frameRate); } - static partial void SetupInternal(string key, int frameRate); + public static void Setup(string key) { SetupInternal(key); } + static partial void SetupInternal(string key); - public static bool IsRecording() { + public static void Setup(string key, int frameRate) { SetupInternal(key, frameRate); } + static partial void SetupInternal(string key, int frameRate); + + public static bool IsRecording() + { if (Application.platform == RuntimePlatform.Android) { return getSLClass().CallStatic("isRecording"); - } else + } + else { return true; } } - public static string GetDashboardSessionUrl() { + public static string GetDashboardSessionUrl() + { if (Application.platform == RuntimePlatform.Android) { return getSLClass().CallStatic("getDashboardSessionUrl"); @@ -36,43 +43,46 @@ public static string GetDashboardSessionUrl() { } } - public static void StartFullscreenSensitiveMode() { StartFullscreenSensitiveModeInternal(); } - static partial void StartFullscreenSensitiveModeInternal(); + public static void StartFullscreenSensitiveMode() { StartFullscreenSensitiveModeInternal(); } + static partial void StartFullscreenSensitiveModeInternal(); + + public static void StopFullscreenSensitiveMode() { StopFullscreenSensitiveModeInternal(); } + static partial void StopFullscreenSensitiveModeInternal(); - public static void StopFullscreenSensitiveMode() { StopFullscreenSensitiveModeInternal(); } - static partial void StopFullscreenSensitiveModeInternal(); + public static void SetReferrer(string referrer, string source) { SetReferrerInternal(referrer, source); } + static partial void SetReferrerInternal(string referrer, string source); - public static void SetReferrer(string referrer, string source) { SetReferrerInternal(referrer, source); } - static partial void SetReferrerInternal(string referrer, string source); + public static void Init(string key) { InitInternal(key); } + static partial void InitInternal(string key); - public static void Init(string key) { InitInternal(key); } - static partial void InitInternal(string key); + public static void Init(string key, int frameRate) { InitInternal(key, frameRate); } + static partial void InitInternal(string key, int frameRate); - public static void Init(string key, int frameRate) { InitInternal(key, frameRate); } - static partial void InitInternal(string key, int frameRate); + public static void RecordEvent(string eventName) { RecordEventInternal(eventName); } + static partial void RecordEventInternal(string eventName); - public static void RecordEvent(string eventName) { RecordEventInternal(eventName); } - static partial void RecordEventInternal(string eventName); + public static void RecordEvent(string eventName, string properties) { RecordEventInternal(eventName, properties); } + static partial void RecordEventInternal(string eventName, string properties); - public static void RecordEvent(string eventName, string properties) { RecordEventInternal(eventName, properties); } - static partial void RecordEventInternal(string eventName, string properties); + public static void RecordNavigationEvent(string screenName, NavigationEventType direction) { RecordNavigationEventInternal(screenName, direction); } + static partial void RecordNavigationEventInternal(string screenName, NavigationEventType direction); - public static void TimeEvent(string eventName) { TimeEventInternal(eventName); } - static partial void TimeEventInternal(string eventName); + public static void TimeEvent(string eventName) { TimeEventInternal(eventName); } + static partial void TimeEventInternal(string eventName); - public static void SetUserIdentifier(string userIdentifier) { SetUserIdentifierInternal(userIdentifier); } - static partial void SetUserIdentifierInternal(string userIdentifier); + public static void SetUserIdentifier(string userIdentifier) { SetUserIdentifierInternal(userIdentifier); } + static partial void SetUserIdentifierInternal(string userIdentifier); - public static void PauseRecording() { PauseRecordingInternal(); } - static partial void PauseRecordingInternal(); + public static void PauseRecording() { PauseRecordingInternal(); } + static partial void PauseRecordingInternal(); - public static void ResumeRecording() { ResumeRecordingInternal(); } - static partial void ResumeRecordingInternal(); + public static void ResumeRecording() { ResumeRecordingInternal(); } + static partial void ResumeRecordingInternal(); - public static void StartRecording() { StartRecordingInternal(); } - static partial void StartRecordingInternal(); + public static void StartRecording() { StartRecordingInternal(); } + static partial void StartRecordingInternal(); - public static void StopRecording() { StopRecordingInternal(); } - static partial void StopRecordingInternal(); - } + public static void StopRecording() { StopRecordingInternal(); } + static partial void StopRecordingInternal(); + } }