├── .DS_Store ├── .gitignore ├── CHANGELOG.md ├── CHANGELOG.md.meta ├── Documentation~ └── index.md ├── Editor.meta ├── Editor ├── Android.meta ├── Android │ ├── Dependencies.xml │ └── Dependencies.xml.meta ├── GA_AssetPostprocessor.cs ├── GA_AssetPostprocessor.cs.meta ├── GA_AutoRun.cs ├── GA_AutoRun.cs.meta ├── GA_ContinuationManager.cs ├── GA_ContinuationManager.cs.meta ├── GA_EditorUtilities.cs ├── GA_EditorUtilities.cs.meta ├── GA_Menu.cs ├── GA_Menu.cs.meta ├── GA_PostprocessBuild.cs ├── GA_PostprocessBuild.cs.meta ├── GA_SettingsInspector.cs ├── GA_SettingsInspector.cs.meta ├── GA_SignUp.cs ├── GA_SignUp.cs.meta ├── GA_UpdateWindow.cs ├── GA_UpdateWindow.cs.meta ├── GameAnalyticsInspector.cs ├── GameAnalyticsInspector.cs.meta ├── Playmaker.meta ├── Playmaker │ ├── PlayMakerPresenceCheck.cs │ ├── PlayMakerPresenceCheck.cs.meta │ ├── SendProgressionEventActionEditor.cs │ ├── SendProgressionEventActionEditor.cs.meta │ ├── SendResourceEventActionEditor.cs │ └── SendResourceEventActionEditor.cs.meta ├── com.gameanalytics.sdk.Editor.asmdef └── com.gameanalytics.sdk.Editor.asmdef.meta ├── Gizmos.meta ├── Gizmos ├── GameAnalytics.meta └── GameAnalytics │ ├── Images.meta │ ├── Images │ ├── active.png │ ├── active.png.meta │ ├── default.png │ ├── default.png.meta │ ├── delete.png │ ├── delete.png.meta │ ├── game.png │ ├── game.png.meta │ ├── home.png │ ├── home.png.meta │ ├── info.png │ ├── info.png.meta │ ├── instrument.png │ ├── instrument.png.meta │ ├── question.png │ ├── question.png.meta │ ├── update_orange.png │ ├── update_orange.png.meta │ ├── user.png │ └── user.png.meta │ ├── gaLogo.png │ └── gaLogo.png.meta ├── GooglePackages.meta ├── GooglePackages ├── com.google.external-dependency-manager-1.2.168.tgz └── com.google.external-dependency-manager-1.2.168.tgz.meta ├── LICENSE.md ├── LICENSE.md.meta ├── README.md ├── README.md.meta ├── Runtime.meta ├── Runtime ├── Android.meta ├── Android │ ├── gameanalytics.aar │ ├── gameanalytics.aar.meta │ ├── unity_gameanalytics.jar │ └── unity_gameanalytics.jar.meta ├── GameAnalytics.dll ├── GameAnalytics.dll.meta ├── Linux.meta ├── Linux │ ├── sqlite3.so │ └── sqlite3.so.meta ├── Playmaker.meta ├── Playmaker │ ├── Examples.meta │ ├── Examples │ │ ├── GameAnalyticsPlayMakerDemo.unitypackage │ │ └── GameAnalyticsPlayMakerDemo.unitypackage.meta │ ├── GAInitialize.cs │ ├── GAInitialize.cs.meta │ ├── GetABTestingId.cs │ ├── GetABTestingId.cs.meta │ ├── GetABTestingVariantId.cs │ ├── GetABTestingVariantId.cs.meta │ ├── GetRemoteConfigsValueAsString.cs │ ├── GetRemoteConfigsValueAsString.cs.meta │ ├── IsRemoteConfigsReady.cs │ ├── IsRemoteConfigsReady.cs.meta │ ├── SendAdEvent.cs │ ├── SendAdEvent.cs.meta │ ├── SendBusinessEvent.cs │ ├── SendBusinessEvent.cs.meta │ ├── SendDesignEvent.cs │ ├── SendDesignEvent.cs.meta │ ├── SendErrorEvent.cs │ ├── SendErrorEvent.cs.meta │ ├── SendProgressionEvent.cs │ ├── SendProgressionEvent.cs.meta │ ├── SendResourceEvent.cs │ ├── SendResourceEvent.cs.meta │ ├── SetCustomDimension.cs │ └── SetCustomDimension.cs.meta ├── Prefabs.meta ├── Prefabs │ ├── GameAnalytics.prefab │ └── GameAnalytics.prefab.meta ├── SamsungTV.meta ├── SamsungTV │ ├── GameAnalytics.SamsungTV.dll │ ├── GameAnalytics.SamsungTV.dll.meta │ ├── Mono.Data.Sqlite.dll │ ├── Mono.Data.Sqlite.dll.meta │ ├── sqlite3.c │ ├── sqlite3.c.meta │ ├── sqlite3.h │ └── sqlite3.h.meta ├── Scripts.meta ├── Scripts │ ├── ATT.meta │ ├── ATT │ │ ├── GameAnalyticsATTClient.cs │ │ ├── GameAnalyticsATTClient.cs.meta │ │ ├── GameAnalyticsATTObjCBridge.cs │ │ └── GameAnalyticsATTObjCBridge.cs.meta │ ├── Enums.cs │ ├── Enums.cs.meta │ ├── Events.meta │ ├── Events │ │ ├── GAValidator.cs │ │ ├── GAValidator.cs.meta │ │ ├── GA_Ads.cs │ │ ├── GA_Ads.cs.meta │ │ ├── GA_Business.cs │ │ ├── GA_Business.cs.meta │ │ ├── GA_Debug.cs │ │ ├── GA_Debug.cs.meta │ │ ├── GA_Design.cs │ │ ├── GA_Design.cs.meta │ │ ├── GA_Error.cs │ │ ├── GA_Error.cs.meta │ │ ├── GA_Progression.cs │ │ ├── GA_Progression.cs.meta │ │ ├── GA_Resource.cs │ │ ├── GA_Resource.cs.meta │ │ ├── GA_Setup.cs │ │ ├── GA_Setup.cs.meta │ │ ├── GA_SpecialEvents.cs │ │ └── GA_SpecialEvents.cs.meta │ ├── GameAnalytics.cs │ ├── GameAnalytics.cs.meta │ ├── IGameAnalyticsATTListener.cs │ ├── IGameAnalyticsATTListener.cs.meta │ ├── Setup.meta │ ├── Setup │ │ ├── Settings.cs │ │ └── Settings.cs.meta │ ├── State.meta │ ├── State │ │ ├── GAState.cs │ │ └── GAState.cs.meta │ ├── Utilities.meta │ ├── Utilities │ │ ├── GA_MiniJson.cs │ │ └── GA_MiniJson.cs.meta │ ├── Wrapper.meta │ └── Wrapper │ │ ├── GA_AndroidWrapper.cs │ │ ├── GA_AndroidWrapper.cs.meta │ │ ├── GA_MonoWrapper.cs │ │ ├── GA_MonoWrapper.cs.meta │ │ ├── GA_TizenWrapper.cs │ │ ├── GA_TizenWrapper.cs.meta │ │ ├── GA_UWPWrapper.cs │ │ ├── GA_UWPWrapper.cs.meta │ │ ├── GA_WebGLWrapper.cs │ │ ├── GA_WebGLWrapper.cs.meta │ │ ├── GA_Wrapper.cs │ │ ├── GA_Wrapper.cs.meta │ │ ├── GA_iOSWrapper.cs │ │ ├── GA_iOSWrapper.cs.meta │ │ ├── GA_tvOSWrapper.cs │ │ └── GA_tvOSWrapper.cs.meta ├── Tizen.meta ├── Tizen │ ├── libGameAnalytics.a │ └── libGameAnalytics.a.meta ├── WSA.meta ├── WSA │ ├── ARM.meta │ ├── ARM │ │ ├── GameAnalytics.UWP.dll │ │ └── GameAnalytics.UWP.dll.meta │ ├── x64.meta │ ├── x64 │ │ ├── GameAnalytics.UWP.dll │ │ └── GameAnalytics.UWP.dll.meta │ ├── x86.meta │ └── x86 │ │ ├── GameAnalytics.UWP.dll │ │ └── GameAnalytics.UWP.dll.meta ├── WebGL.meta ├── WebGL │ ├── GameAnalytics.jspre │ ├── GameAnalytics.jspre.meta │ ├── GameAnalyticsUnity.jslib │ ├── GameAnalyticsUnity.jslib.meta │ ├── GameAnalyticsUtils.jspre │ └── GameAnalyticsUtils.jspre.meta ├── Windows.meta ├── Windows │ ├── x64.meta │ ├── x64 │ │ ├── sqlite3.dll │ │ └── sqlite3.dll.meta │ ├── x86.meta │ └── x86 │ │ ├── sqlite3.dll │ │ └── sqlite3.dll.meta ├── com.gameanalytics.sdk.Runtime.asmdef ├── com.gameanalytics.sdk.Runtime.asmdef.meta ├── iOS.meta ├── iOS │ ├── GameAnalytics.h │ ├── GameAnalytics.h.meta │ ├── GameAnalytics.xcprivacy │ ├── GameAnalytics.xcprivacy.meta │ ├── GameAnalyticsATTObjCBridge.h │ ├── GameAnalyticsATTObjCBridge.h.meta │ ├── GameAnalyticsATTObjCBridge.m │ ├── GameAnalyticsATTObjCBridge.m.meta │ ├── GameAnalyticsHyperBidHelper.m │ ├── GameAnalyticsHyperBidHelper.m.meta │ ├── GameAnalyticsTopOnHelper.m │ ├── GameAnalyticsTopOnHelper.m.meta │ ├── GameAnalyticsUnity.m │ ├── GameAnalyticsUnity.m.meta │ ├── libGameAnalytics.a │ └── libGameAnalytics.a.meta ├── tvOS.meta └── tvOS │ ├── GameAnalyticsTVOS.h │ ├── GameAnalyticsTVOS.h.meta │ ├── GameAnalyticsTVOSUnity.m │ ├── GameAnalyticsTVOSUnity.m.meta │ ├── libGameAnalyticsTVOS.a │ └── libGameAnalyticsTVOS.a.meta ├── package.json └── package.json.meta /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | !Documentation~ 2 | -------------------------------------------------------------------------------- /CHANGELOG.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b80fcd3c2bb2841c5bce7e35c4ea0c34 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Documentation~/index.md: -------------------------------------------------------------------------------- 1 | Review the Unity SDK documentation at: 2 | https://gameanalytics.com/docs/unity-sdk 3 | -------------------------------------------------------------------------------- /Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f92e61ab4c58641e1a8f5b56c6552567 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Android.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f4ee4210c9704d2a9a6b650fefc3a07 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Android/Dependencies.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Editor/Android/Dependencies.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f4d3591460e6344cca6fe66ecbde645f 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/GA_AssetPostprocessor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a2403619fc556407983e282336344f15 3 | timeCreated: 1457357714 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/GA_AutoRun.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEditor; 3 | 4 | namespace GameAnalyticsSDK.Editor 5 | { 6 | public class GA_Autorun : AssetPostprocessor 7 | { 8 | static void OnPostprocessAllAssets ( string[] importedAssets,string[] deletedAssets,string[] movedAssets,string[] movedFromAssetPaths) 9 | { 10 | string[] splitPath = Application.dataPath.Split('/'); 11 | 12 | if (!splitPath[splitPath.Length - 2].Equals("ga_unity_wrapper copy")) 13 | { 14 | GA_SettingsInspector.CheckForUpdates(); 15 | } 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Editor/GA_AutoRun.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a3d477cdf26e4516ab204fc8fd9a841 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Editor/GA_ContinuationManager.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Linq; 7 | using UnityEditor; 8 | 9 | namespace GameAnalyticsSDK 10 | { 11 | //Inspired from answer on answers.unity3d.com: http://answers.unity3d.com/questions/221651/yielding-with-www-in-editor.html 12 | public static class GA_ContinuationManager 13 | { 14 | private class EditorCoroutine 15 | { 16 | public EditorCoroutine(IEnumerator routine, Func done) 17 | { 18 | Routine = routine; 19 | Done = done; 20 | } 21 | public IEnumerator Routine { get; private set; } 22 | public Func Done {get; private set;} 23 | public Action ContinueWith { get; private set; } 24 | } 25 | 26 | private static readonly List jobs = new List(); 27 | 28 | public static void StartCoroutine(IEnumerator routine,Func done) 29 | { 30 | if (!jobs.Any()) 31 | { 32 | EditorApplication.update += Update; 33 | } 34 | jobs.Add(new EditorCoroutine(routine,done)); 35 | } 36 | 37 | private static void Update() 38 | { 39 | for (int i = jobs.Count-1; i>=0; --i) 40 | { 41 | var jobIt = jobs[i]; 42 | #if UNITY_2017_1_OR_NEWER 43 | if (!jobIt.Routine.MoveNext()) //movenext is false if coroutine completed 44 | { 45 | jobs.RemoveAt(i); 46 | } 47 | #else 48 | if (jobIt.Done()) 49 | { 50 | if (!jobIt.Routine.MoveNext()) //movenext is false if coroutine completed 51 | { 52 | Debug.Log("GA_ContinuationManager.Update: Routine finished"); 53 | jobs.RemoveAt(i); 54 | } 55 | } 56 | #endif 57 | } 58 | if (!jobs.Any()) 59 | { 60 | EditorApplication.update -= Update; 61 | } 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Editor/GA_ContinuationManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 546155fc8c8e946beb7aa56aa713067c 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Editor/GA_EditorUtilities.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using System; 4 | using System.Collections.Generic; 5 | 6 | namespace GameAnalyticsSDK.Editor 7 | { 8 | public static class GA_EditorUtilities { 9 | 10 | private const string XCaller = "unity"; 11 | private const string XCallerKey = "X-Caller"; 12 | private const string XCallerVersionKey = "X-Caller-Version"; 13 | private const string XCallerPlatformKey = "X-Caller-Platform"; 14 | private const string XAuthorizationKey = "X-Authorization"; 15 | 16 | private static string XCallerVersion 17 | { 18 | get { 19 | return Application.unityVersion; 20 | } 21 | } 22 | 23 | private static string XCallerPlatform 24 | { 25 | get { 26 | EPlatform platform = EPlatform.Windows; 27 | 28 | PlatformID platformId = Environment.OSVersion.Platform; 29 | 30 | if (platformId == PlatformID.MacOSX) { 31 | platform = EPlatform.Mac; 32 | } 33 | else if (platformId == PlatformID.Unix) { 34 | platform = EPlatform.Linux; 35 | } 36 | else if (platformId == PlatformID.Win32NT || 37 | platformId == PlatformID.Win32S || 38 | platformId == PlatformID.Win32Windows || 39 | platformId == PlatformID.WinCE) { 40 | 41 | platform = EPlatform.Windows; 42 | } 43 | 44 | return platform.ToString (); 45 | } 46 | } 47 | 48 | public static Dictionary WWWHeaders() 49 | { 50 | Dictionary result = new Dictionary (); 51 | result [XCallerKey] = XCaller; 52 | result [XCallerVersionKey] = XCallerVersion; 53 | result [XCallerPlatformKey] = XCallerPlatform; 54 | 55 | return result; 56 | } 57 | 58 | public static Dictionary WWWHeadersWithAuthorization(string token) 59 | { 60 | Dictionary result = new Dictionary (); 61 | result [XCallerKey] = XCaller; 62 | result [XCallerVersionKey] = XCallerVersion; 63 | result [XCallerPlatformKey] = XCallerPlatform; 64 | result [XAuthorizationKey] = token; 65 | 66 | return result; 67 | } 68 | } 69 | 70 | public enum EPlatform 71 | { 72 | Windows, 73 | Mac, 74 | Linux 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /Editor/GA_EditorUtilities.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dfd276755e3d24398b20a727ba63f40a 3 | timeCreated: 1433250864 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/GA_Menu.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEditor; 3 | using System.IO; 4 | using System.Text.RegularExpressions; 5 | 6 | namespace GameAnalyticsSDK.Editor 7 | { 8 | public static class GA_Menu 9 | { 10 | [MenuItem ("Window/GameAnalytics/Select Settings", false, 0)] 11 | static void SelectGASettings () 12 | { 13 | Selection.activeObject = GameAnalytics.SettingsGA; 14 | } 15 | 16 | [MenuItem ("Window/GameAnalytics/Setup Guide", false, 100)] 17 | static void SetupAndTour () 18 | { 19 | GA_SignUp signup = ScriptableObject.CreateInstance (); 20 | signup.maxSize = new Vector2(640, 600); 21 | signup.minSize = new Vector2(640, 600); 22 | 23 | signup.titleContent = new GUIContent ("GameAnalytics - Setup Guide"); 24 | signup.ShowUtility (); 25 | signup.Opened(); 26 | 27 | signup.SwitchToGuideStep(); 28 | } 29 | 30 | [MenuItem ("Window/GameAnalytics/Create GameAnalytics Object", false, 200)] 31 | static void AddGASystemTracker () 32 | { 33 | if (Object.FindObjectOfType (typeof(GameAnalytics)) == null) 34 | { 35 | GameObject go = PrefabUtility.InstantiatePrefab(AssetDatabase.LoadAssetAtPath(GameAnalytics.WhereIs("GameAnalytics.prefab", "Prefab"), typeof(GameObject))) as GameObject; 36 | go.name = "GameAnalytics"; 37 | Selection.activeObject = go; 38 | Undo.RegisterCreatedObjectUndo(go, "Created GameAnalytics Object"); 39 | } 40 | else 41 | { 42 | Debug.LogWarning ("A GameAnalytics object already exists in this scene - you should never have more than one per scene!"); 43 | } 44 | } 45 | 46 | [MenuItem ("Window/GameAnalytics/PlayMaker/Toggle Scripts", false, 400)] 47 | static void TogglePlayMaker () 48 | { 49 | bool enabled = false; 50 | bool fail = false; 51 | 52 | string searchText = "#if false"; 53 | string replaceText = "#if true"; 54 | 55 | string[] _files = new string[] { 56 | "GAInitialize.cs", 57 | "GetABTestingId.cs", 58 | "GetABTestingVariantId.cs", 59 | "GetRemoteConfigsValueAsString.cs", 60 | "IsRemoteConfigsReady.cs", 61 | "SendAdEvent.cs", 62 | "SendBusinessEvent.cs", 63 | "SendDesignEvent.cs", 64 | "SendErrorEvent.cs", 65 | "SendProgressionEvent.cs", 66 | "SendResourceEvent.cs", 67 | "SetCustomDimension.cs", 68 | "SendProgressionEventActionEditor.cs", 69 | "SendResourceEventActionEditor.cs" 70 | }; 71 | 72 | foreach(string _file in _files) 73 | { 74 | try { 75 | enabled = ReplaceInFile (GameAnalytics.WhereIs(_file, "Script"), searchText, replaceText); 76 | } catch { 77 | Debug.Log("Failed to toggle "+_file); 78 | fail = true; 79 | } 80 | } 81 | 82 | AssetDatabase.Refresh(); 83 | 84 | if (fail) 85 | { 86 | PlayMakerPresenceCheck.ResetPrefs(); 87 | Debug.Log("Failed to toggle PlayMaker Scripts."); 88 | }else if (enabled) 89 | { 90 | Debug.Log("Enabled PlayMaker Scripts."); 91 | }else 92 | { 93 | PlayMakerPresenceCheck.ResetPrefs(); 94 | Debug.Log("Disabled PlayMaker Scripts."); 95 | } 96 | } 97 | 98 | public static bool ReplaceInFile (string filePath, string searchText, string replaceText) 99 | { 100 | bool enabled = false; 101 | 102 | StreamReader reader = new StreamReader (filePath); 103 | string content = reader.ReadToEnd (); 104 | reader.Close (); 105 | 106 | if (content.StartsWith(searchText)) 107 | { 108 | enabled = true; 109 | content = Regex.Replace (content, searchText, replaceText); 110 | } 111 | else 112 | { 113 | enabled = false; 114 | content = Regex.Replace (content, replaceText, searchText); 115 | } 116 | 117 | StreamWriter writer = new StreamWriter (filePath); 118 | writer.Write (content); 119 | writer.Close (); 120 | 121 | return enabled; 122 | } 123 | } 124 | } 125 | -------------------------------------------------------------------------------- /Editor/GA_Menu.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 406a6696e05cc447c8d6a01396d21b90 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Editor/GA_PostprocessBuild.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19da6243a1a7449a585f5f945b7a1f94 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Editor/GA_SettingsInspector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 771d45ab6687246f4ac00b5bf537e520 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Editor/GA_SignUp.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8badeee0f8f58488c94706222ee1e6fb 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Editor/GA_UpdateWindow.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using UnityEditor; 4 | using System.Collections.Generic; 5 | using GameAnalyticsSDK.Setup; 6 | 7 | namespace GameAnalyticsSDK.Editor 8 | { 9 | public class GA_UpdateWindow : EditorWindow 10 | { 11 | private GUIContent _close = new GUIContent("Skip", "Skip this version."); 12 | private GUIContent _download = new GUIContent("Download Page", "Open the GameAnalytics download support page."); 13 | //private GUIContent _assetStore = new GUIContent("AssetStore", "Open Unity Asset Store page in a browser window."); 14 | 15 | private Vector2 _scrollPos; 16 | 17 | void OnGUI () 18 | { 19 | GUILayout.BeginHorizontal(); 20 | 21 | GUILayout.Label(GameAnalytics.SettingsGA.Logo); 22 | 23 | GUILayout.BeginVertical(); 24 | 25 | GUILayout.Label("A new version of the GameAnalytics Unity SDK is available"); 26 | 27 | EditorGUILayout.Space(); 28 | 29 | GUILayout.Label("Currently installed version: " + GameAnalyticsSDK.Setup.Settings.VERSION); 30 | GUILayout.Label("Latest version: " + GameAnalytics.SettingsGA.NewVersion); 31 | 32 | EditorGUILayout.Space(); 33 | 34 | GUILayout.Label("Changes:"); 35 | 36 | EditorGUILayout.Space(); 37 | 38 | //EditorGUILayout.BeginVertical(); 39 | 40 | _scrollPos = EditorGUILayout.BeginScrollView(_scrollPos, GUILayout.Width (320), GUILayout.Height (160)); 41 | GUILayout.Label(new GUIContent(GameAnalytics.SettingsGA.Changes), EditorStyles.wordWrappedLabel); 42 | EditorGUILayout.EndScrollView(); 43 | 44 | //EditorGUILayout.EndVertical(); 45 | 46 | EditorGUILayout.Space(); 47 | 48 | GUILayout.Label("You can download the latest version from the GameAnalytics download support page.", EditorStyles.wordWrappedMiniLabel, GUILayout.MaxWidth(320)); 49 | 50 | EditorGUILayout.Space(); 51 | 52 | GUILayout.BeginHorizontal(); 53 | 54 | /*if (GUILayout.Button(_assetStore, GUILayout.MaxWidth(115))) 55 | { 56 | Application.OpenURL("https://www.assetstore.unity3d.com/#/content/6755"); 57 | }*/ 58 | 59 | if (GUILayout.Button(_download, GUILayout.MaxWidth(115))) 60 | { 61 | Application.OpenURL("http://download.gameanalytics.com/unity/GA_SDK_UNITY.unitypackage"); 62 | } 63 | 64 | if (GUILayout.Button(_close, GUILayout.MaxWidth(72))) 65 | { 66 | EditorPrefs.SetString("ga_skip_version"+"-"+Application.dataPath, GameAnalytics.SettingsGA.NewVersion); 67 | Close(); 68 | } 69 | 70 | GUILayout.EndHorizontal(); 71 | 72 | GUILayout.EndVertical(); 73 | 74 | GUILayout.EndHorizontal(); 75 | } 76 | 77 | public static void SetNewVersion (string newVersion) 78 | { 79 | if (!string.IsNullOrEmpty(newVersion)) 80 | { 81 | GameAnalytics.SettingsGA.NewVersion = newVersion; 82 | } 83 | } 84 | 85 | public static string GetNewVersion () 86 | { 87 | return GameAnalytics.SettingsGA.NewVersion; 88 | } 89 | 90 | public static void SetChanges (string changes) 91 | { 92 | if (!string.IsNullOrEmpty(changes)) 93 | { 94 | GameAnalytics.SettingsGA.Changes = changes; 95 | } 96 | } 97 | 98 | public static string UpdateStatus (string currentVersion) 99 | { 100 | try { 101 | int newV = int.Parse(GameAnalytics.SettingsGA.NewVersion.Replace(".","")); 102 | int oldV = int.Parse(currentVersion.Replace(".","")); 103 | 104 | if (newV > oldV) 105 | return "New update"; 106 | else 107 | return ""; 108 | } catch { 109 | return ""; 110 | } 111 | } 112 | } 113 | } -------------------------------------------------------------------------------- /Editor/GA_UpdateWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b025a92f1fe974e5faf57688a659013a 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Editor/GameAnalyticsInspector.cs: -------------------------------------------------------------------------------- 1 | /// 2 | /// The inspector for the GA prefab. 3 | /// 4 | 5 | using UnityEngine; 6 | using UnityEditor; 7 | using System.Collections.Generic; 8 | using System.Reflection.Emit; 9 | using System.Reflection; 10 | using System; 11 | using GameAnalyticsSDK.Setup; 12 | 13 | namespace GameAnalyticsSDK.Editor 14 | { 15 | [CustomEditor(typeof(GameAnalytics))] 16 | public class GameAnalyticsInspector : UnityEditor.Editor 17 | { 18 | private GUIContent _documentationLink = new GUIContent("Help", "Opens the GameAnalytics Unity SDK documentation page in your browser."); 19 | //private GUIContent _guiAllowScreenshot = new GUIContent("Take Screenshot", "If enabled the player will be able to include a screenshot when submitting feedback and bug reports (This feature is not yet fully implemented)."); 20 | 21 | override public void OnInspectorGUI () 22 | { 23 | GameAnalytics ga = target as GameAnalytics; 24 | 25 | EditorGUI.indentLevel = 1; 26 | EditorGUILayout.Space(); 27 | 28 | GUILayout.BeginHorizontal(); 29 | 30 | GUILayout.Label("GameAnalytics Object",EditorStyles.largeLabel); 31 | 32 | if (GUILayout.Button(_documentationLink, GUILayout.MaxWidth(60))) 33 | { 34 | Application.OpenURL("http://support.gameanalytics.com/"); 35 | } 36 | 37 | GUILayout.EndHorizontal(); 38 | 39 | GUILayout.BeginHorizontal(); 40 | GUILayout.Label("Basic component for initializing GameAnalytics.",EditorStyles.miniLabel); 41 | GUILayout.EndHorizontal(); 42 | 43 | EditorGUILayout.Space(); 44 | 45 | if (GUI.changed) 46 | { 47 | EditorUtility.SetDirty(ga); 48 | } 49 | } 50 | 51 | private MessageType ConvertMessageType(GameAnalyticsSDK.Setup.Settings.MessageTypes msgType) 52 | { 53 | switch (msgType) 54 | { 55 | case GameAnalyticsSDK.Setup.Settings.MessageTypes.Error: 56 | return MessageType.Error; 57 | case GameAnalyticsSDK.Setup.Settings.MessageTypes.Info: 58 | return MessageType.Info; 59 | case GameAnalyticsSDK.Setup.Settings.MessageTypes.Warning: 60 | return MessageType.Warning; 61 | default: 62 | return MessageType.None; 63 | } 64 | } 65 | } 66 | } -------------------------------------------------------------------------------- /Editor/GameAnalyticsInspector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ef714624881664191ade6c6dda4bef44 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Editor/Playmaker.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19408680da89f4453b644599992eed64 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Playmaker/PlayMakerPresenceCheck.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEditor; 3 | using System; 4 | 5 | public class PlayMakerPresenceCheck : AssetPostprocessor{ 6 | 7 | static string PlayMakerTypeCheck = "HutongGames.PlayMaker.Actions.ActivateGameObject, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"; 8 | static string PlayMakerBridgeTypeCheck = "HutongGames.PlayMaker.Actions.SendDesignEvent, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"; 9 | 10 | static string IgnorePlayMakerBridgeKey = "IgnorePlayMakerBridge"; 11 | static string PlayMakerBridgeEnabledKey = "PlayMakerBridgeEnabled"; 12 | 13 | static bool _debug = false; 14 | 15 | 16 | public static void ResetPrefs() 17 | { 18 | EditorPrefs.DeleteKey(IgnorePlayMakerBridgeKey+"-"+Application.dataPath); 19 | EditorPrefs.DeleteKey(PlayMakerBridgeEnabledKey+"-"+Application.dataPath); 20 | } 21 | 22 | static void OnPostprocessAllAssets ( string[] importedAssets,string[] deletedAssets,string[] movedAssets,string[] movedFromAssetPaths) 23 | { 24 | 25 | 26 | //check here if we have access to a PlayMaker class, if we do, then we can alert the user. 27 | bool _playmakerDetected = System.Type.GetType(PlayMakerTypeCheck) != null; 28 | 29 | // check here if we have access to the PlayMaker Bridge Class. 30 | bool _bridgeEnabled = System.Type.GetType(PlayMakerBridgeTypeCheck) !=null; 31 | 32 | if (_debug) 33 | { 34 | Debug.Log("PlayMaker detected : "+_playmakerDetected+ " , Bridge enabled="+_bridgeEnabled); 35 | } 36 | 37 | if (_playmakerDetected) 38 | { 39 | 40 | if (! _bridgeEnabled) 41 | { 42 | 43 | if (EditorPrefs.GetBool(IgnorePlayMakerBridgeKey+"-"+Application.dataPath)) 44 | { 45 | if (_debug) 46 | { 47 | Debug.Log("Ignore detection alert"); 48 | } 49 | return; 50 | } 51 | 52 | if (EditorPrefs.GetBool(PlayMakerBridgeEnabledKey+"-"+Application.dataPath) ) 53 | { 54 | if (_debug) 55 | { 56 | Debug.Log("PlayMaker found but bridge not enabled, tho we actually enabled it, so we bail"); 57 | } 58 | return; 59 | } 60 | 61 | if (_debug) 62 | { 63 | Debug.Log("PlayMaker found but bridge not enabled"); 64 | } 65 | 66 | if (EditorUtility.DisplayDialog("GameAnalytics : PlayMaker Detected","Do you want to enable PlayMaker Actions for GameAnalytics?","Yes","No")) 67 | { 68 | EditorPrefs.SetBool(PlayMakerBridgeEnabledKey+"-"+Application.dataPath,true); 69 | 70 | EditorApplication.ExecuteMenuItem("Window/GameAnalytics/PlayMaker/Toggle Scripts"); 71 | 72 | 73 | }else{ 74 | EditorPrefs.SetBool(IgnorePlayMakerBridgeKey+"-"+Application.dataPath,true); 75 | Debug.Log("To enable PlayMaker support for GameAnalytics manualy, simply go to the menu: 'Window/GameAnalytics/PlayMaker/Toggle Scripts'"); 76 | } 77 | } 78 | } 79 | 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /Editor/Playmaker/PlayMakerPresenceCheck.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 59b631ff074a747748991261a24f2a0d 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Editor/Playmaker/SendProgressionEventActionEditor.cs: -------------------------------------------------------------------------------- 1 | #if false 2 | 3 | using HutongGames.PlayMaker.Actions; 4 | using HutongGames.PlayMakerEditor; 5 | using UnityEditor; 6 | using UnityEngine; 7 | using GameAnalyticsSDK; 8 | 9 | namespace HutongGames.PlayMakerEditor 10 | { 11 | [CustomActionEditor(typeof (SendProgressionEvent))] 12 | public class SendProgressionEventActionEditor : CustomActionEditor 13 | { 14 | 15 | public override bool OnGUI() 16 | { 17 | bool edited = false; 18 | SendProgressionEvent _target = (SendProgressionEvent)target; 19 | 20 | if (_target.ProgressionStatusAsString == null) 21 | { 22 | _target.ProgressionStatusAsString = new HutongGames.PlayMaker.FsmString(){ UseVariable=false }; 23 | } 24 | 25 | if (_target.ProgressionStatusAsString.UseVariable) 26 | { 27 | EditField("ProgressionStatusAsString"); 28 | 29 | } 30 | else 31 | { 32 | GUILayout.BeginHorizontal(); 33 | _target.ProgressionStatus = (GAProgressionStatus)EditorGUILayout.EnumPopup("Progression Status", _target.ProgressionStatus); 34 | 35 | if (PlayMakerEditor.FsmEditorGUILayout.MiniButtonPadded(PlayMakerEditor.FsmEditorContent.VariableButton)) 36 | { 37 | _target.ProgressionStatusAsString.UseVariable = true; 38 | } 39 | GUILayout.EndHorizontal(); 40 | } 41 | 42 | EditField("Progression01"); 43 | 44 | if (_target.Progression01.Value != "" || !_target.Progression01.IsNone) 45 | EditField("Progression02"); 46 | 47 | if (_target.Progression02.Value != "" || !_target.Progression02.IsNone) 48 | EditField("Progression03"); 49 | 50 | EditField("Score"); 51 | 52 | return GUI.changed || edited; 53 | } 54 | 55 | } 56 | } 57 | 58 | #endif -------------------------------------------------------------------------------- /Editor/Playmaker/SendProgressionEventActionEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d4cc2e81a2a44fcbba82d0af4fe74fc 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Editor/Playmaker/SendResourceEventActionEditor.cs: -------------------------------------------------------------------------------- 1 | #if false 2 | 3 | using HutongGames.PlayMaker.Actions; 4 | using HutongGames.PlayMakerEditor; 5 | using UnityEditor; 6 | using UnityEngine; 7 | using GameAnalyticsSDK; 8 | 9 | namespace HutongGames.PlayMakerEditor 10 | { 11 | [CustomActionEditor(typeof (SendResourceEvent))] 12 | public class SendResourceEventActionEditor : CustomActionEditor 13 | { 14 | 15 | public override bool OnGUI() 16 | { 17 | bool edited = false; 18 | SendResourceEvent _target = (SendResourceEvent)target; 19 | 20 | if (_target.ResourceFlowTypeAsString == null) 21 | { 22 | _target.ResourceFlowTypeAsString = new HutongGames.PlayMaker.FsmString(){ UseVariable=false }; 23 | } 24 | 25 | if (_target.ResourceFlowTypeAsString.UseVariable) 26 | { 27 | EditField("ResourceFlowTypeAsString"); 28 | 29 | } 30 | else 31 | { 32 | GUILayout.BeginHorizontal(); 33 | _target.ResourceFlowType = (GAResourceFlowType)EditorGUILayout.EnumPopup("Resource Flow Type", _target.ResourceFlowType); 34 | 35 | if (PlayMakerEditor.FsmEditorGUILayout.MiniButtonPadded(PlayMakerEditor.FsmEditorContent.VariableButton)) 36 | { 37 | _target.ResourceFlowTypeAsString.UseVariable = true; 38 | } 39 | GUILayout.EndHorizontal(); 40 | } 41 | 42 | EditField("ResourceCurrency"); 43 | EditField("Amount"); 44 | EditField("ItemType"); 45 | EditField("ItemID"); 46 | 47 | return GUI.changed || edited; 48 | } 49 | 50 | } 51 | } 52 | 53 | #endif -------------------------------------------------------------------------------- /Editor/Playmaker/SendResourceEventActionEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f50974faf2211494d9c937a90c66fc94 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Editor/com.gameanalytics.sdk.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "GameAnalyticsSDK.Editor", 3 | "rootNamespace": "GameAnalyticsSDK.Editor", 4 | "references": [ 5 | "GameAnalyticsSDK" 6 | ], 7 | "includePlatforms": [ 8 | "Editor" 9 | ], 10 | "excludePlatforms": [], 11 | "allowUnsafeCode": false, 12 | "overrideReferences": false, 13 | "precompiledReferences": [], 14 | "autoReferenced": true, 15 | "defineConstraints": [], 16 | "versionDefines": [], 17 | "noEngineReferences": false 18 | } -------------------------------------------------------------------------------- /Editor/com.gameanalytics.sdk.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 764a0e1d3535a456e9a4bf0c23f88bf7 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Gizmos.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e84d84c62e3464c2dbbaca66d1679469 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Gizmos/GameAnalytics.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0815a0dd77f0048c28eb65386cbbaa8f 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 33f691f424cec47a3a0f33815f922bd2 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Gizmos/GameAnalytics/Images/active.png -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/active.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a410468f562749b09418cdaaa03e6c3 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | linearTexture: 1 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 256 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 2 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Gizmos/GameAnalytics/Images/default.png -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/default.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a098930e63804755878cae3eada3bd7 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | linearTexture: 1 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 256 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 2 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Gizmos/GameAnalytics/Images/delete.png -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/delete.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85a626f1668244d30a4e9f616991a793 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | linearTexture: 1 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 32 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 2 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Gizmos/GameAnalytics/Images/game.png -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/game.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9ac7103fc40b4e00923bf8c2cb5d30f 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | linearTexture: 1 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 64 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 2 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Gizmos/GameAnalytics/Images/home.png -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/home.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe7e2ecc9b2fe447bafe90f6395d4709 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | linearTexture: 1 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 32 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 2 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Gizmos/GameAnalytics/Images/info.png -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/info.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1b4dd779aadd54ac88856975af0d3c0a 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | linearTexture: 1 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 32 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 2 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/instrument.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Gizmos/GameAnalytics/Images/instrument.png -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/instrument.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2ba470b4dffd848c6b267c34770cc63e 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | linearTexture: 1 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 64 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 2 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/question.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Gizmos/GameAnalytics/Images/question.png -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/question.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8ea67e311b0c4b2ea05718e90fd3b5b 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | linearTexture: 1 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 32 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 2 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/update_orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Gizmos/GameAnalytics/Images/update_orange.png -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/update_orange.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 810bbb19deed24f3cb7b854f9bafde26 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | linearTexture: 1 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 32 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 2 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Gizmos/GameAnalytics/Images/user.png -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/Images/user.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f49ef75333ff247cfb5dad4dab0d4dac 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | linearTexture: 1 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 64 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 2 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/gaLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Gizmos/GameAnalytics/gaLogo.png -------------------------------------------------------------------------------- /Gizmos/GameAnalytics/gaLogo.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98df8f9c5678a4e5d964caa1244e8958 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 0 9 | linearTexture: 1 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 64 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: -1 30 | wrapMode: 1 31 | nPOTScale: 0 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 1 42 | textureType: 2 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /GooglePackages.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e9ec6fcdfc904f27bd57071f0058c88 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /GooglePackages/com.google.external-dependency-manager-1.2.168.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/GooglePackages/com.google.external-dependency-manager-1.2.168.tgz -------------------------------------------------------------------------------- /GooglePackages/com.google.external-dependency-manager-1.2.168.tgz.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd5816229e4fa47e889bd1491aec2faa 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Game Analytics 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /LICENSE.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b58062544dc6a4684b7986120a826d5f 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![openupm](https://img.shields.io/npm/v/com.gameanalytics.sdk?label=openupm®istry_uri=https://package.openupm.com)](https://openupm.com/packages/com.gameanalytics.sdk/) 2 | 3 | 4 | # GA-SDK-UNITY 5 | GameAnalytics Unity SDK. 6 | 7 | Documentation can be found [here](https://gameanalytics.com/docs/unity-sdk). 8 | 9 | If you have any issues or feedback regarding the SDK, please contact our friendly support team [here](https://gameanalytics.com/contact). 10 | 11 | This is a custom package used with [Unity Package Manager](https://docs.unity3d.com/Manual/Packages.html) if you want the usual .unitypackage you can download it [here](https://download.gameanalytics.com/unity/GA_SDK_UNITY.unitypackage). 12 | 13 | OBS: If you want to use ILRD with the SDK and you are getting the SDK via UPM you need to download this .unitypackage [here](https://download.gameanalytics.com/unity/GA_ILRD_UNITY.unitypackage). This has to do with some dependency issues with the Ad SDKs which are not on UPM yet. 14 | 15 | > :information_source: 16 | > The Unity SDK include support for **Windows**, **Mac**, **Linux**, **WebGL**, **iOS**, **tvOS**, **Tizen**, **UWP**, **Universal Windows 8** and **Android**. 17 | > 18 | > **Build size:** 19 | > Note that download size differ from the actual build size. 20 | > 21 | > **Android:** 22 | > The SDK build size in a native Android app is only around **49Kb** and the dependencies take up to **820Kb** depending if your app already uses some of the same dependencies. 23 | > 24 | > **iOS:** 25 | > The SDK build size in a native iOS app is only around **242Kb** (armv7) / **259Kb** (armv8). 26 | 27 | 28 | [Changelog](CHANGELOG.md) 29 | -------------------------------------------------------------------------------- /README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9da2a76077c244e25a15f11762e04ed4 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 627a3504e68c045ff976bb539593c552 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Android.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 597ee60d9a475c840bd1048278120a0c 3 | folderAsset: yes 4 | timeCreated: 1537519465 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/Android/gameanalytics.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Runtime/Android/gameanalytics.aar -------------------------------------------------------------------------------- /Runtime/Android/gameanalytics.aar.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 316a5978eed5b400c8dd756e6eb47fdc 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 1 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | : Any 16 | second: 17 | enabled: 0 18 | settings: 19 | Exclude Android: 0 20 | Exclude Editor: 1 21 | Exclude Linux64: 1 22 | Exclude OSXUniversal: 1 23 | Exclude WebGL: 1 24 | Exclude Win: 1 25 | Exclude Win64: 1 26 | Exclude iOS: 1 27 | - first: 28 | Android: Android 29 | second: 30 | enabled: 1 31 | settings: 32 | CPU: ARMv7 33 | - first: 34 | Any: 35 | second: 36 | enabled: 0 37 | settings: {} 38 | - first: 39 | Editor: Editor 40 | second: 41 | enabled: 0 42 | settings: 43 | CPU: AnyCPU 44 | DefaultValueInitialized: true 45 | OS: AnyOS 46 | - first: 47 | Standalone: Linux64 48 | second: 49 | enabled: 0 50 | settings: 51 | CPU: AnyCPU 52 | - first: 53 | Standalone: OSXUniversal 54 | second: 55 | enabled: 0 56 | settings: 57 | CPU: AnyCPU 58 | - first: 59 | Standalone: Win 60 | second: 61 | enabled: 0 62 | settings: 63 | CPU: AnyCPU 64 | - first: 65 | Standalone: Win64 66 | second: 67 | enabled: 0 68 | settings: 69 | CPU: AnyCPU 70 | - first: 71 | iPhone: iOS 72 | second: 73 | enabled: 0 74 | settings: 75 | AddToEmbeddedBinaries: false 76 | CPU: AnyCPU 77 | CompileFlags: 78 | FrameworkDependencies: 79 | userData: 80 | assetBundleName: 81 | assetBundleVariant: 82 | -------------------------------------------------------------------------------- /Runtime/Android/unity_gameanalytics.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Runtime/Android/unity_gameanalytics.jar -------------------------------------------------------------------------------- /Runtime/Android/unity_gameanalytics.jar.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 63c7fbb74d1694323b632b9b4cd7d1d1 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 1 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | : Any 16 | second: 17 | enabled: 0 18 | settings: 19 | Exclude Android: 0 20 | Exclude Editor: 1 21 | Exclude Linux64: 1 22 | Exclude OSXUniversal: 1 23 | Exclude WebGL: 1 24 | Exclude Win: 1 25 | Exclude Win64: 1 26 | Exclude iOS: 1 27 | - first: 28 | Android: Android 29 | second: 30 | enabled: 1 31 | settings: 32 | CPU: ARMv7 33 | - first: 34 | Any: 35 | second: 36 | enabled: 0 37 | settings: {} 38 | - first: 39 | Editor: Editor 40 | second: 41 | enabled: 0 42 | settings: 43 | CPU: AnyCPU 44 | DefaultValueInitialized: true 45 | OS: AnyOS 46 | - first: 47 | Standalone: Linux64 48 | second: 49 | enabled: 0 50 | settings: 51 | CPU: AnyCPU 52 | - first: 53 | Standalone: OSXUniversal 54 | second: 55 | enabled: 0 56 | settings: 57 | CPU: AnyCPU 58 | - first: 59 | Standalone: Win 60 | second: 61 | enabled: 0 62 | settings: 63 | CPU: AnyCPU 64 | - first: 65 | Standalone: Win64 66 | second: 67 | enabled: 0 68 | settings: 69 | CPU: AnyCPU 70 | - first: 71 | iPhone: iOS 72 | second: 73 | enabled: 0 74 | settings: 75 | AddToEmbeddedBinaries: false 76 | CPU: AnyCPU 77 | CompileFlags: 78 | FrameworkDependencies: 79 | userData: 80 | assetBundleName: 81 | assetBundleVariant: 82 | -------------------------------------------------------------------------------- /Runtime/GameAnalytics.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Runtime/GameAnalytics.dll -------------------------------------------------------------------------------- /Runtime/GameAnalytics.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e185dadd9acc8487d8d4bb2936a243cc 3 | timeCreated: 1572358580 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Any: 12 | enabled: 0 13 | settings: {} 14 | Editor: 15 | enabled: 0 16 | settings: 17 | DefaultValueInitialized: true 18 | Linux: 19 | enabled: 1 20 | settings: {} 21 | Linux64: 22 | enabled: 1 23 | settings: {} 24 | LinuxUniversal: 25 | enabled: 1 26 | settings: {} 27 | OSXIntel: 28 | enabled: 1 29 | settings: {} 30 | OSXIntel64: 31 | enabled: 1 32 | settings: {} 33 | OSXUniversal: 34 | enabled: 1 35 | settings: {} 36 | Win: 37 | enabled: 1 38 | settings: {} 39 | Win64: 40 | enabled: 1 41 | settings: {} 42 | WindowsStoreApps: 43 | enabled: 0 44 | settings: 45 | CPU: AnyCPU 46 | userData: 47 | assetBundleName: 48 | assetBundleVariant: 49 | -------------------------------------------------------------------------------- /Runtime/Linux.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f10ba24b63b2c46459091962994de8c1 3 | folderAsset: yes 4 | timeCreated: 1460635935 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/Linux/sqlite3.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Runtime/Linux/sqlite3.so -------------------------------------------------------------------------------- /Runtime/Linux/sqlite3.so.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0683b20eb25df464b8f46d93396af7f6 3 | timeCreated: 1565687811 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Any: 12 | enabled: 0 13 | settings: {} 14 | Editor: 15 | enabled: 0 16 | settings: 17 | DefaultValueInitialized: true 18 | Linux: 19 | enabled: 1 20 | settings: {} 21 | Linux64: 22 | enabled: 1 23 | settings: {} 24 | LinuxUniversal: 25 | enabled: 1 26 | settings: {} 27 | userData: 28 | assetBundleName: 29 | assetBundleVariant: 30 | -------------------------------------------------------------------------------- /Runtime/Playmaker.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6fec94307c4a3455aa36a1c8ce4624f2 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime/Playmaker/Examples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 37976cfe0530549b39d0f7e0271a4255 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime/Playmaker/Examples/GameAnalyticsPlayMakerDemo.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Runtime/Playmaker/Examples/GameAnalyticsPlayMakerDemo.unitypackage -------------------------------------------------------------------------------- /Runtime/Playmaker/Examples/GameAnalyticsPlayMakerDemo.unitypackage.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 407ffca6c655a443ba2a0b82d2a43bdc 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Runtime/Playmaker/GAInitialize.cs: -------------------------------------------------------------------------------- 1 | #if false 2 | 3 | using System; 4 | using UnityEngine; 5 | using GameAnalyticsSDK; 6 | using GameAnalyticsSDK.Events; 7 | 8 | namespace HutongGames.PlayMaker.Actions 9 | { 10 | [ActionCategory("GameAnalytics")] 11 | [Tooltip("Initialize GameAnalytics SDK")] 12 | public class GAInitialize : FsmStateAction 13 | { 14 | public override void Reset() 15 | { 16 | } 17 | 18 | public override void OnEnter() 19 | { 20 | GameAnalytics.Initialize(); 21 | 22 | Finish(); 23 | } 24 | } 25 | } 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /Runtime/Playmaker/GAInitialize.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9370f17c653e94c29948b6883597f4f3 3 | timeCreated: 1537177094 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Runtime/Playmaker/GetABTestingId.cs: -------------------------------------------------------------------------------- 1 | #if false 2 | 3 | using System; 4 | using UnityEngine; 5 | using GameAnalyticsSDK; 6 | using GameAnalyticsSDK.Events; 7 | 8 | namespace HutongGames.PlayMaker.Actions 9 | { 10 | [ActionCategory("GameAnalytics")] 11 | [Tooltip("Get AB testing id")] 12 | public class GetABTestingId : FsmStateAction 13 | { 14 | [ActionSection("Store Result")] 15 | 16 | [UIHint(UIHint.Variable)] 17 | [RequiredField] 18 | [Tooltip("Store the result of the method call.")] 19 | public FsmString storeResult; 20 | 21 | public override void Reset() 22 | { 23 | } 24 | 25 | public override void OnEnter() 26 | { 27 | storeResult.Value = GameAnalytics.GetABTestingId(); 28 | 29 | Finish(); 30 | } 31 | } 32 | } 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /Runtime/Playmaker/GetABTestingId.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 454d889a3c60a494aa071812450cf1e2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/Playmaker/GetABTestingVariantId.cs: -------------------------------------------------------------------------------- 1 | #if false 2 | 3 | using System; 4 | using UnityEngine; 5 | using GameAnalyticsSDK; 6 | using GameAnalyticsSDK.Events; 7 | 8 | namespace HutongGames.PlayMaker.Actions 9 | { 10 | [ActionCategory("GameAnalytics")] 11 | [Tooltip("Get AB testing variant id")] 12 | public class GetABTestingVariantId : FsmStateAction 13 | { 14 | [ActionSection("Store Result")] 15 | 16 | [UIHint(UIHint.Variable)] 17 | [RequiredField] 18 | [Tooltip("Store the result of the method call.")] 19 | public FsmString storeResult; 20 | 21 | public override void Reset() 22 | { 23 | } 24 | 25 | public override void OnEnter() 26 | { 27 | storeResult.Value = GameAnalytics.GetABTestingVariantId(); 28 | 29 | Finish(); 30 | } 31 | } 32 | } 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /Runtime/Playmaker/GetABTestingVariantId.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 839df1d9532264d9c9365e5fe1469267 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/Playmaker/GetRemoteConfigsValueAsString.cs: -------------------------------------------------------------------------------- 1 | #if false 2 | 3 | using System; 4 | using UnityEngine; 5 | using GameAnalyticsSDK; 6 | using GameAnalyticsSDK.Events; 7 | 8 | namespace HutongGames.PlayMaker.Actions 9 | { 10 | [ActionCategory("GameAnalytics")] 11 | [Tooltip("Get remote config value as string")] 12 | public class GetRemoteConfigsValueAsString : FsmStateAction 13 | { 14 | [Tooltip("The remote config key")] 15 | [RequiredField] 16 | public FsmString Key; 17 | 18 | [Tooltip("The remote config default value if the key is present in remote configs")] 19 | public FsmString DefaultValue; 20 | 21 | [ActionSection("Store Result")] 22 | 23 | [UIHint(UIHint.Variable)] 24 | [RequiredField] 25 | [Tooltip("Store the result of the method call.")] 26 | public FsmString storeResult; 27 | 28 | public override void Reset() 29 | { 30 | } 31 | 32 | public override void OnEnter() 33 | { 34 | if(DefaultValue.IsNone) 35 | { 36 | storeResult.Value = GameAnalytics.GetRemoteConfigsValueAsString(Key.Value); 37 | } 38 | else 39 | { 40 | storeResult.Value = GameAnalytics.GetRemoteConfigsValueAsString(Key.Value, DefaultValue.Value); 41 | } 42 | 43 | Finish(); 44 | } 45 | } 46 | } 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /Runtime/Playmaker/GetRemoteConfigsValueAsString.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 385dfd45fbeae4407b26dab4174751a1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/Playmaker/IsRemoteConfigsReady.cs: -------------------------------------------------------------------------------- 1 | #if false 2 | 3 | using System; 4 | using UnityEngine; 5 | using GameAnalyticsSDK; 6 | using GameAnalyticsSDK.Events; 7 | 8 | namespace HutongGames.PlayMaker.Actions 9 | { 10 | [ActionCategory("GameAnalytics")] 11 | [Tooltip("Is remote configs ready")] 12 | public class IsRemoteConfigsReady : FsmStateAction 13 | { 14 | [ActionSection("Store Result")] 15 | 16 | [UIHint(UIHint.Variable)] 17 | [RequiredField] 18 | [Tooltip("Store the result of the method call.")] 19 | public FsmBool storeResult; 20 | 21 | public override void Reset() 22 | { 23 | } 24 | 25 | public override void OnEnter() 26 | { 27 | storeResult.Value = GameAnalytics.IsRemoteConfigsReady(); 28 | 29 | Finish(); 30 | } 31 | } 32 | } 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /Runtime/Playmaker/IsRemoteConfigsReady.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b4b02fb883d7e45cc9d445c8eca67419 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/Playmaker/SendAdEvent.cs: -------------------------------------------------------------------------------- 1 | #if false 2 | 3 | using System; 4 | using GameAnalyticsSDK; 5 | using GameAnalyticsSDK.Events; 6 | 7 | namespace HutongGames.PlayMaker.Actions 8 | { 9 | [ActionCategory("GameAnalytics")] 10 | [Tooltip("Sends an ad event message to the GameAnalytics server")] 11 | [HelpUrl("https://hutonggames.fogbugz.com/default.asp?W1164")] 12 | public class SendAdEvent : FsmStateAction 13 | { 14 | [Tooltip("The ad action")] 15 | public GAAdAction AdAction; 16 | 17 | [Tooltip("The ad type")] 18 | public GAAdType AdType; 19 | 20 | [RequiredField] 21 | [Tooltip("Ad SDK name")] 22 | public FsmString AdSdkName; 23 | 24 | [RequiredField] 25 | [Tooltip("Ad placement")] 26 | public FsmString AdPlacement; 27 | 28 | [RequiredField] 29 | [Tooltip("Ad error reason")] 30 | public GAAdError AdErrorReason; 31 | 32 | [Tooltip("Ad video duration watched")] 33 | public FsmInt Duration; 34 | 35 | public override void Reset() 36 | { 37 | AdAction = GAAdAction.Show; 38 | AdType = GAAdType.Interstitial; 39 | AdSdkName = new FsmString() { UseVariable = false }; 40 | AdPlacement = new FsmString() { UseVariable = false }; 41 | AdErrorReason = GAAdError.Undefined; 42 | Duration = new FsmInt() { UseVariable = false }; 43 | } 44 | 45 | public override void OnEnter() 46 | { 47 | if(!Duration.IsNone) 48 | { 49 | GA_Ads.NewEvent(AdAction, AdType, AdSdkName.Value, AdPlacement.Value, Duration.Value, null, false); 50 | } 51 | else if (AdErrorReason != GAAdError.Undefined) 52 | { 53 | GA_Ads.NewEvent(AdAction, AdType, AdSdkName.Value, AdPlacement.Value, AdErrorReason, null, false); 54 | } 55 | else 56 | { 57 | GA_Ads.NewEvent(AdAction, AdType, AdSdkName.Value, AdPlacement.Value, null, false); 58 | } 59 | 60 | Finish(); 61 | } 62 | } 63 | } 64 | 65 | #endif 66 | -------------------------------------------------------------------------------- /Runtime/Playmaker/SendAdEvent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 08aa36c620a9340648d45b3707830e81 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Playmaker/SendBusinessEvent.cs: -------------------------------------------------------------------------------- 1 | #if false 2 | 3 | using System; 4 | using GameAnalyticsSDK; 5 | 6 | namespace HutongGames.PlayMaker.Actions 7 | { 8 | [ActionCategory("GameAnalytics")] 9 | [Tooltip("Sends a business event message to the GameAnalytics server with no validation")] 10 | [HelpUrl("https://hutonggames.fogbugz.com/default.asp?W1163")] 11 | public class SendBusinessEvent : FsmStateAction 12 | { 13 | [RequiredField] 14 | [Tooltip("Abbreviation of the currency used for the transaction. F.x. USD (U.S. Dollars)")] 15 | public FsmString Currency; 16 | 17 | [RequiredField] 18 | [Tooltip("Amount of real currency, in cents")] 19 | public FsmInt Amount; 20 | 21 | [RequiredField] 22 | [Tooltip("Type of IAP item purchased (e.g. Coins)")] 23 | public FsmString ItemType; 24 | 25 | [RequiredField] 26 | [Tooltip("Specific item purchased (e.g. CoinPack001)")] 27 | public FsmString ItemID; 28 | 29 | [RequiredField] 30 | [Tooltip("Cart Type")] 31 | public FsmString CartType; 32 | 33 | public override void Reset() 34 | { 35 | Currency = new FsmString() { UseVariable = false }; 36 | Amount = new FsmInt() { UseVariable = false }; 37 | ItemType = new FsmString() { UseVariable = false }; 38 | ItemID = new FsmString() { UseVariable = false }; 39 | CartType = new FsmString() { UseVariable = false }; 40 | } 41 | 42 | public override void OnEnter() 43 | { 44 | GameAnalytics.NewBusinessEvent(Currency.Value, Amount.Value, ItemType.Value, ItemID.Value, CartType.Value); 45 | 46 | Finish(); 47 | } 48 | } 49 | 50 | #if UNITY_IOS || UNITY_TVOS 51 | [ActionCategory("GameAnalytics")] 52 | [Tooltip("Sends an iOS business event message to the GameAnalytics server")] 53 | [HelpUrl("https://hutonggames.fogbugz.com/default.asp?W1163")] 54 | public class SendBusinessEventIOS : FsmStateAction 55 | { 56 | [RequiredField] 57 | [Tooltip("Abbreviation of the currency used for the transaction. F.x. USD (U.S. Dollars)")] 58 | public FsmString Currency; 59 | 60 | [RequiredField] 61 | [Tooltip("Amount of real currency, in cents")] 62 | public FsmInt Amount; 63 | 64 | [RequiredField] 65 | [Tooltip("Type of IAP item purchased (e.g. Coins)")] 66 | public FsmString ItemType; 67 | 68 | [RequiredField] 69 | [Tooltip("Specific item purchased (e.g. CoinPack001)")] 70 | public FsmString ItemID; 71 | 72 | [RequiredField] 73 | [Tooltip("Cart Type")] 74 | public FsmString CartType; 75 | 76 | [Tooltip("App Store Receipt, used for purchase validation")] 77 | public FsmString Receipt; 78 | 79 | public override void Reset() 80 | { 81 | Currency = new FsmString() { UseVariable = false }; 82 | Amount = new FsmInt() { UseVariable = false }; 83 | ItemType = new FsmString() { UseVariable = false }; 84 | ItemID = new FsmString() { UseVariable = false }; 85 | CartType = new FsmString() { UseVariable = false }; 86 | Receipt = new FsmString() { UseVariable = false }; 87 | } 88 | 89 | public override void OnEnter() 90 | { 91 | GameAnalytics.NewBusinessEventIOS(Currency.Value, Amount.Value, ItemType.Value, ItemID.Value, CartType.Value, Receipt.Value); 92 | 93 | Finish(); 94 | } 95 | } 96 | 97 | [ActionCategory("GameAnalytics")] 98 | [Tooltip("Sends an iOS business with auto fetch receipt event message to the GameAnalytics server")] 99 | [HelpUrl("https://hutonggames.fogbugz.com/default.asp?W1163")] 100 | public class SendBusinessEventIOSAutoFetchReceipt : FsmStateAction 101 | { 102 | [RequiredField] 103 | [Tooltip("Abbreviation of the currency used for the transaction. F.x. USD (U.S. Dollars)")] 104 | public FsmString Currency; 105 | 106 | [RequiredField] 107 | [Tooltip("Amount of real currency, in cents")] 108 | public FsmInt Amount; 109 | 110 | [RequiredField] 111 | [Tooltip("Type of IAP item purchased (e.g. Coins)")] 112 | public FsmString ItemType; 113 | 114 | [RequiredField] 115 | [Tooltip("Specific item purchased (e.g. CoinPack001)")] 116 | public FsmString ItemID; 117 | 118 | [RequiredField] 119 | [Tooltip("Cart Type")] 120 | public FsmString CartType; 121 | 122 | public override void Reset() 123 | { 124 | Currency = new FsmString() { UseVariable = false }; 125 | Amount = new FsmInt() { UseVariable = false }; 126 | ItemType = new FsmString() { UseVariable = false }; 127 | ItemID = new FsmString() { UseVariable = false }; 128 | CartType = new FsmString() { UseVariable = false }; 129 | } 130 | 131 | public override void OnEnter() 132 | { 133 | GameAnalytics.NewBusinessEventIOSAutoFetchReceipt(Currency.Value, Amount.Value, ItemType.Value, ItemID.Value, CartType.Value); 134 | 135 | Finish(); 136 | } 137 | } 138 | #endif 139 | 140 | #if UNITY_ANDROID 141 | [ActionCategory("GameAnalytics")] 142 | [Tooltip("Sends a Google Play business event message to the GameAnalytics server")] 143 | [HelpUrl("https://hutonggames.fogbugz.com/default.asp?W1163")] 144 | public class SendBusinessEventGooglePlay : FsmStateAction 145 | { 146 | [RequiredField] 147 | [Tooltip("Abbreviation of the currency used for the transaction. F.x. USD (U.S. Dollars)")] 148 | public FsmString Currency; 149 | 150 | [RequiredField] 151 | [Tooltip("Amount of real currency, in cents")] 152 | public FsmInt Amount; 153 | 154 | [RequiredField] 155 | [Tooltip("Type of IAP item purchased (e.g. Coins)")] 156 | public FsmString ItemType; 157 | 158 | [RequiredField] 159 | [Tooltip("Specific item purchased (e.g. CoinPack001)")] 160 | public FsmString ItemID; 161 | 162 | [RequiredField] 163 | [Tooltip("Cart Type")] 164 | public FsmString CartType; 165 | 166 | [Tooltip("App Store Receipt, used for purchase validation")] 167 | public FsmString Receipt; 168 | 169 | [RequiredField] 170 | [Tooltip("Signature for In-App purchase, used for purchase validation")] 171 | public FsmString Signature; 172 | 173 | public override void Reset() 174 | { 175 | Currency = new FsmString() { UseVariable = false }; 176 | Amount = new FsmInt() { UseVariable = false }; 177 | ItemType = new FsmString() { UseVariable = false }; 178 | ItemID = new FsmString() { UseVariable = false }; 179 | CartType = new FsmString() { UseVariable = false }; 180 | Receipt = new FsmString() { UseVariable = false }; 181 | Signature = new FsmString() { UseVariable = false }; 182 | } 183 | 184 | public override void OnEnter() 185 | { 186 | GameAnalytics.NewBusinessEventGooglePlay(Currency.Value, Amount.Value, ItemType.Value, ItemID.Value, CartType.Value, Receipt.Value, Signature.Value); 187 | 188 | Finish(); 189 | } 190 | } 191 | #endif 192 | } 193 | 194 | #endif 195 | -------------------------------------------------------------------------------- /Runtime/Playmaker/SendBusinessEvent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c4b16e44b6ce4aa3829724d9730e8b6 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Playmaker/SendDesignEvent.cs: -------------------------------------------------------------------------------- 1 | #if false 2 | 3 | using System; 4 | using GameAnalyticsSDK; 5 | using GameAnalyticsSDK.Events; 6 | 7 | namespace HutongGames.PlayMaker.Actions 8 | { 9 | [ActionCategory("GameAnalytics")] 10 | [Tooltip("Sends a design event message to the GameAnalytics server")] 11 | [HelpUrl("https://hutonggames.fogbugz.com/default.asp?W1164")] 12 | public class SendDesignEvent : FsmStateAction 13 | { 14 | [RequiredField] 15 | [Tooltip("The event ID")] 16 | public FsmString EventID; 17 | 18 | [Tooltip("The event value")] 19 | public FsmFloat EventValue; 20 | 21 | public override void Reset() 22 | { 23 | EventID = new FsmString() { UseVariable = false }; 24 | EventValue = new FsmFloat() { UseVariable = true }; 25 | } 26 | 27 | public override void OnEnter() 28 | { 29 | if (!EventValue.IsNone) 30 | GA_Design.NewEvent(EventID.Value, EventValue.Value, null, false); 31 | else 32 | GA_Design.NewEvent(EventID.Value, null, false); 33 | 34 | Finish(); 35 | } 36 | } 37 | } 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /Runtime/Playmaker/SendDesignEvent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69088c40a9088448b931f5688693ff5d 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Playmaker/SendErrorEvent.cs: -------------------------------------------------------------------------------- 1 | #if false 2 | 3 | using System; 4 | using GameAnalyticsSDK; 5 | using GameAnalyticsSDK.Events; 6 | 7 | namespace HutongGames.PlayMaker.Actions 8 | { 9 | [ActionCategory("GameAnalytics")] 10 | [Tooltip("Sends a error event message to the GameAnalytics server.")] 11 | [HelpUrl("https://hutonggames.fogbugz.com/default.asp?W1171")] 12 | public class SendErrorEvent : FsmStateAction 13 | { 14 | 15 | [Tooltip("The severity of this event: critical, error, warning, info, debug")] 16 | public GAErrorSeverity severityType ; 17 | 18 | [Tooltip("The message")] 19 | [RequiredField] 20 | public FsmString Message; 21 | 22 | public override void Reset() 23 | { 24 | severityType = GAErrorSeverity.Error; 25 | Message = new FsmString() { UseVariable = false }; 26 | } 27 | 28 | public override void OnEnter() 29 | { 30 | GA_Error.NewEvent(severityType, Message.Value, null, false); 31 | 32 | Finish(); 33 | } 34 | } 35 | } 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /Runtime/Playmaker/SendErrorEvent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 78ad7cbebadcf462498c3fb5f7e7f1d3 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Playmaker/SendProgressionEvent.cs: -------------------------------------------------------------------------------- 1 | #if false 2 | 3 | using System; 4 | using GameAnalyticsSDK; 5 | using GameAnalyticsSDK.Events; 6 | 7 | namespace HutongGames.PlayMaker.Actions 8 | { 9 | [ActionCategory("GameAnalytics")] 10 | [Tooltip("Sends a progression event message to the GameAnalytics server")] 11 | [HelpUrl("https://hutonggames.fogbugz.com/default.asp?W1164")] 12 | public class SendProgressionEvent : FsmStateAction 13 | { 14 | [Tooltip("The progression status as string: 'start', 'complete', 'fail' case insensitive, any other values are invalid")] 15 | public FsmString ProgressionStatusAsString; 16 | 17 | [Tooltip("The progression status")] 18 | public GAProgressionStatus ProgressionStatus; 19 | 20 | [RequiredField] 21 | [Tooltip("Progression layer 1")] 22 | public FsmString Progression01; 23 | 24 | [Tooltip("Progression layer 2")] 25 | public FsmString Progression02; 26 | 27 | [Tooltip("Progression layer 3")] 28 | public FsmString Progression03; 29 | 30 | [Tooltip("The player's score")] 31 | public FsmInt Score; 32 | 33 | public override void Reset() 34 | { 35 | ProgressionStatus = GAProgressionStatus.Start; 36 | Progression01 = new FsmString() { UseVariable = false }; 37 | Progression02 = new FsmString() { UseVariable = false }; 38 | Progression03 = new FsmString() { UseVariable = false }; 39 | Score = new FsmInt() { UseVariable = false }; 40 | } 41 | 42 | public override void OnEnter() 43 | { 44 | if (!Score.IsNone) 45 | { 46 | if (!Progression03.IsNone && !Progression02.IsNone) 47 | GA_Progression.NewEvent(ProgressionStatus, Progression01.Value, Progression02.Value, Progression03.Value, Score.Value, null, false); 48 | else if (!Progression02.IsNone) 49 | GA_Progression.NewEvent(ProgressionStatus, Progression01.Value, Progression02.Value, Score.Value, null, false); 50 | else 51 | GA_Progression.NewEvent(ProgressionStatus, Progression01.Value, Score.Value, null, false); 52 | } 53 | else 54 | { 55 | if (!Progression03.IsNone && !Progression02.IsNone) 56 | GA_Progression.NewEvent(ProgressionStatus, Progression01.Value, Progression02.Value, Progression03.Value, null, false); 57 | else if (!Progression02.IsNone) 58 | GA_Progression.NewEvent(ProgressionStatus, Progression01.Value, Progression02.Value, null, false); 59 | else 60 | GA_Progression.NewEvent(ProgressionStatus, Progression01.Value, null, false); 61 | } 62 | 63 | Finish(); 64 | } 65 | } 66 | } 67 | 68 | #endif 69 | -------------------------------------------------------------------------------- /Runtime/Playmaker/SendProgressionEvent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b86bf966f50b94d51b995b04fd531177 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Playmaker/SendResourceEvent.cs: -------------------------------------------------------------------------------- 1 | #if false 2 | 3 | using System; 4 | using GameAnalyticsSDK; 5 | using GameAnalyticsSDK.Events; 6 | 7 | namespace HutongGames.PlayMaker.Actions 8 | { 9 | [ActionCategory("GameAnalytics")] 10 | [Tooltip("Sends a resource event message to the GameAnalytics server")] 11 | [HelpUrl("https://hutonggames.fogbugz.com/default.asp?W1164")] 12 | public class SendResourceEvent : FsmStateAction 13 | { 14 | [Tooltip("The resource flow type as string: 'source', 'sink' case insensitive, any other values are invalid")] 15 | public FsmString ResourceFlowTypeAsString; 16 | 17 | [Tooltip("The resource flow type: add (source) or remove (sink) resource")] 18 | public GAResourceFlowType ResourceFlowType; 19 | 20 | [RequiredField] 21 | [Tooltip("Type of virtual currency used (E.g. gold, lives)")] 22 | public FsmString ResourceCurrency; 23 | 24 | [RequiredField] 25 | [Tooltip("Amount of virtual currency used/gained in this event")] 26 | public FsmFloat Amount; 27 | 28 | [RequiredField] 29 | [Tooltip("Type of item purchased/used with virtual currency (E.g. boost, gameplay)")] 30 | public FsmString ItemType; 31 | 32 | [RequiredField] 33 | [Tooltip("Specific item purchased/used with virtual currency (E.g. rainbowboost, gamestart)")] 34 | public FsmString ItemID; 35 | 36 | public override void Reset() 37 | { 38 | ResourceFlowType = GAResourceFlowType.Source; 39 | ResourceCurrency = new FsmString() { UseVariable = false }; 40 | Amount = new FsmFloat() { UseVariable = false }; 41 | ItemType = new FsmString() { UseVariable = false }; 42 | ItemID = new FsmString() { UseVariable = false }; 43 | } 44 | 45 | public override void OnEnter() 46 | { 47 | GA_Resource.NewEvent(ResourceFlowType, ResourceCurrency.Value, Amount.Value, ItemType.Value, ItemID.Value, null, false); 48 | 49 | Finish(); 50 | } 51 | } 52 | } 53 | 54 | #endif 55 | -------------------------------------------------------------------------------- /Runtime/Playmaker/SendResourceEvent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b0f8e458451f540a1b0dd6c6381858ec 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Playmaker/SetCustomDimension.cs: -------------------------------------------------------------------------------- 1 | #if false 2 | 3 | using System; 4 | using UnityEngine; 5 | using GameAnalyticsSDK; 6 | using GameAnalyticsSDK.Events; 7 | 8 | namespace HutongGames.PlayMaker.Actions 9 | { 10 | public enum CustomDimensionNumber 11 | { 12 | CustomDimension01 = 1, 13 | CustomDimension02 = 2, 14 | CustomDimension03 = 3 15 | } 16 | 17 | [ActionCategory("GameAnalytics")] 18 | [Tooltip("Sets a Custom Dimension")] 19 | [HelpUrl("https://hutonggames.fogbugz.com/default.asp?W1166")] 20 | public class SetCustomDimension : FsmStateAction 21 | { 22 | [RequiredField] 23 | [Tooltip("The Custom Dimension to set (1/2/3).")] 24 | public CustomDimensionNumber CustomDimension; 25 | 26 | [RequiredField] 27 | [Tooltip("The Custom Dimension value.")] 28 | public FsmString CustomDimensionValue; 29 | 30 | public override void Reset() 31 | { 32 | CustomDimension = CustomDimensionNumber.CustomDimension01; 33 | CustomDimensionValue = new FsmString() { UseVariable = false }; 34 | } 35 | 36 | public override void OnEnter() 37 | { 38 | switch (CustomDimension) 39 | { 40 | case CustomDimensionNumber.CustomDimension01: 41 | GA_Setup.SetCustomDimension01(CustomDimensionValue.Value); 42 | break; 43 | case CustomDimensionNumber.CustomDimension02: 44 | GA_Setup.SetCustomDimension02(CustomDimensionValue.Value); 45 | break; 46 | case CustomDimensionNumber.CustomDimension03: 47 | GA_Setup.SetCustomDimension03(CustomDimensionValue.Value); 48 | break; 49 | } 50 | 51 | Finish(); 52 | } 53 | } 54 | } 55 | 56 | #endif -------------------------------------------------------------------------------- /Runtime/Playmaker/SetCustomDimension.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f199e60f747934effb1d8e3fce31d6df 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 336a9dcba70fd4d78891a30d09ef699d 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Runtime/Prefabs/GameAnalytics.prefab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Runtime/Prefabs/GameAnalytics.prefab -------------------------------------------------------------------------------- /Runtime/Prefabs/GameAnalytics.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9d27d37bab3c447b8eb7a2a6756e952 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Runtime/SamsungTV.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3bf67f7f4b82ae14e904a5f1f77b3c2f 3 | folderAsset: yes 4 | timeCreated: 1473846375 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/SamsungTV/GameAnalytics.SamsungTV.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Runtime/SamsungTV/GameAnalytics.SamsungTV.dll -------------------------------------------------------------------------------- /Runtime/SamsungTV/GameAnalytics.SamsungTV.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f62e1daf300cc540841be311ff17de8 3 | timeCreated: 1474581327 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Any: 12 | enabled: 0 13 | settings: {} 14 | Editor: 15 | enabled: 0 16 | settings: 17 | DefaultValueInitialized: true 18 | SamsungTV: 19 | enabled: 1 20 | settings: {} 21 | WindowsStoreApps: 22 | enabled: 0 23 | settings: 24 | CPU: AnyCPU 25 | userData: 26 | assetBundleName: 27 | assetBundleVariant: 28 | -------------------------------------------------------------------------------- /Runtime/SamsungTV/Mono.Data.Sqlite.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Runtime/SamsungTV/Mono.Data.Sqlite.dll -------------------------------------------------------------------------------- /Runtime/SamsungTV/Mono.Data.Sqlite.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20bf6fb24fdb6204680a36dddcfc1217 3 | timeCreated: 1473846400 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Any: 12 | enabled: 0 13 | settings: {} 14 | Editor: 15 | enabled: 0 16 | settings: 17 | DefaultValueInitialized: true 18 | SamsungTV: 19 | enabled: 1 20 | settings: {} 21 | WindowsStoreApps: 22 | enabled: 0 23 | settings: 24 | CPU: AnyCPU 25 | userData: 26 | assetBundleName: 27 | assetBundleVariant: 28 | -------------------------------------------------------------------------------- /Runtime/SamsungTV/sqlite3.c.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d485564365158ac468bb985d519a87b3 3 | timeCreated: 1474580030 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Any: 12 | enabled: 0 13 | settings: {} 14 | Editor: 15 | enabled: 0 16 | settings: 17 | DefaultValueInitialized: true 18 | SamsungTV: 19 | enabled: 1 20 | settings: {} 21 | userData: 22 | assetBundleName: 23 | assetBundleVariant: 24 | -------------------------------------------------------------------------------- /Runtime/SamsungTV/sqlite3.h.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 496a0307096f3cb4e816f8e580b26bf1 3 | timeCreated: 1474580030 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Any: 12 | enabled: 0 13 | settings: {} 14 | Editor: 15 | enabled: 0 16 | settings: 17 | DefaultValueInitialized: true 18 | SamsungTV: 19 | enabled: 1 20 | settings: {} 21 | userData: 22 | assetBundleName: 23 | assetBundleVariant: 24 | -------------------------------------------------------------------------------- /Runtime/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98054805af81e4bb89e1b012a33d02e9 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Runtime/Scripts/ATT.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98690bbca5f4c48c1ae7d15d7e184d53 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Scripts/ATT/GameAnalyticsATTClient.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_IOS || UNITY_TVOS 2 | using AOT; 3 | 4 | namespace GameAnalyticsSDK.iOS 5 | { 6 | public class GameAnalyticsATTClient 7 | { 8 | #region Singleton 9 | 10 | private GameAnalyticsATTClient() 11 | { 12 | } 13 | 14 | public static GameAnalyticsATTClient Instance { get; } = new GameAnalyticsATTClient(); 15 | 16 | #endregion 17 | 18 | private static IGameAnalyticsATTListener _attListener; 19 | 20 | [MonoPInvokeCallback(typeof(GameAnalyticsATTObjCBridge.GameAnalyticsATTListenerNotDetermined))] 21 | private static void GameAnalyticsATTListenerNotDetermined() 22 | { 23 | _attListener?.GameAnalyticsATTListenerNotDetermined(); 24 | } 25 | 26 | [MonoPInvokeCallback(typeof(GameAnalyticsATTObjCBridge.GameAnalyticsATTListenerRestricted))] 27 | private static void GameAnalyticsATTListenerRestricted() 28 | { 29 | _attListener?.GameAnalyticsATTListenerRestricted(); 30 | } 31 | 32 | [MonoPInvokeCallback(typeof(GameAnalyticsATTObjCBridge.GameAnalyticsATTListenerDenied))] 33 | private static void GameAnalyticsATTListenerDenied() 34 | { 35 | _attListener?.GameAnalyticsATTListenerDenied(); 36 | } 37 | 38 | [MonoPInvokeCallback(typeof(GameAnalyticsATTObjCBridge.GameAnalyticsATTListenerAuthorized))] 39 | private static void GameAnalyticsATTListenerAuthorized() 40 | { 41 | _attListener?.GameAnalyticsATTListenerAuthorized(); 42 | } 43 | 44 | public void RequestTrackingAuthorization(IGameAnalyticsATTListener listener) 45 | { 46 | _attListener = listener; 47 | GameAnalyticsATTObjCBridge.GameAnalyticsRequestTrackingAuthorization(GameAnalyticsATTListenerNotDetermined, GameAnalyticsATTListenerRestricted, 48 | GameAnalyticsATTListenerDenied, GameAnalyticsATTListenerAuthorized); 49 | } 50 | } 51 | } 52 | #endif 53 | -------------------------------------------------------------------------------- /Runtime/Scripts/ATT/GameAnalyticsATTClient.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b998bd7e85fce46a4ade4beb78edf1c9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/Scripts/ATT/GameAnalyticsATTObjCBridge.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_IOS || UNITY_TVOS 2 | using System.Runtime.InteropServices; 3 | 4 | namespace GameAnalyticsSDK.iOS 5 | { 6 | public static class GameAnalyticsATTObjCBridge 7 | { 8 | internal delegate void GameAnalyticsATTListenerNotDetermined(); 9 | internal delegate void GameAnalyticsATTListenerRestricted(); 10 | internal delegate void GameAnalyticsATTListenerDenied(); 11 | internal delegate void GameAnalyticsATTListenerAuthorized(); 12 | 13 | [DllImport("__Internal")] 14 | internal static extern void GameAnalyticsRequestTrackingAuthorization( 15 | GameAnalyticsATTListenerNotDetermined gameAnalyticsATTListenerNotDetermined, 16 | GameAnalyticsATTListenerRestricted gameAnalyticsATTListenerRestricted, 17 | GameAnalyticsATTListenerDenied gameAnalyticsATTListenerDenied, 18 | GameAnalyticsATTListenerAuthorized gameAnalyticsATTListenerAuthorized); 19 | } 20 | } 21 | #endif 22 | -------------------------------------------------------------------------------- /Runtime/Scripts/ATT/GameAnalyticsATTObjCBridge.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 76cd2783d53fd4bfda5c04439f8dd1bd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/Scripts/Enums.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | namespace GameAnalyticsSDK 5 | { 6 | public enum GAErrorSeverity 7 | { 8 | Undefined = 0, 9 | Debug = 1, 10 | Info = 2, 11 | Warning = 3, 12 | Error = 4, 13 | Critical = 5 14 | } 15 | 16 | public enum GAProgressionStatus 17 | { 18 | //Undefined progression 19 | Undefined = 0, 20 | // User started progression 21 | Start = 1, 22 | // User succesfully ended a progression 23 | Complete = 2, 24 | // User failed a progression 25 | Fail = 3 26 | } 27 | 28 | public enum GAResourceFlowType 29 | { 30 | //Undefined progression 31 | Undefined = 0, 32 | // Source: Used when adding resource to a user 33 | Source = 1, 34 | // Sink: Used when removing a resource from a user 35 | Sink = 2 36 | } 37 | 38 | public enum GAAdAction 39 | { 40 | Undefined = 0, 41 | Clicked = 1, 42 | Show = 2, 43 | FailedShow = 3, 44 | RewardReceived = 4, 45 | Request = 5, 46 | Loaded = 6 47 | } 48 | 49 | public enum GAAdType 50 | { 51 | Undefined = 0, 52 | Video = 1, 53 | RewardedVideo = 2, 54 | Playable = 3, 55 | Interstitial = 4, 56 | OfferWall = 5, 57 | Banner = 6, 58 | AppOpen = 7 59 | } 60 | 61 | public enum GAAdError 62 | { 63 | Undefined = 0, 64 | Unknown = 1, 65 | Offline = 2, 66 | NoFill = 3, 67 | InternalError = 4, 68 | InvalidRequest = 5, 69 | UnableToPrecache = 6 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /Runtime/Scripts/Enums.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: efee5ff52c83843e08be583cbb6f3c5e 3 | timeCreated: 1454583020 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Runtime/Scripts/Events.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ca431681e0420425ab6fe704950724ad 3 | folderAsset: yes 4 | timeCreated: 1454582284 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GAValidator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2f5d575b6c7034a7385fb0ee45564a2e 3 | timeCreated: 1476364280 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_Ads.cs: -------------------------------------------------------------------------------- 1 | // This class handles game design events, such as kills, deaths, high scores, etc. 2 | 3 | using UnityEngine; 4 | using System.Collections; 5 | using System.Collections.Generic; 6 | using GameAnalyticsSDK.Wrapper; 7 | 8 | namespace GameAnalyticsSDK.Events 9 | { 10 | public static class GA_Ads 11 | { 12 | #region public methods 13 | 14 | /// 15 | /// Creates a new event 16 | /// 17 | /// Action of ad (for example loaded, show). 18 | /// Type of ad (for video, interstitial). 19 | /// Name of ad SDK. 20 | /// Placement of ad or identifier of the ad in the app 21 | /// Duration of ad video 22 | /// Custom fields. 23 | public static void NewEvent(GAAdAction adAction, GAAdType adType, string adSdkName, string adPlacement, long duration, IDictionary fields, bool mergeFields) 24 | { 25 | GA_Wrapper.AddAdEventWithDuration(adAction, adType, adSdkName, adPlacement, duration, fields, mergeFields); 26 | } 27 | 28 | /// 29 | /// Creates a new event 30 | /// 31 | /// Action of ad (for example loaded, show). 32 | /// Type of ad (for video, interstitial). 33 | /// Name of ad SDK. 34 | /// Placement of ad or identifier of the ad in the app 35 | /// Error reason for no ad available 36 | /// Custom fields. 37 | public static void NewEvent(GAAdAction adAction, GAAdType adType, string adSdkName, string adPlacement, GAAdError noAdReason, IDictionary fields, bool mergeFields = false) 38 | { 39 | GA_Wrapper.AddAdEventWithReason(adAction, adType, adSdkName, adPlacement, noAdReason, fields, mergeFields); 40 | } 41 | 42 | /// 43 | /// Creates a new event 44 | /// 45 | /// Action of ad (for example loaded, show). 46 | /// Type of ad (for video, interstitial). 47 | /// Name of ad SDK. 48 | /// Placement of ad or identifier of the ad in the app 49 | /// Custom fields. 50 | public static void NewEvent(GAAdAction adAction, GAAdType adType, string adSdkName, string adPlacement, IDictionary fields, bool mergeFields = false) 51 | { 52 | GA_Wrapper.AddAdEvent(adAction, adType, adSdkName, adPlacement, fields, mergeFields); 53 | } 54 | 55 | #endregion 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_Ads.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 55fff062c66344373bcb93c2873a3b81 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_Business.cs: -------------------------------------------------------------------------------- 1 | /// 2 | /// This class handles business events, such as ingame purchases. 3 | /// 4 | 5 | using UnityEngine; 6 | using System.Collections; 7 | using System.Collections.Generic; 8 | using GameAnalyticsSDK.Wrapper; 9 | 10 | namespace GameAnalyticsSDK.Events 11 | { 12 | public static class GA_Business 13 | { 14 | #region public methods 15 | 16 | #if (UNITY_IOS || UNITY_TVOS) 17 | public static void NewEvent(string currency, int amount, string itemType, string itemId, string cartType, string receipt, bool autoFetchReceipt, IDictionary fields, bool mergeFields) 18 | { 19 | if(autoFetchReceipt) 20 | { 21 | GA_Wrapper.AddBusinessEventAndAutoFetchReceipt(currency, amount, itemType, itemId, cartType, fields, mergeFields); 22 | } 23 | else 24 | { 25 | GA_Wrapper.AddBusinessEvent(currency, amount, itemType, itemId, cartType, receipt, fields, mergeFields); 26 | } 27 | } 28 | 29 | public static void NewEvent(string currency, int amount, string itemType, string itemId, string cartType, IDictionary fields, bool mergeFields) 30 | { 31 | NewEvent(currency, amount, itemType, itemId, cartType, null, false, fields, mergeFields); 32 | } 33 | #endif 34 | 35 | #if (UNITY_ANDROID) 36 | public static void NewEventGooglePlay(string currency, int amount, string itemType, string itemId, string cartType, string receipt, string signature, IDictionary fields, bool mergeFields) 37 | { 38 | GA_Wrapper.AddBusinessEventWithReceipt(currency, amount, itemType, itemId, cartType, receipt, "google_play", signature, fields, mergeFields); 39 | } 40 | #endif 41 | 42 | #if (!UNITY_IOS && !UNITY_TVOS) 43 | public static void NewEvent(string currency, int amount, string itemType, string itemId, string cartType, IDictionary fields, bool mergeFields) 44 | { 45 | GA_Wrapper.AddBusinessEvent(currency, amount, itemType, itemId, cartType, fields, mergeFields); 46 | } 47 | #endif 48 | #endregion 49 | } 50 | } -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_Business.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9c87e364230a6ce459923436a2215b15 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_Debug.cs: -------------------------------------------------------------------------------- 1 | /// 2 | /// This class handles error and exception messages, and makes sure they are added to the Quality category 3 | /// 4 | 5 | using UnityEngine; 6 | using System.Collections; 7 | using System.Collections.Generic; 8 | using System.Text; 9 | 10 | namespace GameAnalyticsSDK.Events 11 | { 12 | public static class GA_Debug 13 | { 14 | public static int MaxErrorCount = 10; 15 | 16 | private static int _errorCount = 0; 17 | 18 | private static bool _showLogOnGUI = false; 19 | public static List Messages; 20 | 21 | /// 22 | /// If SubmitErrors is enabled on the GA object this makes sure that any exceptions or errors are submitted to the GA server 23 | /// 24 | /// 25 | /// The message 26 | /// 27 | /// 28 | /// The exception stack trace 29 | /// 30 | /// 31 | /// The type of the log message (we only submit errors and exceptions to the GA server) 32 | /// 33 | public static void HandleLog(string logString, string stackTrace, LogType type) 34 | { 35 | //Only used for testing 36 | if (_showLogOnGUI) 37 | { 38 | if (Messages == null) 39 | { 40 | Messages = new List(); 41 | } 42 | Messages.Add(logString); 43 | } 44 | 45 | //We only submit exceptions and errors 46 | if (GameAnalytics.SettingsGA != null && GameAnalytics.SettingsGA.SubmitErrors && _errorCount < MaxErrorCount && type != LogType.Log) 47 | { 48 | if (string.IsNullOrEmpty (stackTrace)) { 49 | stackTrace = ""; 50 | } 51 | _errorCount++; 52 | 53 | string lString = logString.Replace('"', '\'').Replace('\n', ' ').Replace('\r', ' '); 54 | string sTrace = stackTrace.Replace('"', '\'').Replace('\n', ' ').Replace('\r', ' '); 55 | 56 | string _message = lString + " " + sTrace; 57 | if (_message.Length > 8192) { 58 | _message = _message.Substring (0, 8191); 59 | } 60 | 61 | SubmitError(_message, type); 62 | } 63 | } 64 | 65 | private static void SubmitError(string message, LogType type) 66 | { 67 | GAErrorSeverity severity = GAErrorSeverity.Info; 68 | 69 | switch (type) 70 | { 71 | case LogType.Assert: 72 | severity = GAErrorSeverity.Info; 73 | break; 74 | case LogType.Error: 75 | severity = GAErrorSeverity.Error; 76 | break; 77 | case LogType.Exception: 78 | severity = GAErrorSeverity.Critical; 79 | break; 80 | case LogType.Log: 81 | severity = GAErrorSeverity.Debug; 82 | break; 83 | case LogType.Warning: 84 | severity = GAErrorSeverity.Warning; 85 | break; 86 | } 87 | 88 | GA_Error.NewEvent(severity, message, null, false); 89 | } 90 | 91 | /// 92 | /// Used only for testing purposes 93 | /// 94 | public static void EnabledLog () 95 | { 96 | _showLogOnGUI = true; 97 | } 98 | } 99 | } 100 | -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_Debug.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6455957878877439898d50d5143ff4f6 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_Design.cs: -------------------------------------------------------------------------------- 1 | // This class handles game design events, such as kills, deaths, high scores, etc. 2 | 3 | using UnityEngine; 4 | using System.Collections; 5 | using System.Collections.Generic; 6 | using GameAnalyticsSDK.Wrapper; 7 | 8 | namespace GameAnalyticsSDK.Events 9 | { 10 | public static class GA_Design 11 | { 12 | #region public methods 13 | 14 | /// 15 | /// Creates a new event 16 | /// 17 | /// 18 | /// A event string you define 19 | /// 20 | /// 21 | /// A value of the event 22 | /// 23 | /// Custom fields. 24 | public static void NewEvent(string eventName, float eventValue, IDictionary fields, bool mergeFields) 25 | { 26 | CreateNewEvent(eventName, eventValue, fields, mergeFields); 27 | } 28 | 29 | /// 30 | /// Creates a new event 31 | /// 32 | /// 33 | /// A event string you define 34 | /// 35 | /// Custom fields. 36 | public static void NewEvent(string eventName, IDictionary fields, bool mergeFields) 37 | { 38 | CreateNewEvent(eventName, null, fields, mergeFields); 39 | } 40 | 41 | #endregion 42 | 43 | #region private methods 44 | 45 | /// 46 | /// Adds a custom event to the submit queue (see GA_Queue) 47 | /// 48 | /// 49 | /// Identifies the event so this should be as descriptive as possible. PickedUpAmmo might be a good event name. EventTwo is a bad event name! 50 | /// 51 | /// 52 | /// A value relevant to the event. F.x. if the player picks up some shotgun ammo the eventName could be "PickedUpAmmo" and this value could be "Shotgun". This can be null 53 | /// 54 | /// Custom fields. 55 | private static void CreateNewEvent(string eventName, float? eventValue, IDictionary fields, bool mergeFields) 56 | { 57 | if(eventValue.HasValue) 58 | { 59 | GA_Wrapper.AddDesignEvent(eventName, eventValue.Value, fields, mergeFields); 60 | } 61 | else 62 | { 63 | GA_Wrapper.AddDesignEvent(eventName, fields, mergeFields); 64 | } 65 | } 66 | 67 | #endregion 68 | } 69 | } -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_Design.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc498e43de17b2e4e8cc95006c5007c4 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_Error.cs: -------------------------------------------------------------------------------- 1 | /// 2 | /// This class handles quality (QA) events, such as crashes, fps, etc. 3 | /// 4 | 5 | using UnityEngine; 6 | using System.Collections; 7 | using System.Collections.Generic; 8 | using System; 9 | using GameAnalyticsSDK.Wrapper; 10 | 11 | namespace GameAnalyticsSDK.Events 12 | { 13 | public static class GA_Error 14 | { 15 | #region public methods 16 | 17 | public static void NewEvent(GAErrorSeverity severity, string message, IDictionary fields, bool mergeFields) 18 | { 19 | CreateNewEvent(severity, message, fields, mergeFields); 20 | } 21 | 22 | #endregion 23 | 24 | #region private methods 25 | 26 | private static void CreateNewEvent(GAErrorSeverity severity, string message, IDictionary fields, bool mergeFields = false) 27 | { 28 | GA_Wrapper.AddErrorEvent(severity, message, fields, mergeFields); 29 | } 30 | 31 | #endregion 32 | } 33 | } -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_Error.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e80bd2212bced4389864d19a834a7ae2 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_Progression.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using GameAnalyticsSDK.Wrapper; 5 | 6 | namespace GameAnalyticsSDK.Events 7 | { 8 | public static class GA_Progression 9 | { 10 | #region public methods 11 | 12 | public static void NewEvent(GAProgressionStatus progressionStatus, string progression01, IDictionary fields, bool mergeFields) 13 | { 14 | CreateEvent(progressionStatus, progression01, null, null, null, fields, mergeFields); 15 | } 16 | 17 | public static void NewEvent(GAProgressionStatus progressionStatus, string progression01, string progression02, IDictionary fields, bool mergeFields) 18 | { 19 | CreateEvent(progressionStatus, progression01, progression02, null, null, fields, mergeFields); 20 | } 21 | 22 | public static void NewEvent(GAProgressionStatus progressionStatus, string progression01, string progression02, string progression03, IDictionary fields, bool mergeFields) 23 | { 24 | CreateEvent(progressionStatus, progression01, progression02, progression03, null, fields, mergeFields); 25 | } 26 | 27 | public static void NewEvent(GAProgressionStatus progressionStatus, string progression01, int score, IDictionary fields, bool mergeFields) 28 | { 29 | CreateEvent(progressionStatus, progression01, null, null, score, fields, mergeFields); 30 | } 31 | 32 | public static void NewEvent(GAProgressionStatus progressionStatus, string progression01, string progression02, int score, IDictionary fields, bool mergeFields) 33 | { 34 | CreateEvent(progressionStatus, progression01, progression02, null, score, fields, mergeFields); 35 | } 36 | 37 | public static void NewEvent(GAProgressionStatus progressionStatus, string progression01, string progression02, string progression03, int score, IDictionary fields, bool mergeFields) 38 | { 39 | CreateEvent(progressionStatus, progression01, progression02, progression03, score, fields, mergeFields); 40 | } 41 | 42 | #endregion 43 | 44 | #region private methods 45 | 46 | private static void CreateEvent(GAProgressionStatus progressionStatus, string progression01, string progression02, string progression03, int? score, IDictionary fields, bool mergeFields) 47 | { 48 | if(score.HasValue) 49 | { 50 | GA_Wrapper.AddProgressionEventWithScore(progressionStatus, progression01, progression02, progression03, score.Value, fields, mergeFields); 51 | } 52 | else 53 | { 54 | GA_Wrapper.AddProgressionEvent(progressionStatus, progression01, progression02, progression03, fields, mergeFields); 55 | } 56 | } 57 | 58 | #endregion 59 | } 60 | } -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_Progression.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b06eb2deb6e7b4a288b01906f178cbaa 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_Resource.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using GameAnalyticsSDK.Wrapper; 5 | 6 | namespace GameAnalyticsSDK.Events 7 | { 8 | public static class GA_Resource 9 | { 10 | #region public methods 11 | 12 | public static void NewEvent(GAResourceFlowType flowType, string currency, float amount, string itemType, string itemId, IDictionary fields, bool mergeFields) 13 | { 14 | GA_Wrapper.AddResourceEvent(flowType, currency, amount, itemType, itemId, fields, mergeFields); 15 | } 16 | 17 | #endregion 18 | } 19 | } -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_Resource.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f303caa895c244cb1817893da8a79602 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_Setup.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using GameAnalyticsSDK.Utilities; 5 | using GameAnalyticsSDK.Wrapper; 6 | using GameAnalyticsSDK.Validators; 7 | 8 | namespace GameAnalyticsSDK.Events 9 | { 10 | public static class GA_Setup 11 | { 12 | #region public methods 13 | 14 | public static void SetAvailableCustomDimensions01 (List customDimensions) 15 | { 16 | if (GameAnalyticsSDK.Validators.GAValidator.ValidateCustomDimensions(customDimensions.ToArray())) 17 | { 18 | string json = GA_MiniJSON.Serialize(customDimensions); 19 | GA_Wrapper.SetAvailableCustomDimensions01(json); 20 | } 21 | } 22 | 23 | public static void SetAvailableCustomDimensions02 (List customDimensions) 24 | { 25 | if (GameAnalyticsSDK.Validators.GAValidator.ValidateCustomDimensions (customDimensions.ToArray ())) { 26 | string json = GA_MiniJSON.Serialize(customDimensions); 27 | GA_Wrapper.SetAvailableCustomDimensions02 (json); 28 | } 29 | } 30 | 31 | public static void SetAvailableCustomDimensions03 (List customDimensions) 32 | { 33 | if (GameAnalyticsSDK.Validators.GAValidator.ValidateCustomDimensions (customDimensions.ToArray ())) { 34 | string json = GA_MiniJSON.Serialize(customDimensions); 35 | GA_Wrapper.SetAvailableCustomDimensions03 (json); 36 | } 37 | } 38 | 39 | public static void SetAvailableResourceCurrencies (List resourceCurrencies) 40 | { 41 | if (GameAnalyticsSDK.Validators.GAValidator.ValidateResourceCurrencies (resourceCurrencies.ToArray ())) { 42 | string json = GA_MiniJSON.Serialize(resourceCurrencies); 43 | GA_Wrapper.SetAvailableResourceCurrencies (json); 44 | } 45 | } 46 | 47 | public static void SetAvailableResourceItemTypes (List resourceItemTypes) 48 | { 49 | if (GameAnalyticsSDK.Validators.GAValidator.ValidateResourceItemTypes (resourceItemTypes.ToArray ())) { 50 | string json = GA_MiniJSON.Serialize(resourceItemTypes); 51 | GA_Wrapper.SetAvailableResourceItemTypes (json); 52 | } 53 | } 54 | 55 | public static void SetInfoLog (bool enabled) 56 | { 57 | GA_Wrapper.SetInfoLog (enabled); 58 | } 59 | 60 | public static void SetVerboseLog (bool enabled) 61 | { 62 | GA_Wrapper.SetVerboseLog (enabled); 63 | } 64 | 65 | public static void SetCustomDimension01 (string customDimension) 66 | { 67 | GA_Wrapper.SetCustomDimension01 (customDimension); 68 | } 69 | 70 | public static void SetCustomDimension02 (string customDimension) 71 | { 72 | GA_Wrapper.SetCustomDimension02 (customDimension); 73 | } 74 | 75 | 76 | public static void SetCustomDimension03 (string customDimension) 77 | { 78 | GA_Wrapper.SetCustomDimension03(customDimension); 79 | } 80 | 81 | public static void SetGlobalCustomEventFields(IDictionary customFields) 82 | { 83 | GA_Wrapper.SetGlobalCustomEventFields(customFields); 84 | } 85 | public static void EnableSDKInitEvent(bool flag) 86 | { 87 | GA_Wrapper.EnableSDKInitEvent(flag); 88 | } 89 | 90 | public static void EnableFpsHistogram(bool flag) 91 | { 92 | GA_Wrapper.EnableFpsHistogram(flag); 93 | } 94 | 95 | public static void EnableMemoryHistogram(bool flag) 96 | { 97 | GA_Wrapper.EnableMemoryHistogram(flag); 98 | } 99 | 100 | public static void EnableHealthHardwareInfo(bool flag) 101 | { 102 | GA_Wrapper.EnableHealthHardwareInfo(flag); 103 | } 104 | 105 | #endregion 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_Setup.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad35c27ecc9784217817c154d2ff09ff 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_SpecialEvents.cs: -------------------------------------------------------------------------------- 1 | /// 2 | /// This class handles special events unique to the Unity Wrapper, such as submitting level/scene changes, and delaying application quit 3 | /// until data has been sent. 4 | /// 5 | 6 | using UnityEngine; 7 | using System.Collections; 8 | 9 | namespace GameAnalyticsSDK.Events 10 | { 11 | public class GA_SpecialEvents : MonoBehaviour 12 | { 13 | /*[HideInInspector] 14 | public bool SubmitFpsAverage; 15 | [HideInInspector] 16 | public bool SubmitFpsCritical; 17 | [HideInInspector] 18 | public bool IncludeSceneChange; 19 | [HideInInspector] 20 | public int FpsCriticalThreshold; 21 | [HideInInspector] 22 | public int FpsSubmitInterval;*/ 23 | #region private values 24 | 25 | private static int _frameCountAvg = 0; 26 | private static float _lastUpdateAvg = 0f; 27 | private int _frameCountCrit = 0; 28 | private float _lastUpdateCrit = 0f; 29 | 30 | private static int _criticalFpsCount = 0; 31 | 32 | private static int _fpsWaitTimeMultiplier = 1; 33 | private static float _lastPauseStartTime; 34 | private static float _pauseDurationAvg; 35 | private static float _pauseDurationCrit; 36 | 37 | #endregion 38 | 39 | #region unity derived methods 40 | 41 | public void Start () 42 | { 43 | StartCoroutine(SubmitFPSRoutine()); 44 | StartCoroutine(CheckCriticalFPSRoutine()); 45 | } 46 | 47 | private void OnApplicationPause(bool pauseStatus) 48 | { 49 | if (GameAnalytics.SettingsGA == null 50 | || !GameAnalytics.SettingsGA.SubmitFpsAverage && !GameAnalytics.SettingsGA.SubmitFpsCritical) 51 | { 52 | return; 53 | } 54 | 55 | if (pauseStatus) 56 | { 57 | _lastPauseStartTime = Time.realtimeSinceStartup; 58 | } 59 | else 60 | { 61 | if (GameAnalytics.SettingsGA.SubmitFpsAverage) 62 | { 63 | _pauseDurationAvg += Time.realtimeSinceStartup - _lastPauseStartTime; 64 | } 65 | 66 | if (GameAnalytics.SettingsGA.SubmitFpsCritical) 67 | { 68 | _pauseDurationCrit += Time.realtimeSinceStartup - _lastPauseStartTime; 69 | } 70 | } 71 | } 72 | 73 | private IEnumerator SubmitFPSRoutine() 74 | { 75 | while(Application.isPlaying && GameAnalytics.SettingsGA != null && GameAnalytics.SettingsGA.SubmitFpsAverage) 76 | { 77 | int waitingTime = 30 * _fpsWaitTimeMultiplier; 78 | yield return new WaitForSecondsRealtime(waitingTime); 79 | _fpsWaitTimeMultiplier *= 2; 80 | SubmitFPS(); 81 | } 82 | } 83 | 84 | private IEnumerator CheckCriticalFPSRoutine() 85 | { 86 | while(Application.isPlaying && GameAnalytics.SettingsGA != null && GameAnalytics.SettingsGA.SubmitFpsCritical) 87 | { 88 | yield return new WaitForSecondsRealtime(GameAnalytics.SettingsGA.FpsCirticalSubmitInterval); 89 | CheckCriticalFPS(); 90 | } 91 | } 92 | 93 | public void Update() 94 | { 95 | //average FPS 96 | if (GameAnalytics.SettingsGA != null && GameAnalytics.SettingsGA.SubmitFpsAverage) 97 | { 98 | _frameCountAvg++; 99 | } 100 | 101 | //critical FPS 102 | if (GameAnalytics.SettingsGA != null && GameAnalytics.SettingsGA.SubmitFpsCritical) 103 | { 104 | _frameCountCrit++; 105 | } 106 | } 107 | 108 | public static void SubmitFPS() 109 | { 110 | //average FPS 111 | if (GameAnalytics.SettingsGA != null && GameAnalytics.SettingsGA.SubmitFpsAverage) 112 | { 113 | float timeSinceUpdate = Time.unscaledTime - _lastUpdateAvg - _pauseDurationAvg; 114 | _pauseDurationAvg = 0f; 115 | 116 | if (timeSinceUpdate > 1.0f) 117 | { 118 | float fpsSinceUpdate = _frameCountAvg / timeSinceUpdate; 119 | _lastUpdateAvg = Time.unscaledTime; 120 | _frameCountAvg = 0; 121 | 122 | if (fpsSinceUpdate > 0) 123 | { 124 | if(GameAnalytics.Initialized) 125 | GameAnalytics.NewDesignEvent("GA:AverageFPS", ((int)fpsSinceUpdate)); 126 | } 127 | } 128 | } 129 | 130 | if (GameAnalytics.SettingsGA != null && GameAnalytics.SettingsGA.SubmitFpsCritical) 131 | { 132 | if (_criticalFpsCount > 0) 133 | { 134 | if(GameAnalytics.Initialized) 135 | GameAnalytics.NewDesignEvent("GA:CriticalFPS", _criticalFpsCount); 136 | 137 | _criticalFpsCount = 0; 138 | } 139 | } 140 | } 141 | 142 | public void CheckCriticalFPS() 143 | { 144 | //critical FPS 145 | if (GameAnalytics.SettingsGA != null && GameAnalytics.SettingsGA.SubmitFpsCritical) 146 | { 147 | float timeSinceUpdate = Time.unscaledTime - _lastUpdateCrit - _pauseDurationCrit; 148 | _pauseDurationCrit = 0f; 149 | 150 | if (timeSinceUpdate >= 1.0f) 151 | { 152 | float fpsSinceUpdate = _frameCountCrit / timeSinceUpdate; 153 | _lastUpdateCrit = Time.unscaledTime; 154 | _frameCountCrit = 0; 155 | 156 | if (fpsSinceUpdate <= GameAnalytics.SettingsGA.FpsCriticalThreshold) 157 | { 158 | _criticalFpsCount++; 159 | } 160 | } 161 | } 162 | } 163 | 164 | #endregion 165 | } 166 | } 167 | -------------------------------------------------------------------------------- /Runtime/Scripts/Events/GA_SpecialEvents.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: adefe18d2f40dd84c8666cc766d5de82 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Scripts/GameAnalytics.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1488bee7925fe433fbddf989c50ad4ff 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: -100 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/Scripts/IGameAnalyticsATTListener.cs: -------------------------------------------------------------------------------- 1 | 2 | 3 | namespace GameAnalyticsSDK 4 | { 5 | public interface IGameAnalyticsATTListener 6 | { 7 | void GameAnalyticsATTListenerNotDetermined(); 8 | void GameAnalyticsATTListenerRestricted(); 9 | void GameAnalyticsATTListenerDenied(); 10 | void GameAnalyticsATTListenerAuthorized(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Runtime/Scripts/IGameAnalyticsATTListener.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f42b062f02b89464abfa8001c5249524 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/Scripts/Setup.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9627816acd56b4effa48a3cdf94616f7 3 | folderAsset: yes 4 | timeCreated: 1454584200 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/Scripts/Setup/Settings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6f78192cec1344d83a177ac5e6139ab3 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Scripts/State.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3dd2fb1c891c84516814235531c7ad65 3 | folderAsset: yes 4 | timeCreated: 1476432369 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/Scripts/State/GAState.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using GameAnalyticsSDK.Events; 5 | using GameAnalyticsSDK.Setup; 6 | using GameAnalyticsSDK.Wrapper; 7 | using System; 8 | 9 | namespace GameAnalyticsSDK.State 10 | { 11 | 12 | internal static class GAState 13 | { 14 | 15 | private static GameAnalyticsSDK.Setup.Settings _settings; 16 | 17 | public static void Init () 18 | { 19 | try { 20 | _settings = (GameAnalyticsSDK.Setup.Settings)Resources.Load ("GameAnalytics/Settings", typeof(GameAnalyticsSDK.Setup.Settings)); 21 | } catch (Exception ex) { 22 | Debug.Log ("Could not get Settings during event validation \n" + ex.ToString ()); 23 | } 24 | 25 | } 26 | 27 | private static bool ListContainsString (List _list, string _string) 28 | { 29 | if (_list.Contains (_string)) 30 | return true; 31 | return false; 32 | } 33 | 34 | 35 | #region Public methods 36 | 37 | public static bool IsManualSessionHandlingEnabled() 38 | { 39 | return _settings.UseManualSessionHandling; 40 | } 41 | 42 | public static bool HasAvailableResourceCurrency (string _currency) 43 | { 44 | if (ListContainsString (_settings.ResourceCurrencies, _currency)) 45 | return true; 46 | return false; 47 | } 48 | 49 | public static bool HasAvailableResourceItemType(string _itemType) 50 | { 51 | if (ListContainsString (_settings.ResourceItemTypes, _itemType)) 52 | return true; 53 | return false; 54 | } 55 | 56 | public static bool HasAvailableCustomDimensions01(string _dimension01) 57 | { 58 | if (ListContainsString (_settings.CustomDimensions01, _dimension01)) 59 | return true; 60 | return false; 61 | } 62 | 63 | public static bool HasAvailableCustomDimensions02(string _dimension02) 64 | { 65 | if (ListContainsString (_settings.CustomDimensions02, _dimension02)) { 66 | return true; 67 | } 68 | return false; 69 | } 70 | 71 | public static bool HasAvailableCustomDimensions03(string _dimension03) 72 | { 73 | if (ListContainsString (_settings.CustomDimensions03, _dimension03)) 74 | return true; 75 | return false; 76 | } 77 | 78 | #endregion 79 | 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /Runtime/Scripts/State/GAState.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 35cbb352079de40f7aa3f481c1fa42c1 3 | timeCreated: 1476432034 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Runtime/Scripts/Utilities.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c39146483030f4774b89297ed62d60b0 3 | folderAsset: yes 4 | timeCreated: 1454583652 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/Scripts/Utilities/GA_MiniJson.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb8bd556074cc4e21aa07b59846598e4 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Scripts/Wrapper.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2ab1357cf54ee445096f8fcec7cebb4f 3 | folderAsset: yes 4 | timeCreated: 1454585571 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/Scripts/Wrapper/GA_AndroidWrapper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 95ca1d00b4a004e3f9f69da6258ecdb1 3 | timeCreated: 1433512546 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Runtime/Scripts/Wrapper/GA_MonoWrapper.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using GameAnalyticsSDK.Utilities; 5 | 6 | namespace GameAnalyticsSDK.Wrapper 7 | { 8 | public partial class GA_Wrapper 9 | { 10 | #if (UNITY_STANDALONE || UNITY_WP_8_1 || UNITY_SAMSUNGTV) && (!UNITY_EDITOR) 11 | 12 | private class UnityRemoteConfigsListener : GameAnalyticsSDK.Net.IRemoteConfigsListener 13 | { 14 | public void OnRemoteConfigsUpdated() 15 | { 16 | GameAnalytics.RemoteConfigsUpdated(); 17 | } 18 | } 19 | 20 | private static readonly UnityRemoteConfigsListener unityRemoteConfigsListener = new UnityRemoteConfigsListener(); 21 | 22 | private static void configureAvailableCustomDimensions01(string list) 23 | { 24 | IList iList = GA_MiniJSON.Deserialize(list) as IList; 25 | ArrayList array = new ArrayList(); 26 | foreach(object entry in iList) 27 | { 28 | array.Add(entry); 29 | } 30 | GameAnalyticsSDK.Net.GameAnalytics.ConfigureAvailableCustomDimensions01((string[])array.ToArray(typeof(string))); 31 | } 32 | 33 | private static void configureAvailableCustomDimensions02(string list) 34 | { 35 | IList iList = GA_MiniJSON.Deserialize(list) as IList; 36 | ArrayList array = new ArrayList(); 37 | foreach(object entry in iList) 38 | { 39 | array.Add(entry); 40 | } 41 | GameAnalyticsSDK.Net.GameAnalytics.ConfigureAvailableCustomDimensions02((string[])array.ToArray(typeof(string))); 42 | } 43 | 44 | private static void configureAvailableCustomDimensions03(string list) 45 | { 46 | IList iList = GA_MiniJSON.Deserialize(list) as IList; 47 | ArrayList array = new ArrayList(); 48 | foreach(object entry in iList) 49 | { 50 | array.Add(entry); 51 | } 52 | GameAnalyticsSDK.Net.GameAnalytics.ConfigureAvailableCustomDimensions03((string[])array.ToArray(typeof(string))); 53 | } 54 | 55 | private static void configureAvailableResourceCurrencies(string list) 56 | { 57 | IList iList = GA_MiniJSON.Deserialize(list) as IList; 58 | ArrayList array = new ArrayList(); 59 | foreach(object entry in iList) 60 | { 61 | array.Add(entry); 62 | } 63 | GameAnalyticsSDK.Net.GameAnalytics.ConfigureAvailableResourceCurrencies((string[])array.ToArray(typeof(string))); 64 | } 65 | 66 | private static void configureAvailableResourceItemTypes(string list) 67 | { 68 | IList iList = GA_MiniJSON.Deserialize(list) as IList; 69 | ArrayList array = new ArrayList(); 70 | foreach(object entry in iList) 71 | { 72 | array.Add(entry); 73 | } 74 | GameAnalyticsSDK.Net.GameAnalytics.ConfigureAvailableResourceItemTypes((string[])array.ToArray(typeof(string))); 75 | } 76 | 77 | private static void configureSdkGameEngineVersion(string unitySdkVersion) 78 | { 79 | GameAnalyticsSDK.Net.GameAnalytics.ConfigureSdkGameEngineVersion(unitySdkVersion); 80 | } 81 | 82 | private static void configureGameEngineVersion(string unityEngineVersion) 83 | { 84 | GameAnalyticsSDK.Net.GameAnalytics.ConfigureGameEngineVersion(unityEngineVersion); 85 | } 86 | 87 | private static void configureBuild(string build) 88 | { 89 | GameAnalyticsSDK.Net.GameAnalytics.ConfigureBuild(build); 90 | } 91 | 92 | private static void configureUserId(string userId) 93 | { 94 | GameAnalyticsSDK.Net.GameAnalytics.ConfigureUserId(userId); 95 | } 96 | 97 | private static void initialize(string gamekey, string gamesecret) 98 | { 99 | GameAnalyticsSDK.Net.GameAnalytics.AddRemoteConfigsListener(unityRemoteConfigsListener); 100 | GameAnalyticsSDK.Net.GameAnalytics.Initialize(gamekey, gamesecret); 101 | } 102 | 103 | private static void setCustomDimension01(string customDimension) 104 | { 105 | GameAnalyticsSDK.Net.GameAnalytics.SetCustomDimension01(customDimension); 106 | } 107 | 108 | private static void setCustomDimension02(string customDimension) 109 | { 110 | GameAnalyticsSDK.Net.GameAnalytics.SetCustomDimension02(customDimension); 111 | } 112 | 113 | private static void setCustomDimension03(string customDimension) 114 | { 115 | GameAnalyticsSDK.Net.GameAnalytics.SetCustomDimension03(customDimension); 116 | } 117 | 118 | private static void setGlobalCustomEventFields(string customFields) 119 | { 120 | GameAnalyticsSDK.Net.GameAnalytics.SetGlobalCustomEventFields(GA_MiniJSON.Deserialize(customFields) as IDictionary); 121 | } 122 | 123 | private static void addBusinessEvent(string currency, int amount, string itemType, string itemId, string cartType, string fields, bool mergeFields) 124 | { 125 | GameAnalyticsSDK.Net.GameAnalytics.AddBusinessEvent(currency, amount, itemType, itemId, cartType, GA_MiniJSON.Deserialize(fields) as IDictionary, mergeFields); 126 | } 127 | 128 | private static void addResourceEvent(int flowType, string currency, float amount, string itemType, string itemId, string fields, bool mergeFields) 129 | { 130 | GameAnalyticsSDK.Net.GameAnalytics.AddResourceEvent((GameAnalyticsSDK.Net.EGAResourceFlowType)flowType, currency, amount, itemType, itemId, GA_MiniJSON.Deserialize(fields) as IDictionary, mergeFields); 131 | } 132 | 133 | private static void addProgressionEvent(int progressionStatus, string progression01, string progression02, string progression03, string fields, bool mergeFields) 134 | { 135 | GameAnalyticsSDK.Net.GameAnalytics.AddProgressionEvent((GameAnalyticsSDK.Net.EGAProgressionStatus)progressionStatus, progression01, progression02, progression03, GA_MiniJSON.Deserialize(fields) as IDictionary, mergeFields); 136 | } 137 | 138 | private static void addProgressionEventWithScore(int progressionStatus, string progression01, string progression02, string progression03, int score, string fields, bool mergeFields) 139 | { 140 | GameAnalyticsSDK.Net.GameAnalytics.AddProgressionEvent((GameAnalyticsSDK.Net.EGAProgressionStatus)progressionStatus, progression01, progression02, progression03, score, GA_MiniJSON.Deserialize(fields) as IDictionary, mergeFields); 141 | } 142 | 143 | private static void addDesignEvent(string eventId, string fields, bool mergeFields) 144 | { 145 | GameAnalyticsSDK.Net.GameAnalytics.AddDesignEvent(eventId, GA_MiniJSON.Deserialize(fields) as IDictionary, mergeFields); 146 | } 147 | 148 | private static void addDesignEventWithValue(string eventId, float value, string fields, bool mergeFields) 149 | { 150 | GameAnalyticsSDK.Net.GameAnalytics.AddDesignEvent(eventId, value, GA_MiniJSON.Deserialize(fields) as IDictionary, mergeFields); 151 | } 152 | 153 | private static void addErrorEvent(int severity, string message, string fields, bool mergeFields) 154 | { 155 | GameAnalyticsSDK.Net.GameAnalytics.AddErrorEvent((GameAnalyticsSDK.Net.EGAErrorSeverity)severity, message, GA_MiniJSON.Deserialize(fields) as IDictionary, mergeFields); 156 | } 157 | 158 | private static void setEnabledInfoLog(bool enabled) 159 | { 160 | GameAnalyticsSDK.Net.GameAnalytics.SetEnabledInfoLog(enabled); 161 | } 162 | 163 | private static void setEnabledVerboseLog(bool enabled) 164 | { 165 | GameAnalyticsSDK.Net.GameAnalytics.SetEnabledVerboseLog(enabled); 166 | } 167 | 168 | private static void setManualSessionHandling(bool enabled) 169 | { 170 | GameAnalyticsSDK.Net.GameAnalytics.SetEnabledManualSessionHandling(enabled); 171 | } 172 | 173 | private static void setEventSubmission(bool enabled) 174 | { 175 | GameAnalyticsSDK.Net.GameAnalytics.SetEnabledManualSessionHandling(enabled); 176 | } 177 | 178 | private static void gameAnalyticsStartSession() 179 | { 180 | GameAnalyticsSDK.Net.GameAnalytics.StartSession(); 181 | } 182 | 183 | private static void gameAnalyticsEndSession() 184 | { 185 | GameAnalyticsSDK.Net.GameAnalytics.EndSession(); 186 | } 187 | 188 | private static string getRemoteConfigsValueAsString(string key, string defaultValue) 189 | { 190 | return GameAnalyticsSDK.Net.GameAnalytics.GetRemoteConfigsValueAsString(key, defaultValue); 191 | } 192 | 193 | private static bool isRemoteConfigsReady () 194 | { 195 | return GameAnalyticsSDK.Net.GameAnalytics.IsRemoteConfigsReady(); 196 | } 197 | 198 | private static string getRemoteConfigsContentAsString() 199 | { 200 | return GameAnalyticsSDK.Net.GameAnalytics.GetRemoteConfigsAsString(); 201 | } 202 | 203 | private static string getABTestingId() 204 | { 205 | return GameAnalyticsSDK.Net.GameAnalytics.GetABTestingId(); 206 | } 207 | 208 | private static string getABTestingVariantId() 209 | { 210 | return GameAnalyticsSDK.Net.GameAnalytics.GetABTestingVariantId(); 211 | } 212 | 213 | private static void configureAutoDetectAppVersion (bool flag) 214 | { 215 | // not supported 216 | } 217 | 218 | public static string getUserId() 219 | { 220 | return GameAnalyticsSDK.Net.GameAnalytics.GetUserId(); 221 | } 222 | #endif 223 | } 224 | } 225 | -------------------------------------------------------------------------------- /Runtime/Scripts/Wrapper/GA_MonoWrapper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 858f7c48da8a74c11b8a3cc0cbf14499 3 | timeCreated: 1459942538 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Runtime/Scripts/Wrapper/GA_TizenWrapper.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using System.Runtime.InteropServices; 4 | 5 | namespace GameAnalyticsSDK.Wrapper 6 | { 7 | public partial class GA_Wrapper 8 | { 9 | #if (UNITY_TIZEN) && (!UNITY_EDITOR) 10 | 11 | [DllImport ("__Internal")] 12 | private static extern void configureAvailableCustomDimensions01(string list); 13 | 14 | [DllImport ("__Internal")] 15 | private static extern void configureAvailableCustomDimensions02(string list); 16 | 17 | [DllImport ("__Internal")] 18 | private static extern void configureAvailableCustomDimensions03(string list); 19 | 20 | [DllImport ("__Internal")] 21 | private static extern void configureAvailableResourceCurrencies(string list); 22 | 23 | [DllImport ("__Internal")] 24 | private static extern void configureAvailableResourceItemTypes(string list); 25 | 26 | [DllImport ("__Internal")] 27 | private static extern void configureSdkGameEngineVersion(string unitySdkVersion); 28 | 29 | [DllImport ("__Internal")] 30 | private static extern void configureGameEngineVersion(string unityEngineVersion); 31 | 32 | [DllImport ("__Internal")] 33 | private static extern void configureBuild(string build); 34 | 35 | [DllImport ("__Internal")] 36 | private static extern void configureUserId(string userId); 37 | 38 | [DllImport ("__Internal")] 39 | private static extern void initialize(string gamekey, string gamesecret); 40 | 41 | [DllImport ("__Internal")] 42 | private static extern void setCustomDimension01(string customDimension); 43 | 44 | [DllImport ("__Internal")] 45 | private static extern void setCustomDimension02(string customDimension); 46 | 47 | [DllImport ("__Internal")] 48 | private static extern void setCustomDimension03(string customDimension); 49 | 50 | [DllImport ("__Internal")] 51 | private static extern void setGlobalCustomEventFields(string customFields); 52 | 53 | [DllImport ("__Internal")] 54 | private static extern void addBusinessEvent(string currency, int amount, string itemType, string itemId, string cartType, string fields, bool mergeFields); 55 | 56 | [DllImport ("__Internal")] 57 | private static extern void addResourceEvent(int flowType, string currency, float amount, string itemType, string itemId, string fields, bool mergeFields); 58 | 59 | [DllImport ("__Internal")] 60 | private static extern void addProgressionEvent(int progressionStatus, string progression01, string progression02, string progression03, string fields, bool mergeFields); 61 | 62 | [DllImport ("__Internal")] 63 | private static extern void addProgressionEventWithScore(int progressionStatus, string progression01, string progression02, string progression03, int score, string fields, bool mergeFields); 64 | 65 | [DllImport ("__Internal")] 66 | private static extern void addDesignEvent(string eventId, string fields, bool mergeFields); 67 | 68 | [DllImport ("__Internal")] 69 | private static extern void addDesignEventWithValue(string eventId, float value, string fields, bool mergeFields); 70 | 71 | [DllImport ("__Internal")] 72 | private static extern void addErrorEvent(int severity, string message, string fields, bool mergeFields); 73 | 74 | [DllImport ("__Internal")] 75 | private static extern void setEnabledInfoLog(bool enabled); 76 | 77 | [DllImport ("__Internal")] 78 | private static extern void setEnabledVerboseLog(bool enabled); 79 | 80 | [DllImport ("__Internal")] 81 | private static extern void setEnabledManualSessionHandling(bool enabled); 82 | 83 | [DllImport ("__Internal")] 84 | private static extern void setEnabledEventSubmission(bool enabled); 85 | 86 | [DllImport ("__Internal")] 87 | private static extern void gameAnalyticsStartSession(); 88 | 89 | [DllImport ("__Internal")] 90 | private static extern void gameAnalyticsEndSession(); 91 | 92 | private static void setManualSessionHandling(bool enabled) 93 | { 94 | setEnabledManualSessionHandling(enabled); 95 | } 96 | 97 | private static void setEventSubmission(bool enabled) 98 | { 99 | setEnabledEventSubmission(enabled); 100 | } 101 | 102 | private static string getRemoteConfigsValueAsString(string key, string defaultValue) 103 | { 104 | return defaultValue; 105 | } 106 | 107 | private static bool isRemoteConfigsReady () 108 | { 109 | return false; 110 | } 111 | 112 | private static string getRemoteConfigsContentAsString() 113 | { 114 | return ""; 115 | } 116 | 117 | private static string getABTestingId() 118 | { 119 | return ""; 120 | } 121 | 122 | private static string getABTestingVariantId() 123 | { 124 | return ""; 125 | } 126 | 127 | public static string getUserId() 128 | { 129 | return ""; 130 | } 131 | 132 | private static void configureAutoDetectAppVersion (bool flag) 133 | { 134 | // not supported 135 | } 136 | #endif 137 | } 138 | } 139 | -------------------------------------------------------------------------------- /Runtime/Scripts/Wrapper/GA_TizenWrapper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 765d24f4e7ad33545adebb304b525f01 3 | timeCreated: 1484347144 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Runtime/Scripts/Wrapper/GA_UWPWrapper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f88bfa18b258b24887b9b4352dd096f 3 | timeCreated: 1459942538 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Runtime/Scripts/Wrapper/GA_WebGLWrapper.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using System.Runtime.InteropServices; 4 | using GameAnalyticsSDK.Utilities; 5 | 6 | namespace GameAnalyticsSDK.Wrapper 7 | { 8 | public partial class GA_Wrapper 9 | { 10 | #if (UNITY_WEBGL) && (!UNITY_EDITOR) 11 | 12 | [DllImport ("__Internal")] 13 | private static extern void configureAvailableCustomDimensions01(string list); 14 | 15 | [DllImport ("__Internal")] 16 | private static extern void configureAvailableCustomDimensions02(string list); 17 | 18 | [DllImport ("__Internal")] 19 | private static extern void configureAvailableCustomDimensions03(string list); 20 | 21 | [DllImport ("__Internal")] 22 | private static extern void configureAvailableResourceCurrencies(string list); 23 | 24 | [DllImport ("__Internal")] 25 | private static extern void configureAvailableResourceItemTypes(string list); 26 | 27 | [DllImport ("__Internal")] 28 | private static extern void configureSdkGameEngineVersion(string unitySdkVersion); 29 | 30 | [DllImport ("__Internal")] 31 | private static extern void configureGameEngineVersion(string unityEngineVersion); 32 | 33 | [DllImport ("__Internal")] 34 | private static extern void configureBuild(string build); 35 | 36 | [DllImport ("__Internal")] 37 | private static extern void configureUserId(string userId); 38 | 39 | [DllImport ("__Internal")] 40 | private static extern void initialize(string gamekey, string gamesecret); 41 | 42 | [DllImport ("__Internal")] 43 | private static extern void setCustomDimension01(string customDimension); 44 | 45 | [DllImport ("__Internal")] 46 | private static extern void setCustomDimension02(string customDimension); 47 | 48 | [DllImport ("__Internal")] 49 | private static extern void setCustomDimension03(string customDimension); 50 | 51 | [DllImport ("__Internal")] 52 | private static extern void setGlobalCustomEventFields(string customFields); 53 | 54 | [DllImport ("__Internal")] 55 | private static extern void addBusinessEvent(string currency, int amount, string itemType, string itemId, string cartType, string fields, bool mergeFields); 56 | 57 | [DllImport ("__Internal")] 58 | private static extern void addResourceEvent(int flowType, string currency, float amount, string itemType, string itemId, string fields, bool mergeFields); 59 | 60 | [DllImport ("__Internal")] 61 | private static extern void addProgressionEvent(int progressionStatus, string progression01, string progression02, string progression03, string fields, bool mergeFields); 62 | 63 | [DllImport ("__Internal")] 64 | private static extern void addProgressionEventWithScore(int progressionStatus, string progression01, string progression02, string progression03, int score, string fields, bool mergeFields); 65 | 66 | [DllImport ("__Internal")] 67 | private static extern void addDesignEvent(string eventId, string fields, bool mergeFields); 68 | 69 | [DllImport ("__Internal")] 70 | private static extern void addDesignEventWithValue(string eventId, float value, string fields, bool mergeFields); 71 | 72 | [DllImport ("__Internal")] 73 | private static extern void addErrorEvent(int severity, string message, string fields, bool mergeFields); 74 | 75 | [DllImport("__Internal")] 76 | private static extern void addAdEventWithDuration(int adAction, int adType, string adSdkName, string adPlacement, long duration, string fields, bool mergeFields); 77 | 78 | [DllImport("__Internal")] 79 | private static extern void addAdEventWithReason(int adAction, int adType, string adSdkName, string adPlacement, int noAdReason, string fields, bool mergeFields); 80 | 81 | [DllImport("__Internal")] 82 | private static extern void addAdEvent(int adAction, int adType, string adSdkName, string adPlacement, string fields, bool mergeFields); 83 | 84 | [DllImport ("__Internal")] 85 | private static extern void setEnabledInfoLog(bool enabled); 86 | 87 | [DllImport ("__Internal")] 88 | private static extern void setEnabledVerboseLog(bool enabled); 89 | 90 | [DllImport ("__Internal")] 91 | private static extern void setManualSessionHandling(bool enabled); 92 | 93 | [DllImport ("__Internal")] 94 | private static extern void setEventSubmission(bool enabled); 95 | 96 | [DllImport ("__Internal")] 97 | private static extern void startSession(); 98 | 99 | [DllImport ("__Internal")] 100 | private static extern void endSession(); 101 | 102 | [DllImport ("__Internal")] 103 | private static extern string getRemoteConfigsValueAsString(string key, string defaultValue); 104 | 105 | [DllImport ("__Internal")] 106 | private static extern bool isRemoteConfigsReady(); 107 | 108 | [DllImport ("__Internal")] 109 | private static extern string getRemoteConfigsContentAsString(); 110 | 111 | [DllImport ("__Internal")] 112 | private static extern string getABTestingId(); 113 | 114 | [DllImport ("__Internal")] 115 | private static extern string getABTestingVariantId(); 116 | 117 | private static void gameAnalyticsStartSession() 118 | { 119 | startSession(); 120 | } 121 | 122 | private static void gameAnalyticsEndSession() 123 | { 124 | endSession(); 125 | } 126 | 127 | private static void configureAutoDetectAppVersion (bool flag) 128 | { 129 | // not supported 130 | } 131 | 132 | public static string getUserId() 133 | { 134 | return ""; 135 | } 136 | 137 | #endif 138 | } 139 | } 140 | -------------------------------------------------------------------------------- /Runtime/Scripts/Wrapper/GA_WebGLWrapper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b2e01a91a8f57cc4ab01eb170c170820 3 | timeCreated: 1482351268 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Runtime/Scripts/Wrapper/GA_Wrapper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f770e9a858e99433d9719ad773afb625 3 | timeCreated: 1433513029 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Runtime/Scripts/Wrapper/GA_iOSWrapper.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using System.Runtime.InteropServices; 4 | 5 | namespace GameAnalyticsSDK.Wrapper 6 | { 7 | public partial class GA_Wrapper 8 | { 9 | #if (UNITY_IOS) && (!UNITY_EDITOR) 10 | 11 | [DllImport ("__Internal")] 12 | private static extern void configureAvailableCustomDimensions01(string list); 13 | 14 | [DllImport ("__Internal")] 15 | private static extern void configureAvailableCustomDimensions02(string list); 16 | 17 | [DllImport ("__Internal")] 18 | private static extern void configureAvailableCustomDimensions03(string list); 19 | 20 | [DllImport ("__Internal")] 21 | private static extern void configureAvailableResourceCurrencies(string list); 22 | 23 | [DllImport ("__Internal")] 24 | private static extern void configureAvailableResourceItemTypes(string list); 25 | 26 | [DllImport ("__Internal")] 27 | private static extern void configureSdkGameEngineVersion(string unitySdkVersion); 28 | 29 | [DllImport ("__Internal")] 30 | private static extern void configureGameEngineVersion(string unityEngineVersion); 31 | 32 | [DllImport ("__Internal")] 33 | private static extern void configureBuild(string build); 34 | 35 | [DllImport ("__Internal")] 36 | private static extern void configureUserId(string userId); 37 | 38 | [DllImport ("__Internal")] 39 | private static extern void configureExternalUserId(string userId); 40 | 41 | [DllImport ("__Internal")] 42 | private static extern void configureAutoDetectAppVersion(bool flag); 43 | 44 | [DllImport ("__Internal")] 45 | private static extern void gaInitialize(string gamekey, string gamesecret, bool nativeErrorReporting); 46 | 47 | [DllImport ("__Internal")] 48 | private static extern void setCustomDimension01(string customDimension); 49 | 50 | [DllImport ("__Internal")] 51 | private static extern void setCustomDimension02(string customDimension); 52 | 53 | [DllImport ("__Internal")] 54 | private static extern void setCustomDimension03(string customDimension); 55 | 56 | [DllImport ("__Internal")] 57 | private static extern void setGlobalCustomEventFields(string customFields); 58 | 59 | [DllImport ("__Internal")] 60 | private static extern void addBusinessEvent(string currency, int amount, string itemType, string itemId, string cartType, string receipt, string fields, bool mergeFields); 61 | 62 | [DllImport ("__Internal")] 63 | private static extern void addBusinessEventAndAutoFetchReceipt(string currency, int amount, string itemType, string itemId, string cartType, string fields, bool mergeFields); 64 | 65 | [DllImport ("__Internal")] 66 | private static extern void addResourceEvent(int flowType, string currency, float amount, string itemType, string itemId, string fields, bool mergeFields); 67 | 68 | [DllImport ("__Internal")] 69 | private static extern void addProgressionEvent(int progressionStatus, string progression01, string progression02, string progression03, string fields, bool mergeFields); 70 | 71 | [DllImport ("__Internal")] 72 | private static extern void addProgressionEventWithScore(int progressionStatus, string progression01, string progression02, string progression03, int score, string fields, bool mergeFields); 73 | 74 | [DllImport ("__Internal")] 75 | private static extern void addDesignEvent(string eventId, string fields, bool mergeFields); 76 | 77 | [DllImport ("__Internal")] 78 | private static extern void addDesignEventWithValue(string eventId, float value, string fields, bool mergeFields); 79 | 80 | [DllImport ("__Internal")] 81 | private static extern void addErrorEvent(int severity, string message, string fields, bool mergeFields); 82 | 83 | [DllImport ("__Internal")] 84 | private static extern void addAdEventWithDuration(int adAction, int adType, string adSdkName, string adPlacement, long duration, string fields, bool mergeFields); 85 | 86 | [DllImport ("__Internal")] 87 | private static extern void addAdEventWithReason(int adAction, int adType, string adSdkName, string adPlacement, int noAdReason, string fields, bool mergeFields); 88 | 89 | [DllImport ("__Internal")] 90 | private static extern void addAdEvent(int adAction, int adType, string adSdkName, string adPlacement, string fields, bool mergeFields); 91 | 92 | [DllImport ("__Internal")] 93 | private static extern void addImpressionEvent(string adNetworkName, string adNetworkVersion, string impressionData, string fields, bool mergeFields); 94 | 95 | [DllImport ("__Internal")] 96 | private static extern void setEnabledInfoLog(bool enabled); 97 | 98 | [DllImport ("__Internal")] 99 | private static extern void setEnabledVerboseLog(bool enabled); 100 | 101 | [DllImport ("__Internal")] 102 | private static extern void setManualSessionHandling(bool enabled); 103 | 104 | [DllImport ("__Internal")] 105 | private static extern void setEventSubmission(bool enabled); 106 | 107 | [DllImport ("__Internal")] 108 | private static extern void setEventSubmission(bool enabled, bool doCache); 109 | 110 | [DllImport ("__Internal")] 111 | private static extern void gameAnalyticsStartSession(); 112 | 113 | [DllImport ("__Internal")] 114 | private static extern void gameAnalyticsEndSession(); 115 | 116 | [DllImport ("__Internal")] 117 | [return: MarshalAs(UnmanagedType.LPStr)] 118 | private static extern string getRemoteConfigsValueAsString(string key, string defaultValue); 119 | 120 | [DllImport ("__Internal")] 121 | private static extern bool isRemoteConfigsReady(); 122 | 123 | [DllImport ("__Internal")] 124 | [return: MarshalAs(UnmanagedType.LPStr)] 125 | private static extern string getRemoteConfigsContentAsString(); 126 | 127 | [DllImport ("__Internal")] 128 | [return: MarshalAs(UnmanagedType.LPStr)] 129 | private static extern string getRemoteConfigsContentAsJSON(); 130 | 131 | [DllImport ("__Internal")] 132 | [return: MarshalAs(UnmanagedType.LPStr)] 133 | private static extern string getABTestingId(); 134 | 135 | [DllImport ("__Internal")] 136 | [return: MarshalAs(UnmanagedType.LPStr)] 137 | private static extern string getABTestingVariantId(); 138 | 139 | [DllImport ("__Internal")] 140 | private static extern void startTimer(string key); 141 | 142 | [DllImport ("__Internal")] 143 | private static extern void pauseTimer(string key); 144 | 145 | [DllImport ("__Internal")] 146 | private static extern void resumeTimer(string key); 147 | 148 | [DllImport ("__Internal")] 149 | private static extern long stopTimer(string key); 150 | 151 | [DllImport ("__Internal")] 152 | [return: MarshalAs(UnmanagedType.LPStr)] 153 | public static extern string getUserId(); 154 | 155 | [DllImport ("__Internal")] 156 | [return: MarshalAs(UnmanagedType.LPStr)] 157 | public static extern string getExternalUserId(); 158 | 159 | [DllImport ("__Internal")] 160 | public static extern void useRandomizedId(bool flag); 161 | 162 | [DllImport ("__Internal")] 163 | public static extern void enableSDKInitEvent(bool flag); 164 | 165 | [DllImport ("__Internal")] 166 | public static extern void enableFpsHistogram(bool flag); 167 | 168 | [DllImport ("__Internal")] 169 | public static extern void enableMemoryHistogram(bool flag); 170 | 171 | [DllImport ("__Internal")] 172 | public static extern void enableHealthHardwareInfo(bool flag); 173 | 174 | private static void initialize(string gamekey, string gamesecret) 175 | { 176 | gaInitialize(gamekey, gamesecret, GameAnalytics.SettingsGA.NativeErrorReporting); 177 | } 178 | 179 | #endif 180 | } 181 | } 182 | -------------------------------------------------------------------------------- /Runtime/Scripts/Wrapper/GA_iOSWrapper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b2de1245ae0c4465eaa008dbcc12d8b5 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Runtime/Scripts/Wrapper/GA_tvOSWrapper.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using System.Runtime.InteropServices; 4 | 5 | namespace GameAnalyticsSDK.Wrapper 6 | { 7 | public partial class GA_Wrapper 8 | { 9 | #if (UNITY_TVOS) && (!UNITY_EDITOR) 10 | 11 | [DllImport ("__Internal")] 12 | private static extern void configureAvailableCustomDimensions01(string list); 13 | 14 | [DllImport ("__Internal")] 15 | private static extern void configureAvailableCustomDimensions02(string list); 16 | 17 | [DllImport ("__Internal")] 18 | private static extern void configureAvailableCustomDimensions03(string list); 19 | 20 | [DllImport ("__Internal")] 21 | private static extern void configureAvailableResourceCurrencies(string list); 22 | 23 | [DllImport ("__Internal")] 24 | private static extern void configureAvailableResourceItemTypes(string list); 25 | 26 | [DllImport ("__Internal")] 27 | private static extern void configureSdkGameEngineVersion(string unitySdkVersion); 28 | 29 | [DllImport ("__Internal")] 30 | private static extern void configureGameEngineVersion(string unityEngineVersion); 31 | 32 | [DllImport ("__Internal")] 33 | private static extern void configureBuild(string build); 34 | 35 | [DllImport ("__Internal")] 36 | private static extern void configureUserId(string userId); 37 | 38 | [DllImport ("__Internal")] 39 | private static extern void configureAutoDetectAppVersion(bool flag); 40 | 41 | [DllImport ("__Internal")] 42 | private static extern void gaInitialize(string gamekey, string gamesecret, bool nativeErrorReporting); 43 | 44 | [DllImport ("__Internal")] 45 | private static extern void setCustomDimension01(string customDimension); 46 | 47 | [DllImport ("__Internal")] 48 | private static extern void setCustomDimension02(string customDimension); 49 | 50 | [DllImport ("__Internal")] 51 | private static extern void setCustomDimension03(string customDimension); 52 | 53 | [DllImport ("__Internal")] 54 | private static extern void setGlobalCustomEventFields(string customFields); 55 | 56 | [DllImport ("__Internal")] 57 | private static extern void addBusinessEvent(string currency, int amount, string itemType, string itemId, string cartType, string receipt, string fields, bool mergeFields); 58 | 59 | [DllImport ("__Internal")] 60 | private static extern void addBusinessEventAndAutoFetchReceipt(string currency, int amount, string itemType, string itemId, string cartType, string fields, bool mergeFields); 61 | 62 | [DllImport ("__Internal")] 63 | private static extern void addResourceEvent(int flowType, string currency, float amount, string itemType, string itemId, string fields, bool mergeFields); 64 | 65 | [DllImport ("__Internal")] 66 | private static extern void addProgressionEvent(int progressionStatus, string progression01, string progression02, string progression03, string fields, bool mergeFields); 67 | 68 | [DllImport ("__Internal")] 69 | private static extern void addProgressionEventWithScore(int progressionStatus, string progression01, string progression02, string progression03, int score, string fields, bool mergeFields); 70 | 71 | [DllImport ("__Internal")] 72 | private static extern void addDesignEvent(string eventId, string fields, bool mergeFields); 73 | 74 | [DllImport ("__Internal")] 75 | private static extern void addDesignEventWithValue(string eventId, float value, string fields, bool mergeFields); 76 | 77 | [DllImport ("__Internal")] 78 | private static extern void addErrorEvent(int severity, string message, string fields, bool mergeFields); 79 | 80 | [DllImport ("__Internal")] 81 | private static extern void setEnabledInfoLog(bool enabled); 82 | 83 | [DllImport ("__Internal")] 84 | private static extern void setEnabledVerboseLog(bool enabled); 85 | 86 | [DllImport ("__Internal")] 87 | private static extern void setManualSessionHandling(bool enabled); 88 | 89 | [DllImport ("__Internal")] 90 | private static extern void setEventSubmission(bool enabled); 91 | 92 | [DllImport ("__Internal")] 93 | private static extern void gameAnalyticsStartSession(); 94 | 95 | [DllImport ("__Internal")] 96 | private static extern void gameAnalyticsEndSession(); 97 | 98 | [DllImport ("__Internal")] 99 | [return: MarshalAs(UnmanagedType.LPStr)] 100 | private static extern string getRemoteConfigsValueAsString(string key, string defaultValue); 101 | 102 | [DllImport ("__Internal")] 103 | private static extern bool isRemoteConfigsReady(); 104 | 105 | [DllImport ("__Internal")] 106 | [return: MarshalAs(UnmanagedType.LPStr)] 107 | private static extern string getRemoteConfigsContentAsString(); 108 | 109 | [DllImport ("__Internal")] 110 | [return: MarshalAs(UnmanagedType.LPStr)] 111 | private static extern string getABTestingId(); 112 | 113 | [DllImport ("__Internal")] 114 | [return: MarshalAs(UnmanagedType.LPStr)] 115 | private static extern string getABTestingVariantId(); 116 | 117 | [DllImport ("__Internal")] 118 | [return: MarshalAs(UnmanagedType.LPStr)] 119 | public static extern string getUserId(); 120 | 121 | private static void initialize(string gamekey, string gamesecret) 122 | { 123 | gaInitialize(gamekey, gamesecret, GameAnalytics.SettingsGA.NativeErrorReporting); 124 | } 125 | 126 | #endif 127 | } 128 | } 129 | -------------------------------------------------------------------------------- /Runtime/Scripts/Wrapper/GA_tvOSWrapper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fa243e0b34b0943898d5bdbc2e0f5e04 3 | timeCreated: 1454926877 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Runtime/Tizen.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 07497346fc3c74471b121091604a8aac 3 | folderAsset: yes 4 | timeCreated: 1474664875 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/Tizen/libGameAnalytics.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Runtime/Tizen/libGameAnalytics.a -------------------------------------------------------------------------------- /Runtime/Tizen/libGameAnalytics.a.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 87b563831833df94b948b555664a4412 3 | timeCreated: 1484348001 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Any: 12 | enabled: 0 13 | settings: {} 14 | Editor: 15 | enabled: 0 16 | settings: 17 | DefaultValueInitialized: true 18 | Tizen: 19 | enabled: 1 20 | settings: {} 21 | userData: 22 | assetBundleName: 23 | assetBundleVariant: 24 | -------------------------------------------------------------------------------- /Runtime/WSA.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 138eeeb379e3d884da5cba08c2fbcd9e 3 | folderAsset: yes 4 | timeCreated: 1464872829 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/WSA/ARM.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 06e4bc48f759c064a97abe714678c0bb 3 | folderAsset: yes 4 | timeCreated: 1468423838 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/WSA/ARM/GameAnalytics.UWP.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Runtime/WSA/ARM/GameAnalytics.UWP.dll -------------------------------------------------------------------------------- /Runtime/WSA/ARM/GameAnalytics.UWP.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 22fd93fe611b3394290b35e003b17628 3 | timeCreated: 1572358580 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Any: 12 | enabled: 0 13 | settings: {} 14 | Editor: 15 | enabled: 0 16 | settings: 17 | DefaultValueInitialized: true 18 | WindowsStoreApps: 19 | enabled: 1 20 | settings: 21 | CPU: ARM 22 | SDK: UWP 23 | ScriptingBackend: Il2Cpp 24 | userData: 25 | assetBundleName: 26 | assetBundleVariant: 27 | -------------------------------------------------------------------------------- /Runtime/WSA/x64.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0339ef243f7453347a0f733cec8211b8 3 | folderAsset: yes 4 | timeCreated: 1464875048 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/WSA/x64/GameAnalytics.UWP.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Runtime/WSA/x64/GameAnalytics.UWP.dll -------------------------------------------------------------------------------- /Runtime/WSA/x64/GameAnalytics.UWP.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b4b6b600a7a81e499287fefa90fec16 3 | timeCreated: 1572358580 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Any: 12 | enabled: 0 13 | settings: {} 14 | Editor: 15 | enabled: 0 16 | settings: 17 | DefaultValueInitialized: true 18 | WindowsStoreApps: 19 | enabled: 1 20 | settings: 21 | CPU: X64 22 | SDK: UWP 23 | ScriptingBackend: Il2Cpp 24 | userData: 25 | assetBundleName: 26 | assetBundleVariant: 27 | -------------------------------------------------------------------------------- /Runtime/WSA/x86.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 538142d99c83a6a438d035775c083193 3 | folderAsset: yes 4 | timeCreated: 1464875054 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/WSA/x86/GameAnalytics.UWP.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Runtime/WSA/x86/GameAnalytics.UWP.dll -------------------------------------------------------------------------------- /Runtime/WSA/x86/GameAnalytics.UWP.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f44a87d500d6c7143bcd0f8c3376d0b3 3 | timeCreated: 1572358580 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Any: 12 | enabled: 0 13 | settings: {} 14 | Editor: 15 | enabled: 0 16 | settings: 17 | DefaultValueInitialized: true 18 | WindowsStoreApps: 19 | enabled: 1 20 | settings: 21 | CPU: X86 22 | SDK: UWP 23 | ScriptingBackend: Il2Cpp 24 | userData: 25 | assetBundleName: 26 | assetBundleVariant: 27 | -------------------------------------------------------------------------------- /Runtime/WebGL.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e816c44db40004a8684f8ede4c9f1f50 3 | folderAsset: yes 4 | timeCreated: 1460379222 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/WebGL/GameAnalytics.jspre.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 163ec4bf94c105943aff6929a819f444 3 | timeCreated: 1485641020 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | Any: 13 | enabled: 0 14 | settings: {} 15 | Editor: 16 | enabled: 0 17 | settings: 18 | DefaultValueInitialized: true 19 | WebGL: 20 | enabled: 1 21 | settings: {} 22 | userData: 23 | assetBundleName: 24 | assetBundleVariant: 25 | -------------------------------------------------------------------------------- /Runtime/WebGL/GameAnalyticsUnity.jslib: -------------------------------------------------------------------------------- 1 | var GameAnalyticsUnity = { 2 | $listener: { 3 | onRemoteConfigsUpdated: function() 4 | { 5 | SendMessage("GameAnalytics", "OnRemoteConfigsUpdated"); 6 | } 7 | }, 8 | configureAvailableCustomDimensions01: function(list) 9 | { 10 | gameanalytics.GameAnalytics.configureAvailableCustomDimensions01(JSON.parse(UTF8ToString(list))); 11 | }, 12 | configureAvailableCustomDimensions02: function(list) 13 | { 14 | gameanalytics.GameAnalytics.configureAvailableCustomDimensions02(JSON.parse(UTF8ToString(list))); 15 | }, 16 | configureAvailableCustomDimensions03: function(list) 17 | { 18 | gameanalytics.GameAnalytics.configureAvailableCustomDimensions03(JSON.parse(UTF8ToString(list))); 19 | }, 20 | configureAvailableResourceCurrencies: function(list) 21 | { 22 | gameanalytics.GameAnalytics.configureAvailableResourceCurrencies(JSON.parse(UTF8ToString(list))); 23 | }, 24 | configureAvailableResourceItemTypes: function(list) 25 | { 26 | gameanalytics.GameAnalytics.configureAvailableResourceItemTypes(JSON.parse(UTF8ToString(list))); 27 | }, 28 | configureSdkGameEngineVersion: function(unitySdkVersion) 29 | { 30 | gameanalytics.GameAnalytics.configureSdkGameEngineVersion(UTF8ToString(unitySdkVersion)); 31 | }, 32 | configureGameEngineVersion: function(unityEngineVersion) 33 | { 34 | gameanalytics.GameAnalytics.configureGameEngineVersion(UTF8ToString(unityEngineVersion)); 35 | }, 36 | configureBuild: function(build) 37 | { 38 | gameanalytics.GameAnalytics.configureBuild(UTF8ToString(build)); 39 | }, 40 | configureUserId: function(userId) 41 | { 42 | gameanalytics.GameAnalytics.configureUserId(UTF8ToString(userId)); 43 | }, 44 | initialize: function(gamekey, gamesecret) 45 | { 46 | gameanalytics.GameAnalytics.addRemoteConfigsListener(listener); 47 | gameanalytics.GameAnalytics.initialize(UTF8ToString(gamekey), UTF8ToString(gamesecret)); 48 | }, 49 | setCustomDimension01: function(customDimension) 50 | { 51 | gameanalytics.GameAnalytics.setCustomDimension01(UTF8ToString(customDimension)); 52 | }, 53 | setCustomDimension02: function(customDimension) 54 | { 55 | gameanalytics.GameAnalytics.setCustomDimension02(UTF8ToString(customDimension)); 56 | }, 57 | setCustomDimension03: function(customDimension) 58 | { 59 | gameanalytics.GameAnalytics.setCustomDimension03(UTF8ToString(customDimension)); 60 | }, 61 | setGlobalCustomEventFields: function(customFields) 62 | { 63 | gameanalytics.GameAnalytics.setGlobalCustomEventFields(JSON.parse(customFields)); 64 | }, 65 | addBusinessEvent: function(currency, amount, itemType, itemId, cartType, fields, mergeFields) 66 | { 67 | var fieldsString = UTF8ToString(fields); 68 | fieldsString = fieldsString ? fieldsString : "{}"; 69 | gameanalytics.GameAnalytics.addBusinessEvent(UTF8ToString(currency), amount, UTF8ToString(itemType), UTF8ToString(itemId), UTF8ToString(cartType), JSON.parse(fieldsString), mergeFields); 70 | }, 71 | addResourceEvent: function(flowType, currency, amount, itemType, itemId, fields, mergeFields) 72 | { 73 | var fieldsString = UTF8ToString(fields); 74 | fieldsString = fieldsString ? fieldsString : "{}"; 75 | gameanalytics.GameAnalytics.addResourceEvent(flowType, UTF8ToString(currency), amount, UTF8ToString(itemType), UTF8ToString(itemId), JSON.parse(fieldsString), mergeFields); 76 | }, 77 | addProgressionEvent: function(progressionStatus, progression01, progression02, progression03, fields, mergeFields) 78 | { 79 | var fieldsString = UTF8ToString(fields); 80 | fieldsString = fieldsString ? fieldsString : "{}"; 81 | gameanalytics.GameAnalytics.addProgressionEvent(progressionStatus, UTF8ToString(progression01), UTF8ToString(progression02), UTF8ToString(progression03), JSON.parse(fieldsString), mergeFields); 82 | }, 83 | addProgressionEventWithScore: function(progressionStatus, progression01, progression02, progression03, score, fields, mergeFields) 84 | { 85 | var fieldsString = UTF8ToString(fields); 86 | fieldsString = fieldsString ? fieldsString : "{}"; 87 | gameanalytics.GameAnalytics.addProgressionEvent(progressionStatus, UTF8ToString(progression01), UTF8ToString(progression02), UTF8ToString(progression03), score, JSON.parse(fieldsString), mergeFields); 88 | }, 89 | addDesignEvent: function(eventId, fields, mergeFields) 90 | { 91 | var fieldsString = UTF8ToString(fields); 92 | fieldsString = fieldsString ? fieldsString : "{}"; 93 | gameanalytics.GameAnalytics.addDesignEvent(UTF8ToString(eventId), JSON.parse(fieldsString), mergeFields); 94 | }, 95 | addDesignEventWithValue: function(eventId, value, fields, mergeFields) 96 | { 97 | var fieldsString = UTF8ToString(fields); 98 | fieldsString = fieldsString ? fieldsString : "{}"; 99 | gameanalytics.GameAnalytics.addDesignEvent(UTF8ToString(eventId), value, JSON.parse(fieldsString), mergeFields); 100 | }, 101 | addErrorEvent: function(severity, message, fields, mergeFields) 102 | { 103 | var fieldsString = UTF8ToString(fields); 104 | fieldsString = fieldsString ? fieldsString : "{}"; 105 | gameanalytics.GameAnalytics.addErrorEvent(severity, UTF8ToString(message), JSON.parse(fieldsString), mergeFields); 106 | }, 107 | addAdEventWithDuration: function (adAction, adType, adSdkName, adPlacement, duration, fields, mergeFields) { 108 | var fieldsString = UTF8ToString(fields); 109 | fieldsString = fieldsString ? fieldsString : "{}"; 110 | gameanalytics.GameAnalytics.addAdEventWithDuration(adAction, adType, UTF8ToString(adSdkName), UTF8ToString(adPlacement), duration, JSON.parse(fieldsString), mergeFields); 111 | }, 112 | addAdEventWithReason: function (adAction, adType, adSdkName, adPlacement, noAdReason, fields, mergeFields) { 113 | var fieldsString = UTF8ToString(fields); 114 | fieldsString = fieldsString ? fieldsString : "{}"; 115 | gameanalytics.GameAnalytics.addAdEventWithNoAdReason(adAction, adType, UTF8ToString(adSdkName), UTF8ToString(adPlacement), noAdReason, JSON.parse(fieldsString), mergeFields); 116 | }, 117 | addAdEvent: function (adAction, adType, adSdkName, adPlacement, fields, mergeFields) { 118 | var fieldsString = UTF8ToString(fields); 119 | fieldsString = fieldsString ? fieldsString : "{}"; 120 | gameanalytics.GameAnalytics.addAdEvent(adAction, adType, UTF8ToString(adSdkName), UTF8ToString(adPlacement), JSON.parse(fieldsString), mergeFields); 121 | }, 122 | setEnabledInfoLog: function(enabled) 123 | { 124 | gameanalytics.GameAnalytics.setEnabledInfoLog(enabled); 125 | }, 126 | setEnabledVerboseLog: function(enabled) 127 | { 128 | gameanalytics.GameAnalytics.setEnabledVerboseLog(enabled); 129 | }, 130 | setManualSessionHandling: function(enabled) 131 | { 132 | gameanalytics.GameAnalytics.setEnabledManualSessionHandling(enabled); 133 | }, 134 | setEventSubmission: function(enabled) 135 | { 136 | gameanalytics.GameAnalytics.setEnabledEventSubmission(enabled); 137 | }, 138 | startSession: function() 139 | { 140 | gameanalytics.GameAnalytics.startSession(); 141 | }, 142 | endSession: function() 143 | { 144 | gameanalytics.GameAnalytics.endSession(); 145 | }, 146 | getRemoteConfigsValueAsString: function(key, defaultValue) 147 | { 148 | var returnStr = gameanalytics.GameAnalytics.getRemoteConfigsValueAsString(UTF8ToString(key), UTF8ToString(defaultValue)); 149 | var buffer = allocateStringBuffer(returnStr); 150 | return buffer; 151 | }, 152 | isRemoteConfigsReady: function() 153 | { 154 | return gameanalytics.GameAnalytics.isRemoteConfigsReady(); 155 | }, 156 | getRemoteConfigsContentAsString: function() 157 | { 158 | var returnStr = gameanalytics.GameAnalytics.getRemoteConfigsContentAsString(); 159 | var buffer = allocateStringBuffer(returnStr); 160 | return buffer; 161 | }, 162 | getABTestingId: function() 163 | { 164 | var returnStr = gameanalytics.GameAnalytics.getABTestingId(); 165 | var buffer = allocateStringBuffer(returnStr); 166 | return buffer; 167 | }, 168 | getABTestingVariantId: function() 169 | { 170 | var returnStr = gameanalytics.GameAnalytics.getABTestingVariantId(); 171 | var buffer = allocateStringBuffer(returnStr); 172 | return buffer; 173 | } 174 | }; 175 | 176 | autoAddDeps(GameAnalyticsUnity, '$listener'); 177 | mergeInto(LibraryManager.library, GameAnalyticsUnity); 178 | -------------------------------------------------------------------------------- /Runtime/WebGL/GameAnalyticsUnity.jslib.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 128ff5fbca9e2134e8d5740af437bd8d 3 | timeCreated: 1482489563 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Any: 12 | enabled: 0 13 | settings: {} 14 | Editor: 15 | enabled: 0 16 | settings: 17 | DefaultValueInitialized: true 18 | WebGL: 19 | enabled: 1 20 | settings: {} 21 | userData: 22 | assetBundleName: 23 | assetBundleVariant: 24 | -------------------------------------------------------------------------------- /Runtime/WebGL/GameAnalyticsUtils.jspre: -------------------------------------------------------------------------------- 1 | function allocateStringBuffer(str) { 2 | const bufferSize = lengthBytesUTF8(str) + 1; 3 | const buffer = _malloc(bufferSize); 4 | stringToUTF8(str, buffer, bufferSize); 5 | return buffer; 6 | } 7 | -------------------------------------------------------------------------------- /Runtime/WebGL/GameAnalyticsUtils.jspre.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 11b26e4ae94df4c31b3f9d916328e517 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | WebGL: WebGL 27 | second: 28 | enabled: 1 29 | settings: {} 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /Runtime/Windows.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d9f9cf6d1c9d94c68a682838a983a3b9 3 | folderAsset: yes 4 | timeCreated: 1460634811 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/Windows/x64.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4933209fa31cf4b89aea2fc3dc71f314 3 | folderAsset: yes 4 | timeCreated: 1460635325 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/Windows/x64/sqlite3.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Runtime/Windows/x64/sqlite3.dll -------------------------------------------------------------------------------- /Runtime/Windows/x64/sqlite3.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d8953a9bb703e45e7b3e4b181c1fc3f8 3 | timeCreated: 1565687811 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Any: 12 | enabled: 0 13 | settings: {} 14 | Editor: 15 | enabled: 0 16 | settings: 17 | DefaultValueInitialized: true 18 | Win64: 19 | enabled: 1 20 | settings: {} 21 | userData: 22 | assetBundleName: 23 | assetBundleVariant: 24 | -------------------------------------------------------------------------------- /Runtime/Windows/x86.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 08bda80a1b18445db9c656fd8853dc97 3 | folderAsset: yes 4 | timeCreated: 1460634738 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/Windows/x86/sqlite3.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Runtime/Windows/x86/sqlite3.dll -------------------------------------------------------------------------------- /Runtime/Windows/x86/sqlite3.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 68544a0857d96482ca2440c0ffef392a 3 | timeCreated: 1464872388 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Android: 12 | enabled: 0 13 | settings: 14 | CPU: AnyCPU 15 | Any: 16 | enabled: 0 17 | settings: {} 18 | Editor: 19 | enabled: 0 20 | settings: 21 | CPU: x86 22 | DefaultValueInitialized: true 23 | OS: AnyOS 24 | Linux: 25 | enabled: 0 26 | settings: 27 | CPU: x86 28 | Linux64: 29 | enabled: 0 30 | settings: 31 | CPU: None 32 | LinuxUniversal: 33 | enabled: 0 34 | settings: 35 | CPU: x86 36 | OSXIntel: 37 | enabled: 0 38 | settings: 39 | CPU: AnyCPU 40 | OSXIntel64: 41 | enabled: 0 42 | settings: 43 | CPU: None 44 | OSXUniversal: 45 | enabled: 0 46 | settings: 47 | CPU: x86 48 | Win: 49 | enabled: 1 50 | settings: 51 | CPU: AnyCPU 52 | Win64: 53 | enabled: 0 54 | settings: 55 | CPU: None 56 | WindowsStoreApps: 57 | enabled: 0 58 | settings: 59 | CPU: X64 60 | DontProcess: False 61 | PlaceholderPath: 62 | SDK: UWP 63 | ScriptingBackend: AnyScriptingBackend 64 | iOS: 65 | enabled: 0 66 | settings: 67 | CompileFlags: 68 | FrameworkDependencies: 69 | userData: 70 | assetBundleName: 71 | assetBundleVariant: 72 | -------------------------------------------------------------------------------- /Runtime/com.gameanalytics.sdk.Runtime.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "GameAnalyticsSDK", 3 | "rootNamespace": "GameAnalyticsSDK", 4 | "references": [], 5 | "includePlatforms": [], 6 | "excludePlatforms": [], 7 | "allowUnsafeCode": false, 8 | "overrideReferences": false, 9 | "precompiledReferences": [], 10 | "autoReferenced": true, 11 | "defineConstraints": [], 12 | "versionDefines": [], 13 | "noEngineReferences": false 14 | } 15 | -------------------------------------------------------------------------------- /Runtime/com.gameanalytics.sdk.Runtime.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8c64bb88d959406689053ae3f31183d 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime/iOS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1a475bd124e0f43e6b6da717182326d6 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Runtime/iOS/GameAnalytics.h.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 47ae3aa637bbf40d58b3c71eda712a7c 3 | PluginImporter: 4 | serializedVersion: 1 5 | iconMap: {} 6 | executionOrder: {} 7 | isPreloaded: 0 8 | platformData: 9 | Any: 10 | enabled: 0 11 | settings: {} 12 | Editor: 13 | enabled: 0 14 | settings: 15 | DefaultValueInitialized: true 16 | iOS: 17 | enabled: 1 18 | settings: {} 19 | userData: 20 | assetBundleName: 21 | assetBundleVariant: 22 | -------------------------------------------------------------------------------- /Runtime/iOS/GameAnalytics.xcprivacy: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSPrivacyCollectedDataTypes 6 | 7 | 8 | NSPrivacyCollectedDataType 9 | NSPrivacyCollectedDataTypePerformanceData 10 | NSPrivacyCollectedDataTypeLinked 11 | 12 | NSPrivacyCollectedDataTypeTracking 13 | 14 | NSPrivacyCollectedDataTypePurposes 15 | 16 | NSPrivacyCollectedDataTypePurposeAppFunctionality 17 | NSPrivacyCollectedDataTypePurposeAnalytics 18 | 19 | 20 | 21 | NSPrivacyCollectedDataType 22 | NSPrivacyCollectedDataTypeGameplayContent 23 | NSPrivacyCollectedDataTypeLinked 24 | 25 | NSPrivacyCollectedDataTypeTracking 26 | 27 | NSPrivacyCollectedDataTypePurposes 28 | 29 | NSPrivacyCollectedDataTypePurposeAnalytics 30 | NSPrivacyCollectedDataTypePurposeAppFunctionality 31 | 32 | 33 | 34 | NSPrivacyCollectedDataType 35 | NSPrivacyCollectedDataTypeOtherDiagnosticData 36 | NSPrivacyCollectedDataTypeLinked 37 | 38 | NSPrivacyCollectedDataTypeTracking 39 | 40 | NSPrivacyCollectedDataTypePurposes 41 | 42 | NSPrivacyCollectedDataTypePurposeAnalytics 43 | NSPrivacyCollectedDataTypePurposeAppFunctionality 44 | 45 | 46 | 47 | NSPrivacyCollectedDataType 48 | NSPrivacyCollectedDataTypeCrashData 49 | NSPrivacyCollectedDataTypeLinked 50 | 51 | NSPrivacyCollectedDataTypeTracking 52 | 53 | NSPrivacyCollectedDataTypePurposes 54 | 55 | NSPrivacyCollectedDataTypePurposeAppFunctionality 56 | NSPrivacyCollectedDataTypePurposeAnalytics 57 | 58 | 59 | 60 | NSPrivacyCollectedDataType 61 | NSPrivacyCollectedDataTypeProductInteraction 62 | NSPrivacyCollectedDataTypeLinked 63 | 64 | NSPrivacyCollectedDataTypeTracking 65 | 66 | NSPrivacyCollectedDataTypePurposes 67 | 68 | NSPrivacyCollectedDataTypePurposeAppFunctionality 69 | NSPrivacyCollectedDataTypePurposeAnalytics 70 | 71 | 72 | 73 | NSPrivacyCollectedDataType 74 | NSPrivacyCollectedDataTypeAdvertisingData 75 | NSPrivacyCollectedDataTypeLinked 76 | 77 | NSPrivacyCollectedDataTypeTracking 78 | 79 | NSPrivacyCollectedDataTypePurposes 80 | 81 | NSPrivacyCollectedDataTypePurposeAppFunctionality 82 | NSPrivacyCollectedDataTypePurposeAnalytics 83 | 84 | 85 | 86 | NSPrivacyCollectedDataType 87 | NSPrivacyCollectedDataTypeUserID 88 | NSPrivacyCollectedDataTypeLinked 89 | 90 | NSPrivacyCollectedDataTypeTracking 91 | 92 | NSPrivacyCollectedDataTypePurposes 93 | 94 | NSPrivacyCollectedDataTypePurposeAnalytics 95 | NSPrivacyCollectedDataTypePurposeAppFunctionality 96 | 97 | 98 | 99 | NSPrivacyCollectedDataType 100 | NSPrivacyCollectedDataTypeDeviceID 101 | NSPrivacyCollectedDataTypeLinked 102 | 103 | NSPrivacyCollectedDataTypeTracking 104 | 105 | NSPrivacyCollectedDataTypePurposes 106 | 107 | NSPrivacyCollectedDataTypePurposeAppFunctionality 108 | NSPrivacyCollectedDataTypePurposeAnalytics 109 | 110 | 111 | 112 | NSPrivacyAccessedAPITypes 113 | 114 | 115 | NSPrivacyAccessedAPITypeReasons 116 | 117 | C617.1 118 | 119 | NSPrivacyAccessedAPIType 120 | NSPrivacyAccessedAPICategoryFileTimestamp 121 | 122 | 123 | NSPrivacyAccessedAPITypeReasons 124 | 125 | CA92.1 126 | 127 | NSPrivacyAccessedAPIType 128 | NSPrivacyAccessedAPICategoryUserDefaults 129 | 130 | 131 | NSPrivacyTracking 132 | 133 | 134 | 135 | -------------------------------------------------------------------------------- /Runtime/iOS/GameAnalytics.xcprivacy.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 47b336a1c833c45c99837a76329b6fec 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | iPhone: iOS 27 | second: 28 | enabled: 1 29 | settings: {} 30 | - first: 31 | tvOS: tvOS 32 | second: 33 | enabled: 1 34 | settings: {} 35 | userData: 36 | assetBundleName: 37 | assetBundleVariant: 38 | -------------------------------------------------------------------------------- /Runtime/iOS/GameAnalyticsATTObjCBridge.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | NS_ASSUME_NONNULL_BEGIN 4 | 5 | typedef void (GameAnalyticsATTListenerNotDetermined)(void); 6 | typedef void (GameAnalyticsATTListenerRestricted)(void); 7 | typedef void (GameAnalyticsATTListenerDenied)(void); 8 | typedef void (GameAnalyticsATTListenerAuthorized)(void); 9 | 10 | FOUNDATION_EXPORT void RequestConsentInfoUpdate( 11 | GameAnalyticsATTListenerNotDetermined gameAnalyticsATTListenerNotDetermined, 12 | GameAnalyticsATTListenerRestricted gameAnalyticsATTListenerRestricted, 13 | GameAnalyticsATTListenerDenied gameAnalyticsATTListenerDenied, 14 | GameAnalyticsATTListenerAuthorized gameAnalyticsATTListenerAuthorized); 15 | 16 | NS_ASSUME_NONNULL_END 17 | -------------------------------------------------------------------------------- /Runtime/iOS/GameAnalyticsATTObjCBridge.h.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 07f754a4e3cf34a898750465ec6d4afe 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | userData: 26 | assetBundleName: 27 | assetBundleVariant: 28 | -------------------------------------------------------------------------------- /Runtime/iOS/GameAnalyticsATTObjCBridge.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import "GameAnalyticsATTObjCBridge.h" 3 | 4 | 5 | void GameAnalyticsRequestTrackingAuthorization( 6 | GameAnalyticsATTListenerNotDetermined gameAnalyticsATTListenerNotDetermined, 7 | GameAnalyticsATTListenerRestricted gameAnalyticsATTListenerRestricted, 8 | GameAnalyticsATTListenerDenied gameAnalyticsATTListenerDenied, 9 | GameAnalyticsATTListenerAuthorized gameAnalyticsATTListenerAuthorized) 10 | { 11 | if (@available(iOS 14, *)) { 12 | #ifdef __IPHONE_14_0 || __TVOS_14_0 13 | [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) { 14 | switch (status) 15 | { 16 | case ATTrackingManagerAuthorizationStatusNotDetermined: 17 | gameAnalyticsATTListenerNotDetermined(); 18 | break; 19 | case ATTrackingManagerAuthorizationStatusRestricted: 20 | gameAnalyticsATTListenerRestricted(); 21 | break; 22 | case ATTrackingManagerAuthorizationStatusDenied: 23 | gameAnalyticsATTListenerDenied(); 24 | break; 25 | case ATTrackingManagerAuthorizationStatusAuthorized: 26 | gameAnalyticsATTListenerAuthorized(); 27 | break; 28 | } 29 | }]; 30 | #endif 31 | } 32 | else 33 | { 34 | gameAnalyticsATTListenerNotDetermined(); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Runtime/iOS/GameAnalyticsATTObjCBridge.m.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1dbf392b666c845bf82215596840f3cf 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | iPhone: iOS 27 | second: 28 | enabled: 1 29 | settings: {} 30 | - first: 31 | tvOS: tvOS 32 | second: 33 | enabled: 1 34 | settings: {} 35 | userData: 36 | assetBundleName: 37 | assetBundleVariant: 38 | -------------------------------------------------------------------------------- /Runtime/iOS/GameAnalyticsHyperBidHelper.m: -------------------------------------------------------------------------------- 1 | #if gameanalytics_hyperbid_enabled 2 | #import 3 | 4 | char* getHyperBidSdkVersion() { 5 | NSString* version = [[HBAPI sharedInstance].version stringByReplacingOccurrencesOfString:@"HB_" withString:@""]; 6 | const char* string = [version UTF8String]; 7 | if (string == NULL) 8 | return NULL; 9 | 10 | char* res = (char*)malloc(strlen(string) + 1); 11 | strcpy(res, string); 12 | return res; 13 | } 14 | #endif 15 | -------------------------------------------------------------------------------- /Runtime/iOS/GameAnalyticsHyperBidHelper.m.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a5ff0e500ec2d4f3f938b6e9bff688ee 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | iPhone: iOS 27 | second: 28 | enabled: 1 29 | settings: {} 30 | - first: 31 | tvOS: tvOS 32 | second: 33 | enabled: 1 34 | settings: {} 35 | userData: 36 | assetBundleName: 37 | assetBundleVariant: 38 | -------------------------------------------------------------------------------- /Runtime/iOS/GameAnalyticsTopOnHelper.m: -------------------------------------------------------------------------------- 1 | #if gameanalytics_topon_enabled 2 | #import 3 | 4 | char* getTopOnSdkVersion() { 5 | NSString* version = [[ATAPI sharedInstance].version stringByReplacingOccurrencesOfString:@"UA_" withString:@""]; 6 | const char* string = [version UTF8String]; 7 | if (string == NULL) 8 | return NULL; 9 | 10 | char* res = (char*)malloc(strlen(string) + 1); 11 | strcpy(res, string); 12 | return res; 13 | } 14 | #endif 15 | -------------------------------------------------------------------------------- /Runtime/iOS/GameAnalyticsTopOnHelper.m.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc659be917120422eb70ee4a5e5bdb4b 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | iPhone: iOS 27 | second: 28 | enabled: 1 29 | settings: {} 30 | - first: 31 | tvOS: tvOS 32 | second: 33 | enabled: 1 34 | settings: {} 35 | userData: 36 | assetBundleName: 37 | assetBundleVariant: 38 | -------------------------------------------------------------------------------- /Runtime/iOS/GameAnalyticsUnity.m.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1be0c7b0c717943a2bee44e5a7831b08 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | iPhone: iOS 27 | second: 28 | enabled: 1 29 | settings: {} 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /Runtime/iOS/libGameAnalytics.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Runtime/iOS/libGameAnalytics.a -------------------------------------------------------------------------------- /Runtime/iOS/libGameAnalytics.a.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2d56f07645a844a4c9cd1186cf2e3d40 3 | PluginImporter: 4 | serializedVersion: 1 5 | iconMap: {} 6 | executionOrder: {} 7 | isPreloaded: 0 8 | platformData: 9 | Any: 10 | enabled: 0 11 | settings: {} 12 | Editor: 13 | enabled: 0 14 | settings: 15 | DefaultValueInitialized: true 16 | iOS: 17 | enabled: 1 18 | settings: {} 19 | userData: 20 | assetBundleName: 21 | assetBundleVariant: 22 | -------------------------------------------------------------------------------- /Runtime/tvOS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1166223f340524f428e7b7e5e45ce43f 3 | folderAsset: yes 4 | timeCreated: 1454925008 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/tvOS/GameAnalyticsTVOS.h.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b6bf71225669c488b93e861115752dbc 3 | timeCreated: 1565687811 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Any: 12 | enabled: 0 13 | settings: {} 14 | Editor: 15 | enabled: 0 16 | settings: 17 | DefaultValueInitialized: true 18 | tvOS: 19 | enabled: 1 20 | settings: {} 21 | userData: 22 | assetBundleName: 23 | assetBundleVariant: 24 | -------------------------------------------------------------------------------- /Runtime/tvOS/GameAnalyticsTVOSUnity.m.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f481e5372ce84e879d760b70c7249e2 3 | timeCreated: 1565687811 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Any: 12 | enabled: 0 13 | settings: {} 14 | Editor: 15 | enabled: 0 16 | settings: 17 | DefaultValueInitialized: true 18 | iOS: 19 | enabled: 0 20 | settings: {} 21 | tvOS: 22 | enabled: 1 23 | settings: {} 24 | userData: 25 | assetBundleName: 26 | assetBundleVariant: 27 | -------------------------------------------------------------------------------- /Runtime/tvOS/libGameAnalyticsTVOS.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GameAnalytics/GA-SDK-UNITY/9695e3360ca3535c148eff60da7aaac043f360bd/Runtime/tvOS/libGameAnalyticsTVOS.a -------------------------------------------------------------------------------- /Runtime/tvOS/libGameAnalyticsTVOS.a.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d3ca28f8a6c264997b626bff1013edec 3 | timeCreated: 1565687811 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Any: 12 | enabled: 0 13 | settings: {} 14 | Editor: 15 | enabled: 0 16 | settings: 17 | DefaultValueInitialized: true 18 | tvOS: 19 | enabled: 1 20 | settings: {} 21 | userData: 22 | assetBundleName: 23 | assetBundleVariant: 24 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.gameanalytics.sdk", 3 | "version": "7.10.4", 4 | "displayName": "GameAnalytics", 5 | "description": "GameAnalytics collects and stores your data with no limits. You can then view your core KPI's in order to see what areas of your game need to improvements. If you want to find out more about how gamers play, then add in funnels, progression events and resource tracking. ", 6 | "unity": "2018.1", 7 | "dependencies": { 8 | "com.google.external-dependency-manager": "1.2.168" 9 | }, 10 | "publishConfig": { 11 | "registry": "https://package.openupm.com" 12 | }, 13 | "keywords": [ 14 | "data", 15 | "analytics", 16 | "events", 17 | "funnels", 18 | "reporting", 19 | "dashboard", 20 | "tracking", 21 | "track", 22 | "analyse", 23 | "analyze", 24 | "bigdata", 25 | "mixpanel", 26 | "unreal", 27 | "google", 28 | "flurry", 29 | "unity", 30 | "segments", 31 | "realtime", 32 | "time", 33 | "player", 34 | "understand", 35 | "focus" 36 | ], 37 | "author": { 38 | "name": "GameAnalytics", 39 | "email": "sdk@gameanalytics.com", 40 | "url": "https://www.gameanalytics.com" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 75c4320d03b6542589c06409019188d4 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | --------------------------------------------------------------------------------