├── .gitattributes ├── .gitignore ├── .gitmodules ├── Assets ├── Adjust.meta ├── Adjust │ ├── Native.meta │ ├── Native │ │ ├── Android.meta │ │ ├── Android │ │ │ ├── AdjustAndroidManifest.xml │ │ │ └── AdjustAndroidManifest.xml.meta │ │ ├── Editor.meta │ │ ├── Editor │ │ │ ├── Dependencies.xml │ │ │ └── Dependencies.xml.meta │ │ ├── iOS.meta │ │ └── iOS │ │ │ ├── AdjustUnity.h │ │ │ ├── AdjustUnity.h.meta │ │ │ ├── AdjustUnity.mm │ │ │ ├── AdjustUnity.mm.meta │ │ │ ├── AdjustUnityAppDelegate.h │ │ │ ├── AdjustUnityAppDelegate.h.meta │ │ │ ├── AdjustUnityAppDelegate.m │ │ │ ├── AdjustUnityAppDelegate.m.meta │ │ │ ├── AdjustUnityDelegate.h │ │ │ ├── AdjustUnityDelegate.h.meta │ │ │ ├── AdjustUnityDelegate.mm │ │ │ └── AdjustUnityDelegate.mm.meta │ ├── Prefab.meta │ ├── Prefab │ │ ├── Adjust.prefab │ │ └── Adjust.prefab.meta │ ├── Scripts.meta │ ├── Scripts │ │ ├── Adjust.cs │ │ ├── Adjust.cs.meta │ │ ├── AdjustAdRevenue.cs │ │ ├── AdjustAdRevenue.cs.meta │ │ ├── AdjustAndroid.cs │ │ ├── AdjustAndroid.cs.meta │ │ ├── AdjustAppStorePurchase.cs │ │ ├── AdjustAppStorePurchase.cs.meta │ │ ├── AdjustAppStoreSubscription.cs │ │ ├── AdjustAppStoreSubscription.cs.meta │ │ ├── AdjustAttribution.cs │ │ ├── AdjustAttribution.cs.meta │ │ ├── AdjustConfig.cs │ │ ├── AdjustConfig.cs.meta │ │ ├── AdjustDeeplink.cs │ │ ├── AdjustDeeplink.cs.meta │ │ ├── AdjustEnvironment.cs │ │ ├── AdjustEnvironment.cs.meta │ │ ├── AdjustEvent.cs │ │ ├── AdjustEvent.cs.meta │ │ ├── AdjustEventFailure.cs │ │ ├── AdjustEventFailure.cs.meta │ │ ├── AdjustEventSuccess.cs │ │ ├── AdjustEventSuccess.cs.meta │ │ ├── AdjustLogLevel.cs │ │ ├── AdjustLogLevel.cs.meta │ │ ├── AdjustPlayStorePurchase.cs │ │ ├── AdjustPlayStorePurchase.cs.meta │ │ ├── AdjustPlayStoreSubscription.cs │ │ ├── AdjustPlayStoreSubscription.cs.meta │ │ ├── AdjustPurchaseVerificationResult.cs │ │ ├── AdjustPurchaseVerificationResult.cs.meta │ │ ├── AdjustSdk.Scripts.asmdef │ │ ├── AdjustSdk.Scripts.asmdef.meta │ │ ├── AdjustSessionFailure.cs │ │ ├── AdjustSessionFailure.cs.meta │ │ ├── AdjustSessionSuccess.cs │ │ ├── AdjustSessionSuccess.cs.meta │ │ ├── AdjustStoreInfo.cs │ │ ├── AdjustStoreInfo.cs.meta │ │ ├── AdjustThirdPartySharing.cs │ │ ├── AdjustThirdPartySharing.cs.meta │ │ ├── AdjustThreadDispatcher.cs │ │ ├── AdjustThreadDispatcher.cs.meta │ │ ├── AdjustUtils.cs │ │ ├── AdjustUtils.cs.meta │ │ ├── AdjustiOS.cs │ │ ├── AdjustiOS.cs.meta │ │ ├── Editor.meta │ │ ├── Editor │ │ │ ├── AdjustCustomEditor.cs │ │ │ ├── AdjustCustomEditor.cs.meta │ │ │ ├── AdjustEditor.cs │ │ │ ├── AdjustEditor.cs.meta │ │ │ ├── AdjustEditorPreprocessor.cs │ │ │ ├── AdjustEditorPreprocessor.cs.meta │ │ │ ├── AdjustSdk.Editor.asmdef │ │ │ ├── AdjustSdk.Editor.asmdef.meta │ │ │ ├── AdjustSettings.cs │ │ │ ├── AdjustSettings.cs.meta │ │ │ ├── AdjustSettingsEditor.cs │ │ │ └── AdjustSettingsEditor.cs.meta │ │ ├── ThirdParty.meta │ │ └── ThirdParty │ │ │ ├── SimpleJSON.cs │ │ │ └── SimpleJSON.cs.meta │ ├── package.json │ └── package.json.meta ├── AdjustImei.meta ├── AdjustImei │ ├── Android.meta │ ├── Android │ │ ├── AdjustImeiAndroid.cs │ │ ├── AdjustImeiAndroid.cs.meta │ │ ├── adjust-android-imei.jar │ │ └── adjust-android-imei.jar.meta │ ├── Editor.meta │ ├── Editor │ │ ├── AdjustImeiEditor.cs │ │ └── AdjustImeiEditor.cs.meta │ ├── Prefab.meta │ ├── Prefab │ │ ├── AdjustImei.prefab │ │ └── AdjustImei.prefab.meta │ ├── Unity.meta │ └── Unity │ │ ├── AdjustImei.cs │ │ └── AdjustImei.cs.meta ├── AdjustOaid.meta ├── AdjustOaid │ ├── Android.meta │ ├── Android │ │ ├── AdjustOaidAndroid.cs │ │ ├── AdjustOaidAndroid.cs.meta │ │ ├── adjust-android-oaid.jar │ │ └── adjust-android-oaid.jar.meta │ ├── Editor.meta │ ├── Editor │ │ ├── AdjustOaidEditor.cs │ │ └── AdjustOaidEditor.cs.meta │ ├── Prefab.meta │ ├── Prefab │ │ ├── AdjustOaid.prefab │ │ └── AdjustOaid.prefab.meta │ ├── Unity.meta │ └── Unity │ │ ├── AdjustOaid.cs │ │ └── AdjustOaid.cs.meta ├── AdjustSamsungReferrer.meta ├── AdjustSamsungReferrer │ ├── Android.meta │ ├── Android │ │ ├── AdjustSamsungReferrerAndroid.cs │ │ ├── AdjustSamsungReferrerAndroid.cs.meta │ │ ├── adjust-android-samsung-referrer.jar │ │ └── adjust-android-samsung-referrer.jar.meta │ ├── Editor.meta │ ├── Editor │ │ ├── AdjustSamsungReferrerEditor.cs │ │ └── AdjustSamsungReferrerEditor.cs.meta │ ├── Prefab.meta │ ├── Prefab │ │ ├── AdjustSamsungReferrer.prefab │ │ └── AdjustSamsungReferrer.prefab.meta │ ├── Unity.meta │ └── Unity │ │ ├── AdjustSamsungReferrer.cs │ │ └── AdjustSamsungReferrer.cs.meta ├── Example.meta ├── Example │ ├── Example.cs │ ├── Example.cs.meta │ ├── Example.prefab │ ├── Example.prefab.meta │ ├── Example.unity │ └── Example.unity.meta ├── Test.meta └── Test │ ├── 3rdParty.meta │ ├── 3rdParty │ ├── JsonNet-Lite.meta │ ├── JsonNet-Lite.unitypackage.json │ ├── JsonNet-Lite.unitypackage.json.meta │ └── JsonNet-Lite │ │ ├── Newtonsoft.Json.dll │ │ ├── Newtonsoft.Json.dll.mdb │ │ ├── Newtonsoft.Json.dll.mdb.meta │ │ ├── Newtonsoft.Json.dll.meta │ │ ├── link.xml │ │ └── link.xml.meta │ ├── Native.meta │ ├── Native │ ├── Android.meta │ ├── Android │ │ ├── Java-WebSocket-1.4.0.jar │ │ ├── Java-WebSocket-1.4.0.jar.meta │ │ ├── adjust-test-library.aar │ │ ├── adjust-test-library.aar.meta │ │ ├── adjust-test-options.aar │ │ ├── adjust-test-options.aar.meta │ │ ├── gson-2.8.6.jar │ │ ├── gson-2.8.6.jar.meta │ │ ├── slf4j-api-1.7.30.jar │ │ └── slf4j-api-1.7.30.jar.meta │ ├── iOS.meta │ └── iOS │ │ ├── ATLBlockingQueue.h │ │ ├── ATLBlockingQueue.h.meta │ │ ├── ATLConstants.h │ │ ├── ATLConstants.h.meta │ │ ├── ATLControlWebSocketClient.h │ │ ├── ATLControlWebSocketClient.h.meta │ │ ├── ATLNetworking.h │ │ ├── ATLNetworking.h.meta │ │ ├── ATLTestLibrary.h │ │ ├── ATLTestLibrary.h.meta │ │ ├── ATLUtil.h │ │ ├── ATLUtil.h.meta │ │ ├── AdjustTestLibrary.a │ │ ├── AdjustTestLibrary.a.meta │ │ ├── AdjustUnityCommandExecutor.h │ │ ├── AdjustUnityCommandExecutor.h.meta │ │ ├── AdjustUnityCommandExecutor.mm │ │ ├── AdjustUnityCommandExecutor.mm.meta │ │ ├── AdjustUnityTestLibrary.h │ │ ├── AdjustUnityTestLibrary.h.meta │ │ ├── AdjustUnityTestLibrary.mm │ │ └── AdjustUnityTestLibrary.mm.meta │ ├── Scripts.meta │ ├── Scripts │ ├── Command.cs │ ├── Command.cs.meta │ ├── CommandExecutor.cs │ ├── CommandExecutor.cs.meta │ ├── CommandListenerAndroid.cs │ ├── CommandListenerAndroid.cs.meta │ ├── ExportOptions.plist │ ├── ExportOptions.plist.meta │ ├── ITestLibrary.cs │ ├── ITestLibrary.cs.meta │ ├── TestConectionOptions.cs │ ├── TestConectionOptions.cs.meta │ ├── TestLibraryAndroid.cs │ ├── TestLibraryAndroid.cs.meta │ ├── TestLibraryBridgeiOS.cs │ ├── TestLibraryBridgeiOS.cs.meta │ ├── TestLibraryiOS.cs │ └── TestLibraryiOS.cs.meta │ ├── TestApp.meta │ └── TestApp │ ├── TestApp.cs │ ├── TestApp.cs.meta │ ├── TestApp.prefab │ ├── TestApp.prefab.meta │ ├── TestApp.unity │ └── TestApp.unity.meta ├── CHANGELOG.md ├── LICENSE ├── README.md ├── VERSION └── scripts ├── adjust_uninstall.py ├── build_sdk.py ├── build_sdk_android.py ├── build_sdk_ios.py ├── build_sdk_windows.py └── scripting_utils.py /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # =============== # 2 | # Unity generated # 3 | # =============== # 4 | Temp/ 5 | Obj/ 6 | UnityGenerated/ 7 | Library/ 8 | 9 | # ===================================================================== # 10 | # Binary DLL files have to be ADDDED (not ignored). Used by Windows SDK # 11 | # ===================================================================== # 12 | !*.dll 13 | 14 | # ===================================== # 15 | # Visual Studio / MonoDevelop generated # 16 | # ===================================== # 17 | ExportedObj/ 18 | *.svd 19 | *.userprefs 20 | *.pidb 21 | *.suo 22 | *.user 23 | *.unityproj 24 | *.booproj 25 | 26 | nuget 27 | *.nupkg 28 | 29 | # ====================================================================== # 30 | # Build Folders (you can keep bin if you'd like, to store dlls and pdbs) # 31 | # ====================================================================== # 32 | [Bb]in/ 33 | [Oo]bj/ 34 | 35 | # =================== # 36 | # mstest test results # 37 | # =================== # 38 | TestResults 39 | 40 | # ========================================================= # 41 | # Ignore Visual Studio temporary files, build results, and # 42 | # files generated by popular Visual Studio add-ons. # 43 | # ========================================================= # 44 | 45 | # =================== # 46 | # User-specific files # 47 | # =================== # 48 | *.suo 49 | *.user 50 | *.sln.docstates 51 | 52 | # ============= # 53 | # Build results # 54 | # ============= # 55 | [Dd]ebug/ 56 | [Rr]elease/ 57 | x64/ 58 | *_i.c 59 | *_p.c 60 | *.ilk 61 | *.obj 62 | *.pch 63 | *.pdb 64 | *.pgc 65 | *.pgd 66 | *.rsp 67 | *.sbr 68 | *.tlb 69 | *.tli 70 | *.tlh 71 | *.tmp 72 | *.log 73 | *.vspscc 74 | *.vssscc 75 | .builds 76 | 77 | # ====================== # 78 | # Visual C++ cache files # 79 | # ====================== # 80 | ipch/ 81 | *.aps 82 | *.ncb 83 | *.opensdf 84 | *.sdf 85 | 86 | # ====================== # 87 | # Visual Studio profiler # 88 | # ====================== # 89 | *.psess 90 | *.vsp 91 | *.vspx 92 | 93 | # =========================== # 94 | # Guidance Automation Toolkit # 95 | # =========================== # 96 | *.gpState 97 | 98 | # ================================= # 99 | # ReSharper is a .NET coding add-in # 100 | # ================================= # 101 | _ReSharper* 102 | 103 | # ======= # 104 | # NCrunch # 105 | # ======= # 106 | *.ncrunch* 107 | .*crunch*.local.xml 108 | 109 | # =========================== # 110 | # Installshield output folder # 111 | # =========================== # 112 | [Ee]xpress 113 | 114 | # ============================================== # 115 | # DocProject is a documentation generator add-in # 116 | # ============================================== # 117 | DocProject/buildhelp/ 118 | DocProject/Help/*.HxT 119 | DocProject/Help/*.HxC 120 | DocProject/Help/*.hhc 121 | DocProject/Help/*.hhk 122 | DocProject/Help/*.hhp 123 | DocProject/Help/Html2 124 | DocProject/Help/html 125 | 126 | # ==================== # 127 | # Click-Once directory # 128 | # ==================== # 129 | publish 130 | 131 | # ================== # 132 | # Publish Web Output # 133 | # ================== # 134 | *.Publish.xml 135 | 136 | # ======================== # 137 | # NuGet Packages Directory # 138 | # ======================== # 139 | packages 140 | 141 | # ========================== # 142 | # Windows Azure Build Output # 143 | # ========================== # 144 | csx 145 | *.build.csdef 146 | 147 | # =================================== # 148 | # Windows Store app package directory # 149 | # =================================== # 150 | AppPackages/ 151 | 152 | # ====== # 153 | # Others # 154 | # ====== # 155 | [Bb]in 156 | [Oo]bj 157 | sql 158 | TestResults 159 | [Tt]est[Rr]esult* 160 | *.Cache 161 | ClientBin 162 | [Ss]tyle[Cc]op.* 163 | ~$* 164 | *.dbmdl 165 | Generated_Code #added for RIA/Silverlight projects 166 | 167 | # =========================================================================== # 168 | # Backup & report files from converting an old project file to a newer # 169 | # Visual Studio version. Backup files are not needed, because we have git ;-) # 170 | # =========================================================================== # 171 | _UpgradeReport_Files/ 172 | Backup*/ 173 | UpgradeLog*.XML 174 | 175 | # ============ # 176 | # OS generated # 177 | # ============ # 178 | .DS_Store 179 | .DS_Store? 180 | ._* 181 | .Spotlight-V100 182 | .Trashes 183 | Icon? 184 | ehthumbs.db 185 | Thumbs.db 186 | *.orig 187 | 188 | # ==================== # 189 | # Adjust SDK generated # 190 | # ==================== # 191 | *.pyc* 192 | AndroidManifest.xml* 193 | MetroTestCertificate.pfx* 194 | src/ 195 | src.meta 196 | ProjectSettings/* 197 | !ProjectSettings/Project* 198 | !ProjectSettings/Editor* 199 | Scripts/Unity4Assets 200 | 201 | # ======================= # 202 | # Unity Project necessary # 203 | # ======================= # 204 | Assembly-CSharp* 205 | unity_sdk*.sln 206 | 207 | # ========== # 208 | # Exceptions # 209 | # ========== # 210 | !google-play-services_lib/AndroidManifest.xml 211 | *.lock.json 212 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "ext/ios/sdk"] 2 | path = ext/ios/sdk 3 | url = https://github.com/adjust/ios_sdk.git 4 | [submodule "ext/android/sdk"] 5 | path = ext/android/sdk 6 | url = https://github.com/adjust/android_sdk.git 7 | -------------------------------------------------------------------------------- /Assets/Adjust.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9a72fef3ef8af844c845eb446e579691 3 | folderAsset: yes 4 | timeCreated: 1578652520 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Adjust/Native.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48d8fb88fe43540d48dd33b18a151507 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Adjust/Native/Android.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 99903aebed26d46a2aa9f9aa2b17a339 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Adjust/Native/Android/AdjustAndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 34 | 35 | 36 | 40 | 41 | 42 | 43 | 44 | 45 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /Assets/Adjust/Native/Android/AdjustAndroidManifest.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a13ef442648c346a79f9ff24875c037a 3 | TextScriptImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Adjust/Native/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c11a8a7fc7bfd4937bac95b31f1fb273 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Adjust/Native/Editor/Dependencies.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Assets/Adjust/Native/Editor/Dependencies.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d4241857b233d46ee874c8f80bb65fdb 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Adjust/Native/iOS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c8400ff077d6c4583b0f85a46cd1d50b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Adjust/Native/iOS/AdjustUnity.h: -------------------------------------------------------------------------------- 1 | // 2 | // AdjustUnity.h 3 | // Adjust SDK 4 | // 5 | // Created by Pedro Silva (@nonelse) on 27th March 2014. 6 | // Copyright © 2012-2018 Adjust GmbH. All rights reserved. 7 | // 8 | 9 | /** 10 | * @brief The main interface to Adjust Unity bridge. 11 | */ 12 | @interface AdjustUnity : NSObject 13 | 14 | // app callbacks as method parameters 15 | typedef void (*AdjustDelegateIsEnabledGetter)(bool isEnabled); 16 | typedef void (*AdjustDelegateAttributionGetter)(const char* attribution); 17 | typedef void (*AdjustDelegateAdidGetter)(const char* adid); 18 | typedef void (*AdjustDelegateIdfaGetter)(const char* idfa); 19 | typedef void (*AdjustDelegateIdfvGetter)(const char* idfv); 20 | typedef void (*AdjustDelegateLastDeeplinkGetter)(const char* lastDeeplink); 21 | typedef void (*AdjustDelegateSdkVersionGetter)(const char* sdkVersion); 22 | typedef void (*AdjustDelegateAttCallback)(int status); 23 | typedef void (*AdjustDelegatePurchaseVerificationCallback)(const char* verificationResult); 24 | typedef void (*AdjustDelegateVerifyAndTrackCallback)(const char* verificationResult); 25 | typedef void (*AdjustDelegateResolvedDeeplinkCallback)(const char* deeplink); 26 | typedef void (*AdjustDelegateSkanErrorCallback)(const char* error); 27 | 28 | // app callbacks as subscriptions 29 | typedef void (*AdjustDelegateAttributionCallback)(const char* attribution); 30 | typedef void (*AdjustDelegateSessionSuccessCallback)(const char* sessionSuccess); 31 | typedef void (*AdjustDelegateSessionFailureCallback)(const char* sessionFailure); 32 | typedef void (*AdjustDelegateEventSuccessCallback)(const char* eventSuccess); 33 | typedef void (*AdjustDelegateEventFailureCallback)(const char* eventFailure); 34 | typedef void (*AdjustDelegateDeferredDeeplinkCallback)(const char* deeplink); 35 | typedef void (*AdjustDelegateSkanUpdatedCallback)(const char* skanData); 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /Assets/Adjust/Native/iOS/AdjustUnity.h.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9ffff8839c6ab418b983add4c597fb87 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | '': Any 13 | second: 14 | enabled: 0 15 | settings: 16 | Exclude Android: 1 17 | Exclude Editor: 1 18 | Exclude Linux: 1 19 | Exclude Linux64: 1 20 | Exclude LinuxUniversal: 1 21 | Exclude OSXUniversal: 1 22 | Exclude WebGL: 1 23 | Exclude Win: 1 24 | Exclude Win64: 1 25 | Exclude iOS: 0 26 | Exclude tvOS: 1 27 | - first: 28 | Android: Android 29 | second: 30 | enabled: 0 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 | Facebook: Win 48 | second: 49 | enabled: 0 50 | settings: 51 | CPU: None 52 | - first: 53 | Facebook: Win64 54 | second: 55 | enabled: 0 56 | settings: 57 | CPU: None 58 | - first: 59 | Standalone: Linux 60 | second: 61 | enabled: 0 62 | settings: 63 | CPU: None 64 | - first: 65 | Standalone: Linux64 66 | second: 67 | enabled: 0 68 | settings: 69 | CPU: None 70 | - first: 71 | Standalone: LinuxUniversal 72 | second: 73 | enabled: 0 74 | settings: 75 | CPU: None 76 | - first: 77 | Standalone: OSXUniversal 78 | second: 79 | enabled: 0 80 | settings: 81 | CPU: x86 82 | - first: 83 | Standalone: Win 84 | second: 85 | enabled: 0 86 | settings: 87 | CPU: None 88 | - first: 89 | Standalone: Win64 90 | second: 91 | enabled: 0 92 | settings: 93 | CPU: None 94 | - first: 95 | iPhone: iOS 96 | second: 97 | enabled: 1 98 | settings: 99 | CompileFlags: 100 | FrameworkDependencies: 101 | - first: 102 | tvOS: tvOS 103 | second: 104 | enabled: 0 105 | settings: 106 | CompileFlags: 107 | FrameworkDependencies: 108 | userData: 109 | assetBundleName: 110 | assetBundleVariant: 111 | -------------------------------------------------------------------------------- /Assets/Adjust/Native/iOS/AdjustUnity.mm.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e17e20d987e4449489d9e3accbd8602 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | '': Any 13 | second: 14 | enabled: 0 15 | settings: 16 | Exclude Android: 1 17 | Exclude Editor: 1 18 | Exclude Linux: 1 19 | Exclude Linux64: 1 20 | Exclude LinuxUniversal: 1 21 | Exclude OSXIntel: 1 22 | Exclude OSXIntel64: 1 23 | Exclude OSXUniversal: 1 24 | Exclude WebGL: 1 25 | Exclude Win: 1 26 | Exclude Win64: 1 27 | Exclude iOS: 0 28 | Exclude tvOS: 1 29 | - first: 30 | '': Editor 31 | second: 32 | enabled: 0 33 | settings: 34 | CPU: AnyCPU 35 | OS: AnyOS 36 | - first: 37 | Android: Android 38 | second: 39 | enabled: 0 40 | settings: 41 | CPU: ARMv7 42 | - first: 43 | Any: 44 | second: 45 | enabled: 0 46 | settings: {} 47 | - first: 48 | Editor: Editor 49 | second: 50 | enabled: 0 51 | settings: 52 | CPU: AnyCPU 53 | DefaultValueInitialized: true 54 | OS: AnyOS 55 | - first: 56 | Facebook: Win 57 | second: 58 | enabled: 0 59 | settings: 60 | CPU: None 61 | - first: 62 | Facebook: Win64 63 | second: 64 | enabled: 0 65 | settings: 66 | CPU: None 67 | - first: 68 | Standalone: Linux 69 | second: 70 | enabled: 0 71 | settings: 72 | CPU: None 73 | - first: 74 | Standalone: Linux64 75 | second: 76 | enabled: 0 77 | settings: 78 | CPU: None 79 | - first: 80 | Standalone: LinuxUniversal 81 | second: 82 | enabled: 0 83 | settings: 84 | CPU: None 85 | - first: 86 | Standalone: OSXIntel 87 | second: 88 | enabled: 0 89 | settings: 90 | CPU: AnyCPU 91 | - first: 92 | Standalone: OSXIntel64 93 | second: 94 | enabled: 0 95 | settings: 96 | CPU: AnyCPU 97 | - first: 98 | Standalone: OSXUniversal 99 | second: 100 | enabled: 0 101 | settings: 102 | CPU: x86 103 | - first: 104 | Standalone: Win 105 | second: 106 | enabled: 0 107 | settings: 108 | CPU: None 109 | - first: 110 | Standalone: Win64 111 | second: 112 | enabled: 0 113 | settings: 114 | CPU: None 115 | - first: 116 | iPhone: iOS 117 | second: 118 | enabled: 1 119 | settings: 120 | CompileFlags: 121 | FrameworkDependencies: 122 | - first: 123 | tvOS: tvOS 124 | second: 125 | enabled: 0 126 | settings: 127 | CompileFlags: 128 | FrameworkDependencies: 129 | userData: 130 | assetBundleName: 131 | assetBundleVariant: 132 | -------------------------------------------------------------------------------- /Assets/Adjust/Native/iOS/AdjustUnityAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AdjustUnityAppDelegate.h 3 | // Adjust SDK 4 | // 5 | // Copyright © 2012-2021 Adjust GmbH. All rights reserved. 6 | // 7 | 8 | /** 9 | * @brief The interface to Adjust App Delegate. Used to do callback methods swizzling for deep linking. 10 | */ 11 | @interface AdjustUnityAppDelegate : NSObject 12 | 13 | /** 14 | * @brief Swizzle AppDelegate deep linking callbacks. 15 | */ 16 | + (void)swizzleAppDelegateCallbacks; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Assets/Adjust/Native/iOS/AdjustUnityAppDelegate.h.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ac4b0b80967dd499b94e6bd430ac6662 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | '': Any 13 | second: 14 | enabled: 0 15 | settings: 16 | Exclude Android: 1 17 | Exclude Editor: 1 18 | Exclude Linux: 1 19 | Exclude Linux64: 1 20 | Exclude LinuxUniversal: 1 21 | Exclude OSXUniversal: 1 22 | Exclude WebGL: 1 23 | Exclude Win: 1 24 | Exclude Win64: 1 25 | Exclude iOS: 0 26 | Exclude tvOS: 1 27 | - first: 28 | Android: Android 29 | second: 30 | enabled: 0 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 | Facebook: Win 48 | second: 49 | enabled: 0 50 | settings: 51 | CPU: None 52 | - first: 53 | Facebook: Win64 54 | second: 55 | enabled: 0 56 | settings: 57 | CPU: None 58 | - first: 59 | Standalone: Linux 60 | second: 61 | enabled: 0 62 | settings: 63 | CPU: None 64 | - first: 65 | Standalone: Linux64 66 | second: 67 | enabled: 0 68 | settings: 69 | CPU: None 70 | - first: 71 | Standalone: LinuxUniversal 72 | second: 73 | enabled: 0 74 | settings: 75 | CPU: None 76 | - first: 77 | Standalone: OSXUniversal 78 | second: 79 | enabled: 0 80 | settings: 81 | CPU: x86 82 | - first: 83 | Standalone: Win 84 | second: 85 | enabled: 0 86 | settings: 87 | CPU: None 88 | - first: 89 | Standalone: Win64 90 | second: 91 | enabled: 0 92 | settings: 93 | CPU: None 94 | - first: 95 | WebGL: WebGL 96 | second: 97 | enabled: 0 98 | settings: {} 99 | - first: 100 | iPhone: iOS 101 | second: 102 | enabled: 1 103 | settings: 104 | CompileFlags: 105 | FrameworkDependencies: 106 | - first: 107 | tvOS: tvOS 108 | second: 109 | enabled: 0 110 | settings: 111 | CompileFlags: 112 | FrameworkDependencies: 113 | userData: 114 | assetBundleName: 115 | assetBundleVariant: 116 | -------------------------------------------------------------------------------- /Assets/Adjust/Native/iOS/AdjustUnityAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AdjustUnityAppDelegate.mm 3 | // Adjust SDK 4 | // 5 | // Copyright © 2012-2021 Adjust GmbH. All rights reserved. 6 | // 7 | 8 | #import 9 | #import 10 | #import "AdjustUnityAppDelegate.h" 11 | 12 | typedef BOOL (*openURL_t)(id, SEL, UIApplication *, NSURL *, NSDictionary *); 13 | typedef BOOL (*continueUserActivity_t)(id, SEL, UIApplication *, NSUserActivity *, void (^)(NSArray *restorableObjects)); 14 | static openURL_t original_openURL = NULL; 15 | static continueUserActivity_t original_continueUserActivity = NULL; 16 | 17 | @implementation AdjustUnityAppDelegate 18 | 19 | + (void)swizzleAppDelegateCallbacks { 20 | NSLog(@"[Adjust] Swizzling AppDelegate callbacks..."); 21 | static dispatch_once_t onceToken; 22 | dispatch_once(&onceToken, ^{ 23 | original_openURL = (openURL_t)[self swizzleOriginalSelector:@selector(application:openURL:options:) 24 | withSelector:@selector(adjust_application:openURL:options:)]; 25 | original_continueUserActivity = (continueUserActivity_t)[self swizzleOriginalSelector:@selector(application:continueUserActivity:restorationHandler:) 26 | withSelector:@selector(adjust_application:continueUserActivity:restorationHandler:)]; 27 | }); 28 | } 29 | 30 | + (IMP)swizzleOriginalSelector:(SEL)originalSelector 31 | withSelector:(SEL)swizzledSelector { 32 | // The Unity base app controller class name. 33 | extern const char* AppControllerClassName; 34 | Class originalClass = NSClassFromString([NSString stringWithUTF8String:AppControllerClassName]); 35 | Class swizzledClass = [self class]; 36 | IMP originalImp = NULL; 37 | IMP swizzledImp = class_getMethodImplementation(swizzledClass, swizzledSelector); 38 | 39 | // Replace original implementation by the custom one. 40 | Method originalMethod = class_getInstanceMethod(originalClass, originalSelector); 41 | if (originalMethod) { 42 | originalImp = method_setImplementation(originalMethod, swizzledImp); 43 | } else if (![originalClass instancesRespondToSelector:originalSelector]) { 44 | // Add the method to the original class if it doesn't implement the selector. 45 | Method swizzledMethod = class_getInstanceMethod(swizzledClass, swizzledSelector); 46 | BOOL methodAdded = class_addMethod(originalClass, originalSelector, swizzledImp, method_getTypeEncoding(swizzledMethod)); 47 | if (!methodAdded) { 48 | NSLog(@"[Adjust] Cannot swizzle selector '%@' of class '%@'.", NSStringFromSelector(originalSelector), originalClass); 49 | return NULL; 50 | } 51 | } 52 | NSLog(@"[Adjust] Selector '%@' of class '%@' is swizzled.", NSStringFromSelector(originalSelector), originalClass); 53 | return originalImp; 54 | } 55 | 56 | - (BOOL)adjust_application:(UIApplication *)application 57 | openURL:(NSURL *)url 58 | options:(NSDictionary *)options { 59 | ADJDeeplink *deeplink = [[ADJDeeplink alloc] initWithDeeplink:url]; 60 | [Adjust processDeeplink:deeplink]; 61 | return original_openURL ? original_openURL(self, _cmd, application, url, options) : YES; 62 | } 63 | 64 | - (BOOL)adjust_application:(UIApplication *)application 65 | continueUserActivity:(NSUserActivity *)userActivity 66 | restorationHandler:(void (^)(NSArray *restorableObjects))restorationHandler { 67 | if ([[userActivity activityType] isEqualToString:NSUserActivityTypeBrowsingWeb]) { 68 | NSURL *url = [userActivity webpageURL]; 69 | ADJDeeplink *deeplink = [[ADJDeeplink alloc] initWithDeeplink:url]; 70 | [Adjust processDeeplink:deeplink]; 71 | } 72 | return original_continueUserActivity ? original_continueUserActivity(self, _cmd, application, userActivity, restorationHandler) : YES; 73 | } 74 | 75 | @end 76 | -------------------------------------------------------------------------------- /Assets/Adjust/Native/iOS/AdjustUnityAppDelegate.m.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea1bc374f78b747f8a81fcc82cd77d96 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | '': Any 13 | second: 14 | enabled: 0 15 | settings: 16 | Exclude Android: 1 17 | Exclude Editor: 1 18 | Exclude Linux: 1 19 | Exclude Linux64: 1 20 | Exclude LinuxUniversal: 1 21 | Exclude OSXUniversal: 1 22 | Exclude WebGL: 1 23 | Exclude Win: 1 24 | Exclude Win64: 1 25 | Exclude iOS: 0 26 | Exclude tvOS: 1 27 | - first: 28 | Any: 29 | second: 30 | enabled: 0 31 | settings: {} 32 | - first: 33 | Editor: Editor 34 | second: 35 | enabled: 0 36 | settings: 37 | DefaultValueInitialized: true 38 | - first: 39 | Facebook: Win 40 | second: 41 | enabled: 0 42 | settings: 43 | CPU: None 44 | - first: 45 | Facebook: Win64 46 | second: 47 | enabled: 0 48 | settings: 49 | CPU: None 50 | - first: 51 | Standalone: Linux 52 | second: 53 | enabled: 0 54 | settings: 55 | CPU: None 56 | - first: 57 | Standalone: Linux64 58 | second: 59 | enabled: 0 60 | settings: 61 | CPU: None 62 | - first: 63 | Standalone: LinuxUniversal 64 | second: 65 | enabled: 0 66 | settings: 67 | CPU: None 68 | - first: 69 | Standalone: OSXUniversal 70 | second: 71 | enabled: 0 72 | settings: 73 | CPU: x86 74 | - first: 75 | Standalone: Win 76 | second: 77 | enabled: 0 78 | settings: 79 | CPU: None 80 | - first: 81 | Standalone: Win64 82 | second: 83 | enabled: 0 84 | settings: 85 | CPU: None 86 | - first: 87 | iPhone: iOS 88 | second: 89 | enabled: 1 90 | settings: {} 91 | - first: 92 | tvOS: tvOS 93 | second: 94 | enabled: 0 95 | settings: {} 96 | userData: 97 | assetBundleName: 98 | assetBundleVariant: 99 | -------------------------------------------------------------------------------- /Assets/Adjust/Native/iOS/AdjustUnityDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AdjustUnityDelegate.h 3 | // Adjust SDK 4 | // 5 | // Created by Uglješa Erceg (@uerceg) on 5th December 2016. 6 | // Copyright © 2012-Present Adjust GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AdjustUnity.h" 11 | 12 | /** 13 | * @brief The main interface to Adjust Unity delegate. Used to do callback methods swizzling where needed. 14 | */ 15 | @interface AdjustUnityDelegate : NSObject 16 | 17 | /** 18 | * @brief Boolean indicating whether deferred deep link should be launched by SDK or not. 19 | */ 20 | @property (nonatomic) BOOL shouldLaunchDeferredDeeplink; 21 | 22 | @property (nonatomic) AdjustDelegateAttributionCallback attributionCallback; 23 | @property (nonatomic) AdjustDelegateEventSuccessCallback eventSuccessCallback; 24 | @property (nonatomic) AdjustDelegateEventFailureCallback eventFailureCallback; 25 | @property (nonatomic) AdjustDelegateSessionSuccessCallback sessionSuccessCallback; 26 | @property (nonatomic) AdjustDelegateSessionFailureCallback sessionFailureCallback; 27 | @property (nonatomic) AdjustDelegateDeferredDeeplinkCallback deferredDeeplinkCallback; 28 | @property (nonatomic) AdjustDelegateSkanUpdatedCallback skanUpdatedCallback; 29 | 30 | /** 31 | * @brief Get instance of the AdjustUnityDelegate with properly swizzled callback methods. 32 | * 33 | * @param swizzleAttributionCallback Indicator whether attribution callback should be swizzled or not. 34 | * @param swizzleEventSuccessCallback Indicator whether event success callback should be swizzled or not. 35 | * @param swizzleEventFailureCallback Indicator whether event failure callback should be swizzled or not. 36 | * @param swizzleSessionSuccessCallback Indicator whether session success callback should be swizzled or not. 37 | * @param swizzleSessionFailureCallback Indicator whether session failure callback should be swizzled or not. 38 | * @param swizzleDeferredDeeplinkCallback Indicator whether deferred deep link callback should be swizzled or not. 39 | * @param swizzleSkanUpdatedCallback Indicator whether SKAD conversion value update callback should be swizzled or not. 40 | * @param shouldLaunchDeferredDeeplink Indicator whether SDK should launch deferred deep link by default or not. 41 | * @param adjustUnityGameObjectName Name of the Unity game object that loads Adjust script. 42 | * 43 | * @return AdjustUnityDelegate object instance with properly swizzled callback methods. 44 | */ 45 | + (id)getInstanceWithAttributionCallback:(AdjustDelegateAttributionCallback)attributionCallback 46 | eventSuccessCallback:(AdjustDelegateEventSuccessCallback)eventSuccessCallback 47 | eventFailureCallback:(AdjustDelegateEventFailureCallback)eventFailureCallback 48 | sessionSuccessCallback:(AdjustDelegateSessionSuccessCallback)sessionSuccessCallback 49 | sessionFailureCallback:(AdjustDelegateSessionFailureCallback)sessionFailureCallback 50 | deferredDeeplinkCallback:(AdjustDelegateDeferredDeeplinkCallback)deferredDeeplinkCallback 51 | skanUpdatedCallback:(AdjustDelegateSkanUpdatedCallback)skanUpdatedCallback 52 | shouldLaunchDeferredDeeplink:(BOOL)shouldLaunchDeferredDeeplink; 53 | 54 | /** 55 | * @brief Teardown method used to reset static AdjustUnityDelegate instance. 56 | * Used for testing purposes only. 57 | */ 58 | + (void)teardown; 59 | 60 | @end 61 | -------------------------------------------------------------------------------- /Assets/Adjust/Native/iOS/AdjustUnityDelegate.h.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d2beef19c617f74fbca612cc97e3c60 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | '': Any 13 | second: 14 | enabled: 0 15 | settings: 16 | Exclude Android: 1 17 | Exclude Editor: 1 18 | Exclude Linux: 1 19 | Exclude Linux64: 1 20 | Exclude LinuxUniversal: 1 21 | Exclude OSXIntel: 1 22 | Exclude OSXIntel64: 1 23 | Exclude OSXUniversal: 1 24 | Exclude WebGL: 1 25 | Exclude Win: 1 26 | Exclude Win64: 1 27 | Exclude iOS: 0 28 | Exclude tvOS: 1 29 | - first: 30 | '': Editor 31 | second: 32 | enabled: 0 33 | settings: 34 | CPU: AnyCPU 35 | OS: AnyOS 36 | - first: 37 | Android: Android 38 | second: 39 | enabled: 0 40 | settings: 41 | CPU: ARMv7 42 | - first: 43 | Any: 44 | second: 45 | enabled: 0 46 | settings: {} 47 | - first: 48 | Editor: Editor 49 | second: 50 | enabled: 0 51 | settings: 52 | CPU: AnyCPU 53 | DefaultValueInitialized: true 54 | OS: AnyOS 55 | - first: 56 | Facebook: Win 57 | second: 58 | enabled: 0 59 | settings: 60 | CPU: None 61 | - first: 62 | Facebook: Win64 63 | second: 64 | enabled: 0 65 | settings: 66 | CPU: None 67 | - first: 68 | Standalone: Linux 69 | second: 70 | enabled: 0 71 | settings: 72 | CPU: None 73 | - first: 74 | Standalone: Linux64 75 | second: 76 | enabled: 0 77 | settings: 78 | CPU: None 79 | - first: 80 | Standalone: LinuxUniversal 81 | second: 82 | enabled: 0 83 | settings: 84 | CPU: None 85 | - first: 86 | Standalone: OSXIntel 87 | second: 88 | enabled: 0 89 | settings: 90 | CPU: AnyCPU 91 | - first: 92 | Standalone: OSXIntel64 93 | second: 94 | enabled: 0 95 | settings: 96 | CPU: AnyCPU 97 | - first: 98 | Standalone: OSXUniversal 99 | second: 100 | enabled: 0 101 | settings: 102 | CPU: x86 103 | - first: 104 | Standalone: Win 105 | second: 106 | enabled: 0 107 | settings: 108 | CPU: None 109 | - first: 110 | Standalone: Win64 111 | second: 112 | enabled: 0 113 | settings: 114 | CPU: None 115 | - first: 116 | iPhone: iOS 117 | second: 118 | enabled: 1 119 | settings: 120 | CompileFlags: 121 | FrameworkDependencies: 122 | - first: 123 | tvOS: tvOS 124 | second: 125 | enabled: 0 126 | settings: 127 | CompileFlags: 128 | FrameworkDependencies: 129 | userData: 130 | assetBundleName: 131 | assetBundleVariant: 132 | -------------------------------------------------------------------------------- /Assets/Adjust/Native/iOS/AdjustUnityDelegate.mm.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 81438eed05b2e4b489f13efc94d5476a 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | '': Any 13 | second: 14 | enabled: 0 15 | settings: 16 | Exclude Android: 1 17 | Exclude Editor: 1 18 | Exclude Linux: 1 19 | Exclude Linux64: 1 20 | Exclude LinuxUniversal: 1 21 | Exclude OSXIntel: 1 22 | Exclude OSXIntel64: 1 23 | Exclude OSXUniversal: 1 24 | Exclude WebGL: 1 25 | Exclude Win: 1 26 | Exclude Win64: 1 27 | Exclude iOS: 0 28 | Exclude tvOS: 1 29 | - first: 30 | '': Editor 31 | second: 32 | enabled: 0 33 | settings: 34 | CPU: AnyCPU 35 | OS: AnyOS 36 | - first: 37 | Android: Android 38 | second: 39 | enabled: 0 40 | settings: 41 | CPU: ARMv7 42 | - first: 43 | Any: 44 | second: 45 | enabled: 0 46 | settings: {} 47 | - first: 48 | Editor: Editor 49 | second: 50 | enabled: 0 51 | settings: 52 | DefaultValueInitialized: true 53 | - first: 54 | Facebook: Win 55 | second: 56 | enabled: 0 57 | settings: 58 | CPU: None 59 | - first: 60 | Facebook: Win64 61 | second: 62 | enabled: 0 63 | settings: 64 | CPU: None 65 | - first: 66 | Standalone: Linux 67 | second: 68 | enabled: 0 69 | settings: 70 | CPU: None 71 | - first: 72 | Standalone: Linux64 73 | second: 74 | enabled: 0 75 | settings: 76 | CPU: None 77 | - first: 78 | Standalone: LinuxUniversal 79 | second: 80 | enabled: 0 81 | settings: 82 | CPU: None 83 | - first: 84 | Standalone: OSXIntel 85 | second: 86 | enabled: 0 87 | settings: 88 | CPU: AnyCPU 89 | - first: 90 | Standalone: OSXIntel64 91 | second: 92 | enabled: 0 93 | settings: 94 | CPU: AnyCPU 95 | - first: 96 | Standalone: OSXUniversal 97 | second: 98 | enabled: 0 99 | settings: 100 | CPU: x86 101 | - first: 102 | Standalone: Win 103 | second: 104 | enabled: 0 105 | settings: 106 | CPU: None 107 | - first: 108 | Standalone: Win64 109 | second: 110 | enabled: 0 111 | settings: 112 | CPU: None 113 | - first: 114 | iPhone: iOS 115 | second: 116 | enabled: 1 117 | settings: 118 | CompileFlags: 119 | FrameworkDependencies: 120 | - first: 121 | tvOS: tvOS 122 | second: 123 | enabled: 0 124 | settings: 125 | CompileFlags: 126 | FrameworkDependencies: 127 | userData: 128 | assetBundleName: 129 | assetBundleVariant: 130 | -------------------------------------------------------------------------------- /Assets/Adjust/Prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0acdd227ad1b8d147ade044242671e15 3 | folderAsset: yes 4 | timeCreated: 1578652549 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Adjust/Prefab/Adjust.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &115478 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 100100000} 8 | serializedVersion: 5 9 | m_Component: 10 | - component: {fileID: 415478} 11 | - component: {fileID: 114179903453641630} 12 | m_Layer: 0 13 | m_Name: Adjust 14 | m_TagString: Untagged 15 | m_Icon: {fileID: 0} 16 | m_NavMeshLayer: 0 17 | m_StaticEditorFlags: 0 18 | m_IsActive: 1 19 | --- !u!4 &415478 20 | Transform: 21 | m_ObjectHideFlags: 1 22 | m_PrefabParentObject: {fileID: 0} 23 | m_PrefabInternal: {fileID: 100100000} 24 | m_GameObject: {fileID: 115478} 25 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 26 | m_LocalPosition: {x: 0, y: 0, z: 0} 27 | m_LocalScale: {x: 1, y: 1, z: 1} 28 | m_Children: [] 29 | m_Father: {fileID: 0} 30 | m_RootOrder: 0 31 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 32 | --- !u!1001 &100100000 33 | Prefab: 34 | m_ObjectHideFlags: 1 35 | serializedVersion: 2 36 | m_Modification: 37 | m_TransformParent: {fileID: 0} 38 | m_Modifications: [] 39 | m_RemovedComponents: [] 40 | m_ParentPrefab: {fileID: 0} 41 | m_RootGameObject: {fileID: 115478} 42 | m_IsPrefabParent: 1 43 | --- !u!114 &114179903453641630 44 | MonoBehaviour: 45 | m_ObjectHideFlags: 1 46 | m_PrefabParentObject: {fileID: 0} 47 | m_PrefabInternal: {fileID: 100100000} 48 | m_GameObject: {fileID: 115478} 49 | m_Enabled: 1 50 | m_EditorHideFlags: 0 51 | m_Script: {fileID: 11500000, guid: 525ece82a472e4dea837e1ef938fd15d, type: 3} 52 | m_Name: 53 | m_EditorClassIdentifier: 54 | startManually: 1 55 | appToken: 56 | environment: 0 57 | logLevel: 3 58 | eventBuffering: 0 59 | sendInBackground: 0 60 | launchDeferredDeeplink: 1 61 | needsCost: 0 62 | coppaCompliant: 0 63 | linkMe: 0 64 | defaultTracker: 65 | urlStrategy: 0 66 | startDelay: 0 67 | secretId: 0 68 | info1: 0 69 | info2: 0 70 | info3: 0 71 | info4: 0 72 | preinstallTracking: 0 73 | preinstallFilePath: 74 | playStoreKidsApp: 0 75 | adServicesInfoReading: 1 76 | idfaInfoReading: 1 77 | skAdNetworkHandling: 1 78 | -------------------------------------------------------------------------------- /Assets/Adjust/Prefab/Adjust.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a3267720e82aa41c1a05ab29824902b4 3 | NativeFormatImporter: 4 | mainObjectFileID: -1 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e5ecfef4e691483199f0cdae3eebff2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/Adjust.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 525ece82a472e4dea837e1ef938fd15d 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustAdRevenue.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Collections.ObjectModel; 3 | 4 | namespace AdjustSdk 5 | { 6 | public class AdjustAdRevenue 7 | { 8 | private List innerCallbackParameters; 9 | private List innerPartnerParameters; 10 | 11 | public string Source { get; private set; } 12 | public double? Revenue { get; private set; } 13 | public string Currency { get; private set; } 14 | public int? AdImpressionsCount { get; set; } 15 | public string AdRevenueNetwork { get; set; } 16 | public string AdRevenueUnit { get; set; } 17 | public string AdRevenuePlacement { get; set; } 18 | public ReadOnlyCollection CallbackParameters 19 | { 20 | get 21 | { 22 | if (innerCallbackParameters == null) 23 | { 24 | return null; 25 | } 26 | else 27 | { 28 | return innerCallbackParameters.AsReadOnly(); 29 | } 30 | } 31 | } 32 | public ReadOnlyCollection PartnerParameters 33 | { 34 | get 35 | { 36 | if (innerPartnerParameters == null) 37 | { 38 | return null; 39 | } 40 | else 41 | { 42 | return innerPartnerParameters.AsReadOnly(); 43 | } 44 | } 45 | } 46 | 47 | public AdjustAdRevenue(string source) 48 | { 49 | this.Source = source; 50 | } 51 | 52 | public void SetRevenue(double revenue, string currency) 53 | { 54 | this.Revenue = revenue; 55 | this.Currency = currency; 56 | } 57 | 58 | public void AddCallbackParameter(string key, string value) 59 | { 60 | if (this.innerCallbackParameters == null) 61 | { 62 | this.innerCallbackParameters = new List(); 63 | } 64 | this.innerCallbackParameters.Add(key); 65 | this.innerCallbackParameters.Add(value); 66 | } 67 | 68 | public void AddPartnerParameter(string key, string value) 69 | { 70 | if (this.innerPartnerParameters == null) 71 | { 72 | this.innerPartnerParameters = new List(); 73 | } 74 | this.innerPartnerParameters.Add(key); 75 | this.innerPartnerParameters.Add(value); 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustAdRevenue.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 776a9d4b715bc44c68724248a5a75cb9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustAndroid.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 04f57a99ef137445992d048a89c36788 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustAppStorePurchase.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace AdjustSdk 4 | { 5 | public class AdjustAppStorePurchase 6 | { 7 | public string TransactionId { get; private set; } 8 | public string ProductId { get; private set; } 9 | 10 | public AdjustAppStorePurchase(string transactionId, string productId) 11 | { 12 | this.TransactionId = transactionId; 13 | this.ProductId = productId; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustAppStorePurchase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 828a981c8c96741afa5d16ccb679e5af 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustAppStoreSubscription.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Collections.ObjectModel; 3 | 4 | namespace AdjustSdk 5 | { 6 | public class AdjustAppStoreSubscription 7 | { 8 | private List innerCallbackParameters; 9 | private List innerPartnerParameters; 10 | 11 | public string Price { get; private set; } 12 | public string Currency { get; private set; } 13 | public string TransactionId { get; private set; } 14 | public string TransactionDate { get; set; } 15 | public string SalesRegion { get; set; } 16 | public ReadOnlyCollection CallbackParameters 17 | { 18 | get 19 | { 20 | if (innerCallbackParameters == null) 21 | { 22 | return null; 23 | } 24 | else 25 | { 26 | return innerCallbackParameters.AsReadOnly(); 27 | } 28 | } 29 | } 30 | public ReadOnlyCollection PartnerParameters 31 | { 32 | get 33 | { 34 | if (innerPartnerParameters == null) 35 | { 36 | return null; 37 | } 38 | else 39 | { 40 | return innerPartnerParameters.AsReadOnly(); 41 | } 42 | } 43 | } 44 | 45 | public AdjustAppStoreSubscription(string price, string currency, string transactionId) 46 | { 47 | this.Price = price; 48 | this.Currency = currency; 49 | this.TransactionId = transactionId; 50 | } 51 | 52 | public void AddCallbackParameter(string key, string value) 53 | { 54 | if (this.innerCallbackParameters == null) 55 | { 56 | this.innerCallbackParameters = new List(); 57 | } 58 | this.innerCallbackParameters.Add(key); 59 | this.innerCallbackParameters.Add(value); 60 | } 61 | 62 | public void AddPartnerParameter(string key, string value) 63 | { 64 | if (this.innerPartnerParameters == null) 65 | { 66 | this.innerPartnerParameters = new List(); 67 | } 68 | this.innerPartnerParameters.Add(key); 69 | this.innerPartnerParameters.Add(value); 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustAppStoreSubscription.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7e2d69221b1124370a4c016edce5a95a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustAttribution.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace AdjustSdk 5 | { 6 | public class AdjustAttribution 7 | { 8 | public string TrackerToken { get; set; } 9 | public string TrackerName { get; set; } 10 | public string Network { get; set; } 11 | public string Campaign { get; set; } 12 | public string Adgroup { get; set; } 13 | public string Creative { get; set; } 14 | public string ClickLabel { get; set; } 15 | public string CostType { get; set; } 16 | public double? CostAmount { get; set; } 17 | public string CostCurrency { get; set; } 18 | public Dictionary JsonResponse { get; set; } 19 | // Android only 20 | public string FbInstallReferrer { get; set; } 21 | 22 | public AdjustAttribution() {} 23 | 24 | public AdjustAttribution(string jsonString) 25 | { 26 | var jsonNode = JSON.Parse(jsonString); 27 | if (jsonNode == null) 28 | { 29 | return; 30 | } 31 | 32 | this.TrackerName = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyTrackerName); 33 | this.TrackerToken = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyTrackerToken); 34 | this.Network = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyNetwork); 35 | this.Campaign = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyCampaign); 36 | this.Adgroup = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyAdgroup); 37 | this.Creative = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyCreative); 38 | this.ClickLabel = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyClickLabel); 39 | this.CostType = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyCostType); 40 | try 41 | { 42 | this.CostAmount = double.Parse( 43 | AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyCostAmount), 44 | System.Globalization.CultureInfo.InvariantCulture); 45 | } 46 | catch (Exception) 47 | { 48 | // attribution response doesn't contain cost amount attached 49 | // value will default to null 50 | } 51 | this.CostCurrency = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyCostCurrency); 52 | this.FbInstallReferrer = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyFbInstallReferrer); 53 | 54 | var jsonResponseValue = jsonNode[AdjustUtils.KeyJsonResponse]; 55 | if (jsonResponseValue == null) 56 | { 57 | return; 58 | } 59 | this.JsonResponse = AdjustUtils.GetAttributionJsonResponse(jsonResponseValue); 60 | } 61 | 62 | public AdjustAttribution(Dictionary dicAttributionData) 63 | { 64 | if (dicAttributionData == null) 65 | { 66 | return; 67 | } 68 | 69 | this.TrackerName = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyTrackerName); 70 | this.TrackerToken = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyTrackerToken); 71 | this.Network = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyNetwork); 72 | this.Campaign = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyCampaign); 73 | this.Adgroup = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyAdgroup); 74 | this.Creative = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyCreative); 75 | this.ClickLabel = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyClickLabel); 76 | this.CostType = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyCostType); 77 | try 78 | { 79 | this.CostAmount = double.Parse( 80 | AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyCostAmount), 81 | System.Globalization.CultureInfo.InvariantCulture); 82 | } 83 | catch (Exception) 84 | { 85 | // attribution response doesn't contain cost amount attached 86 | // value will default to null 87 | } 88 | this.CostCurrency = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyCostCurrency); 89 | this.FbInstallReferrer = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyFbInstallReferrer); 90 | 91 | string jsonResponseString = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyJsonResponse); 92 | var jsonResponseNode = JSON.Parse(jsonResponseString); 93 | if (jsonResponseNode != null && jsonResponseNode.AsObject != null) 94 | { 95 | this.JsonResponse = new Dictionary(); 96 | AdjustUtils.WriteJsonResponseDictionary(jsonResponseNode.AsObject, this.JsonResponse); 97 | } 98 | } 99 | 100 | public void BuildJsonResponseFromString(string jsonResponseString) 101 | { 102 | var jsonNode = JSON.Parse(jsonResponseString); 103 | if (jsonNode == null) 104 | { 105 | return; 106 | } 107 | 108 | this.JsonResponse = new Dictionary(); 109 | AdjustUtils.WriteJsonResponseDictionary(jsonNode.AsObject, JsonResponse); 110 | } 111 | 112 | public string GetJsonResponseAsString() 113 | { 114 | return AdjustUtils.GetJsonResponseCompact(JsonResponse); 115 | } 116 | } 117 | } 118 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustAttribution.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc46748ad0e664f6d839a4f1a23d9f47 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace AdjustSdk 5 | { 6 | public class AdjustConfig 7 | { 8 | public string AppToken { get; private set; } 9 | public string DefaultTracker { get; set; } 10 | public string ExternalDeviceId { get; set; } 11 | public bool? IsCoppaComplianceEnabled { get; set; } 12 | public bool? IsSendingInBackgroundEnabled { get; set; } 13 | public bool? IsCostDataInAttributionEnabled { get; set; } 14 | public bool? IsDeviceIdsReadingOnceEnabled { get; set; } 15 | public bool? IsDeferredDeeplinkOpeningEnabled { get; set; } 16 | public bool? IsAppTrackingTransparencyUsageEnabled { get; set; } 17 | public bool? IsFirstSessionDelayEnabled { get; set; } 18 | public bool? AllowSuppressLogLevel { get; private set; } 19 | public bool? IsDataResidency { get; private set; } 20 | public bool? ShouldUseSubdomains { get; private set; } 21 | public int? EventDeduplicationIdsMaxSize { get; set; } 22 | public List UrlStrategyDomains { get; private set; } 23 | public AdjustLogLevel? LogLevel { get; set; } 24 | public AdjustEnvironment Environment { get; private set; } 25 | public AdjustStoreInfo StoreInfo { get; set; } 26 | public Action AttributionChangedDelegate { get; set; } 27 | public Action EventSuccessDelegate { get; set; } 28 | public Action EventFailureDelegate { get; set; } 29 | public Action SessionSuccessDelegate { get; set; } 30 | public Action SessionFailureDelegate { get; set; } 31 | public Action DeferredDeeplinkDelegate { get; set; } 32 | public Action> SkanUpdatedDelegate { get; set; } 33 | 34 | // iOS specific 35 | public bool? IsAdServicesEnabled { get; set; } 36 | public bool? IsIdfaReadingEnabled { get; set; } 37 | public bool? IsSkanAttributionEnabled { get; set; } 38 | public bool? IsLinkMeEnabled { get; set; } 39 | public int? AttConsentWaitingInterval { get; set; } 40 | 41 | // Android specific 42 | public bool? IsPlayStoreKidsComplianceEnabled { get; set; } 43 | public bool? IsPreinstallTrackingEnabled { get; set; } 44 | public string PreinstallFilePath { get; set; } 45 | public string FbAppId { get; set; } 46 | 47 | public AdjustConfig(string appToken, AdjustEnvironment environment) 48 | { 49 | this.AppToken = appToken; 50 | this.Environment = environment; 51 | } 52 | 53 | public AdjustConfig(string appToken, AdjustEnvironment environment, bool allowSuppressLogLevel) 54 | { 55 | this.AppToken = appToken; 56 | this.Environment = environment; 57 | this.AllowSuppressLogLevel = allowSuppressLogLevel; 58 | } 59 | 60 | public void SetUrlStrategy( 61 | List urlStrategyDomains, 62 | bool shouldUseSubdomains, 63 | bool isDataResidency) 64 | { 65 | this.UrlStrategyDomains = urlStrategyDomains; 66 | this.ShouldUseSubdomains = shouldUseSubdomains; 67 | this.IsDataResidency = isDataResidency; 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustConfig.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02d4cad14fc094b17afde3b685897e5e 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustDeeplink.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace AdjustSdk 4 | { 5 | public class AdjustDeeplink 6 | { 7 | public string Deeplink { get; private set; } 8 | public string Referrer { get; set; } 9 | 10 | public AdjustDeeplink(string deeplink) 11 | { 12 | this.Deeplink = deeplink; 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustDeeplink.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 40e25efef61754d66a47cd3e62a7f6bc 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustEnvironment.cs: -------------------------------------------------------------------------------- 1 | namespace AdjustSdk 2 | { 3 | [System.Serializable] 4 | public enum AdjustEnvironment 5 | { 6 | Sandbox, 7 | Production 8 | } 9 | 10 | public static class AdjustEnvironmentExtension 11 | { 12 | public static string ToLowercaseString(this AdjustEnvironment adjustEnvironment) 13 | { 14 | switch (adjustEnvironment) 15 | { 16 | case AdjustEnvironment.Sandbox: 17 | return "sandbox"; 18 | case AdjustEnvironment.Production: 19 | return "production"; 20 | default: 21 | return "unknown"; 22 | } 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustEnvironment.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 633f6fa279b2244fdb999db0441f9aac 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustEvent.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Collections.ObjectModel; 3 | 4 | namespace AdjustSdk 5 | { 6 | public class AdjustEvent 7 | { 8 | private List innerCallbackParameters; 9 | private List innerPartnerParameters; 10 | 11 | public string EventToken { get; private set; } 12 | public double? Revenue { get; private set; } 13 | public string Currency { get; private set; } 14 | public string CallbackId { get; set; } 15 | public string DeduplicationId { get; set; } 16 | public string ProductId { get; set; } 17 | public ReadOnlyCollection CallbackParameters 18 | { 19 | get 20 | { 21 | if (innerCallbackParameters == null) 22 | { 23 | return null; 24 | } 25 | else 26 | { 27 | return innerCallbackParameters.AsReadOnly(); 28 | } 29 | } 30 | } 31 | public ReadOnlyCollection PartnerParameters 32 | { 33 | get 34 | { 35 | if (innerPartnerParameters == null) 36 | { 37 | return null; 38 | } 39 | else 40 | { 41 | return innerPartnerParameters.AsReadOnly(); 42 | } 43 | } 44 | } 45 | // ios specific 46 | public string TransactionId { get; set; } 47 | // android specific 48 | public string PurchaseToken; 49 | 50 | public AdjustEvent(string eventToken) 51 | { 52 | this.EventToken = eventToken; 53 | } 54 | 55 | public void SetRevenue(double amount, string currency) 56 | { 57 | this.Revenue = amount; 58 | this.Currency = currency; 59 | } 60 | 61 | public void AddCallbackParameter(string key, string value) 62 | { 63 | if (this.innerCallbackParameters == null) 64 | { 65 | this.innerCallbackParameters = new List(); 66 | } 67 | this.innerCallbackParameters.Add(key); 68 | this.innerCallbackParameters.Add(value); 69 | } 70 | 71 | public void AddPartnerParameter(string key, string value) 72 | { 73 | if (this.innerPartnerParameters == null) 74 | { 75 | this.innerPartnerParameters = new List(); 76 | } 77 | this.innerPartnerParameters.Add(key); 78 | this.innerPartnerParameters.Add(value); 79 | } 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustEvent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd89f7713977f497a862f1a1b6f60933 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustEventFailure.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace AdjustSdk 5 | { 6 | public class AdjustEventFailure 7 | { 8 | public string Adid { get; set; } 9 | public string Message { get; set; } 10 | public string Timestamp { get; set; } 11 | public string EventToken { get; set; } 12 | public string CallbackId { get; set; } 13 | public bool WillRetry { get; set; } 14 | public Dictionary JsonResponse { get; set; } 15 | 16 | public AdjustEventFailure() {} 17 | 18 | public AdjustEventFailure(Dictionary eventFailureDataMap) 19 | { 20 | if (eventFailureDataMap == null) 21 | { 22 | return; 23 | } 24 | 25 | this.Adid = AdjustUtils.TryGetValue(eventFailureDataMap, AdjustUtils.KeyAdid); 26 | this.Message = AdjustUtils.TryGetValue(eventFailureDataMap, AdjustUtils.KeyMessage); 27 | this.Timestamp = AdjustUtils.TryGetValue(eventFailureDataMap, AdjustUtils.KeyTimestamp); 28 | this.EventToken = AdjustUtils.TryGetValue(eventFailureDataMap, AdjustUtils.KeyEventToken); 29 | this.CallbackId = AdjustUtils.TryGetValue(eventFailureDataMap, AdjustUtils.KeyCallbackId); 30 | 31 | bool willRetry; 32 | if (bool.TryParse(AdjustUtils.TryGetValue(eventFailureDataMap, AdjustUtils.KeyWillRetry), out willRetry)) 33 | { 34 | this.WillRetry = willRetry; 35 | } 36 | 37 | string jsonResponseString = AdjustUtils.TryGetValue(eventFailureDataMap, AdjustUtils.KeyJsonResponse); 38 | var jsonResponseNode = JSON.Parse(jsonResponseString); 39 | if (jsonResponseNode != null && jsonResponseNode.AsObject != null) 40 | { 41 | this.JsonResponse = new Dictionary(); 42 | AdjustUtils.WriteJsonResponseDictionary(jsonResponseNode.AsObject, JsonResponse); 43 | } 44 | } 45 | 46 | public AdjustEventFailure(string jsonString) 47 | { 48 | var jsonNode = JSON.Parse(jsonString); 49 | if (jsonNode == null) 50 | { 51 | return; 52 | } 53 | 54 | this.Adid = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyAdid); 55 | this.Message = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyMessage); 56 | this.Timestamp = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyTimestamp); 57 | this.EventToken = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyEventToken); 58 | this.CallbackId = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyCallbackId); 59 | this.WillRetry = Convert.ToBoolean(AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyWillRetry)); 60 | 61 | var jsonResponseNode = jsonNode[AdjustUtils.KeyJsonResponse]; 62 | if (jsonResponseNode == null) 63 | { 64 | return; 65 | } 66 | if (jsonResponseNode.AsObject == null) 67 | { 68 | return; 69 | } 70 | 71 | this.JsonResponse = new Dictionary(); 72 | AdjustUtils.WriteJsonResponseDictionary(jsonResponseNode.AsObject, JsonResponse); 73 | } 74 | 75 | public void BuildJsonResponseFromString(string jsonResponseString) 76 | { 77 | var jsonNode = JSON.Parse(jsonResponseString); 78 | if (jsonNode == null) 79 | { 80 | return; 81 | } 82 | 83 | this.JsonResponse = new Dictionary(); 84 | AdjustUtils.WriteJsonResponseDictionary(jsonNode.AsObject, JsonResponse); 85 | } 86 | 87 | public string GetJsonResponseAsString() 88 | { 89 | return AdjustUtils.GetJsonResponseCompact(JsonResponse); 90 | } 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustEventFailure.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea86cd4e1c6d0496397920902d0f0b5f 3 | timeCreated: 1458128791 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustEventSuccess.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace AdjustSdk 5 | { 6 | public class AdjustEventSuccess 7 | { 8 | public string Adid { get; set; } 9 | public string Message { get; set; } 10 | public string Timestamp { get; set; } 11 | public string EventToken { get; set; } 12 | public string CallbackId { get; set; } 13 | public Dictionary JsonResponse { get; set; } 14 | 15 | public AdjustEventSuccess() {} 16 | 17 | public AdjustEventSuccess(Dictionary eventSuccessDataMap) 18 | { 19 | if (eventSuccessDataMap == null) 20 | { 21 | return; 22 | } 23 | 24 | this.Adid = AdjustUtils.TryGetValue(eventSuccessDataMap, AdjustUtils.KeyAdid); 25 | this.Message = AdjustUtils.TryGetValue(eventSuccessDataMap, AdjustUtils.KeyMessage); 26 | this.Timestamp = AdjustUtils.TryGetValue(eventSuccessDataMap, AdjustUtils.KeyTimestamp); 27 | this.EventToken = AdjustUtils.TryGetValue(eventSuccessDataMap, AdjustUtils.KeyEventToken); 28 | this.CallbackId = AdjustUtils.TryGetValue(eventSuccessDataMap, AdjustUtils.KeyCallbackId); 29 | 30 | string jsonResponseString = AdjustUtils.TryGetValue(eventSuccessDataMap, AdjustUtils.KeyJsonResponse); 31 | var jsonResponseNode = JSON.Parse(jsonResponseString); 32 | if (jsonResponseNode != null && jsonResponseNode.AsObject != null) 33 | { 34 | this.JsonResponse = new Dictionary(); 35 | AdjustUtils.WriteJsonResponseDictionary(jsonResponseNode.AsObject, JsonResponse); 36 | } 37 | } 38 | 39 | public AdjustEventSuccess(string jsonString) 40 | { 41 | var jsonNode = JSON.Parse(jsonString); 42 | if (jsonNode == null) 43 | { 44 | return; 45 | } 46 | 47 | this.Adid = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyAdid); 48 | this.Message = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyMessage); 49 | this.Timestamp = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyTimestamp); 50 | this.EventToken = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyEventToken); 51 | this.CallbackId = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyCallbackId); 52 | 53 | var jsonResponseNode = jsonNode[AdjustUtils.KeyJsonResponse]; 54 | if (jsonResponseNode == null) 55 | { 56 | return; 57 | } 58 | if (jsonResponseNode.AsObject == null) 59 | { 60 | return; 61 | } 62 | 63 | this.JsonResponse = new Dictionary(); 64 | AdjustUtils.WriteJsonResponseDictionary(jsonResponseNode.AsObject, JsonResponse); 65 | } 66 | 67 | public void BuildJsonResponseFromString(string jsonResponseString) 68 | { 69 | var jsonNode = JSON.Parse(jsonResponseString); 70 | if (jsonNode == null) 71 | { 72 | return; 73 | } 74 | 75 | this.JsonResponse = new Dictionary(); 76 | AdjustUtils.WriteJsonResponseDictionary(jsonNode.AsObject, JsonResponse); 77 | } 78 | 79 | public string GetJsonResponseAsString() 80 | { 81 | return AdjustUtils.GetJsonResponseCompact(JsonResponse); 82 | } 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustEventSuccess.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1957a0e6e9aa14f0e8adefa2120f1e02 3 | timeCreated: 1458128791 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustLogLevel.cs: -------------------------------------------------------------------------------- 1 | namespace AdjustSdk 2 | { 3 | [System.Serializable] 4 | public enum AdjustLogLevel 5 | { 6 | Verbose = 1, 7 | Debug, 8 | Info, 9 | Warn, 10 | Error, 11 | Assert, 12 | Suppress 13 | } 14 | 15 | public static class AdjustLogLevelExtension 16 | { 17 | public static string ToLowercaseString(this AdjustLogLevel AdjustLogLevel) 18 | { 19 | switch (AdjustLogLevel) 20 | { 21 | case AdjustLogLevel.Verbose: 22 | return "verbose"; 23 | case AdjustLogLevel.Debug: 24 | return "debug"; 25 | case AdjustLogLevel.Info: 26 | return "info"; 27 | case AdjustLogLevel.Warn: 28 | return "warn"; 29 | case AdjustLogLevel.Error: 30 | return "error"; 31 | case AdjustLogLevel.Assert: 32 | return "assert"; 33 | case AdjustLogLevel.Suppress: 34 | return "suppress"; 35 | default: 36 | return "unknown"; 37 | } 38 | } 39 | 40 | public static string ToUppercaseString(this AdjustLogLevel AdjustLogLevel) 41 | { 42 | switch (AdjustLogLevel) 43 | { 44 | case AdjustLogLevel.Verbose: 45 | return "VERBOSE"; 46 | case AdjustLogLevel.Debug: 47 | return "DEBUG"; 48 | case AdjustLogLevel.Info: 49 | return "INFO"; 50 | case AdjustLogLevel.Warn: 51 | return "WARN"; 52 | case AdjustLogLevel.Error: 53 | return "ERROR"; 54 | case AdjustLogLevel.Assert: 55 | return "ASSERT"; 56 | case AdjustLogLevel.Suppress: 57 | return "SUPPRESS"; 58 | default: 59 | return "UNKNOWN"; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustLogLevel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 428ab44990df24973902248a9d2b43dd 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustPlayStorePurchase.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace AdjustSdk 4 | { 5 | public class AdjustPlayStorePurchase 6 | { 7 | public string ProductId { get; private set; } 8 | public string PurchaseToken { get; private set; } 9 | 10 | public AdjustPlayStorePurchase(string productId, string purchaseToken) 11 | { 12 | this.ProductId = productId; 13 | this.PurchaseToken = purchaseToken; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustPlayStorePurchase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d875a71a5aeb1496d93afac749ab17f6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustPlayStoreSubscription.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Collections.ObjectModel; 3 | 4 | namespace AdjustSdk 5 | { 6 | public class AdjustPlayStoreSubscription 7 | { 8 | private List innerCallbackParameters; 9 | private List innerPartnerParameters; 10 | 11 | public string Price { get; private set; } 12 | public string Currency { get; private set; } 13 | public string ProductId { get; private set; } 14 | public string OrderId { get; private set; } 15 | public string Signature { get; private set; } 16 | public string PurchaseToken { get; private set; } 17 | public string PurchaseTime { get; set; } 18 | public ReadOnlyCollection CallbackParameters 19 | { 20 | get 21 | { 22 | if (innerCallbackParameters == null) 23 | { 24 | return null; 25 | } 26 | else 27 | { 28 | return innerCallbackParameters.AsReadOnly(); 29 | } 30 | } 31 | } 32 | public ReadOnlyCollection PartnerParameters 33 | { 34 | get 35 | { 36 | if (innerPartnerParameters == null) 37 | { 38 | return null; 39 | } 40 | else 41 | { 42 | return innerPartnerParameters.AsReadOnly(); 43 | } 44 | } 45 | } 46 | 47 | public AdjustPlayStoreSubscription( 48 | string price, 49 | string currency, 50 | string productId, 51 | string orderId, 52 | string signature, 53 | string purchaseToken) 54 | { 55 | this.Price = price; 56 | this.Currency = currency; 57 | this.ProductId = productId; 58 | this.OrderId = orderId; 59 | this.Signature = signature; 60 | this.PurchaseToken = purchaseToken; 61 | } 62 | 63 | public void AddCallbackParameter(string key, string value) 64 | { 65 | if (this.innerCallbackParameters == null) 66 | { 67 | this.innerCallbackParameters = new List(); 68 | } 69 | this.innerCallbackParameters.Add(key); 70 | this.innerCallbackParameters.Add(value); 71 | } 72 | 73 | public void AddPartnerParameter(string key, string value) 74 | { 75 | if (this.innerPartnerParameters == null) 76 | { 77 | this.innerPartnerParameters = new List(); 78 | } 79 | this.innerPartnerParameters.Add(key); 80 | this.innerPartnerParameters.Add(value); 81 | } 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustPlayStoreSubscription.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69e7a4074abb44758b3f011d8352a57a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustPurchaseVerificationResult.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace AdjustSdk 4 | { 5 | public class AdjustPurchaseVerificationResult 6 | { 7 | public int Code { get; set; } 8 | public string Message { get; set; } 9 | public string VerificationStatus { get; set; } 10 | 11 | public AdjustPurchaseVerificationResult() {} 12 | 13 | public AdjustPurchaseVerificationResult(string jsonString) 14 | { 15 | var jsonNode = JSON.Parse(jsonString); 16 | if (jsonNode == null) 17 | { 18 | return; 19 | } 20 | 21 | string strCode = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyCode); 22 | this.Code = int.Parse(strCode); 23 | this.Message = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyMessage); 24 | this.VerificationStatus = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyVerificationStatus); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustPurchaseVerificationResult.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cbd451b59ec374fa7b72f226b1cef0b4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustSdk.Scripts.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AdjustSdk.Scripts", 3 | "references": [], 4 | "includePlatforms": [], 5 | "excludePlatforms": [] 6 | } -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustSdk.Scripts.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d8924c6e6beb44e18f19e8c0b5068cd 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustSessionFailure.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace AdjustSdk 5 | { 6 | public class AdjustSessionFailure 7 | { 8 | public string Adid { get; set; } 9 | public string Message { get; set; } 10 | public string Timestamp { get; set; } 11 | public bool WillRetry { get; set; } 12 | public Dictionary JsonResponse { get; set; } 13 | 14 | public AdjustSessionFailure() {} 15 | 16 | public AdjustSessionFailure(Dictionary sessionFailureDataMap) 17 | { 18 | if (sessionFailureDataMap == null) 19 | { 20 | return; 21 | } 22 | 23 | this.Adid = AdjustUtils.TryGetValue(sessionFailureDataMap, AdjustUtils.KeyAdid); 24 | this.Message = AdjustUtils.TryGetValue(sessionFailureDataMap, AdjustUtils.KeyMessage); 25 | this.Timestamp = AdjustUtils.TryGetValue(sessionFailureDataMap, AdjustUtils.KeyTimestamp); 26 | 27 | bool willRetry; 28 | if (bool.TryParse(AdjustUtils.TryGetValue(sessionFailureDataMap, AdjustUtils.KeyWillRetry), out willRetry)) 29 | { 30 | this.WillRetry = willRetry; 31 | } 32 | 33 | string jsonResponseString = AdjustUtils.TryGetValue(sessionFailureDataMap, AdjustUtils.KeyJsonResponse); 34 | var jsonResponseNode = JSON.Parse(jsonResponseString); 35 | if (jsonResponseNode != null && jsonResponseNode.AsObject != null) 36 | { 37 | this.JsonResponse = new Dictionary(); 38 | AdjustUtils.WriteJsonResponseDictionary(jsonResponseNode.AsObject, JsonResponse); 39 | } 40 | } 41 | 42 | public AdjustSessionFailure(string jsonString) 43 | { 44 | var jsonNode = JSON.Parse(jsonString); 45 | if (jsonNode == null) 46 | { 47 | return; 48 | } 49 | 50 | this.Adid = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyAdid); 51 | this.Message = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyMessage); 52 | this.Timestamp = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyTimestamp); 53 | this.WillRetry = Convert.ToBoolean(AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyWillRetry)); 54 | 55 | var jsonResponseNode = jsonNode[AdjustUtils.KeyJsonResponse]; 56 | if (jsonResponseNode == null) 57 | { 58 | return; 59 | } 60 | if (jsonResponseNode.AsObject == null) 61 | { 62 | return; 63 | } 64 | 65 | this.JsonResponse = new Dictionary(); 66 | AdjustUtils.WriteJsonResponseDictionary(jsonResponseNode.AsObject, JsonResponse); 67 | } 68 | 69 | public void BuildJsonResponseFromString(string jsonResponseString) 70 | { 71 | var jsonNode = JSON.Parse(jsonResponseString); 72 | if (jsonNode == null) 73 | { 74 | return; 75 | } 76 | 77 | this.JsonResponse = new Dictionary(); 78 | AdjustUtils.WriteJsonResponseDictionary(jsonNode.AsObject, JsonResponse); 79 | } 80 | 81 | public string GetJsonResponseAsString() 82 | { 83 | return AdjustUtils.GetJsonResponseCompact(JsonResponse); 84 | } 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustSessionFailure.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b4de268ab985448a594fb82264190742 3 | timeCreated: 1458128791 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustSessionSuccess.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace AdjustSdk 4 | { 5 | public class AdjustSessionSuccess 6 | { 7 | public string Adid { get; set; } 8 | public string Message { get; set; } 9 | public string Timestamp { get; set; } 10 | public Dictionary JsonResponse { get; set; } 11 | 12 | public AdjustSessionSuccess() {} 13 | 14 | public AdjustSessionSuccess(Dictionary sessionSuccessDataMap) 15 | { 16 | if (sessionSuccessDataMap == null) 17 | { 18 | return; 19 | } 20 | 21 | this.Adid = AdjustUtils.TryGetValue(sessionSuccessDataMap, AdjustUtils.KeyAdid); 22 | this.Message = AdjustUtils.TryGetValue(sessionSuccessDataMap, AdjustUtils.KeyMessage); 23 | this.Timestamp = AdjustUtils.TryGetValue(sessionSuccessDataMap, AdjustUtils.KeyTimestamp); 24 | 25 | string jsonResponseString = AdjustUtils.TryGetValue(sessionSuccessDataMap, AdjustUtils.KeyJsonResponse); 26 | var jsonResponseNode = JSON.Parse(jsonResponseString); 27 | if (jsonResponseNode != null && jsonResponseNode.AsObject != null) 28 | { 29 | this.JsonResponse = new Dictionary(); 30 | AdjustUtils.WriteJsonResponseDictionary(jsonResponseNode.AsObject, JsonResponse); 31 | } 32 | } 33 | 34 | public AdjustSessionSuccess(string jsonString) 35 | { 36 | var jsonNode = JSON.Parse(jsonString); 37 | if (jsonNode == null) 38 | { 39 | return; 40 | } 41 | 42 | this.Adid = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyAdid); 43 | this.Message = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyMessage); 44 | this.Timestamp = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyTimestamp); 45 | 46 | var jsonResponseNode = jsonNode[AdjustUtils.KeyJsonResponse]; 47 | if (jsonResponseNode == null) 48 | { 49 | return; 50 | } 51 | if (jsonResponseNode.AsObject == null) 52 | { 53 | return; 54 | } 55 | 56 | this.JsonResponse = new Dictionary(); 57 | AdjustUtils.WriteJsonResponseDictionary(jsonResponseNode.AsObject, JsonResponse); 58 | } 59 | 60 | public void BuildJsonResponseFromString(string jsonResponseString) 61 | { 62 | var jsonNode = JSON.Parse(jsonResponseString); 63 | if (jsonNode == null) 64 | { 65 | return; 66 | } 67 | 68 | this.JsonResponse = new Dictionary(); 69 | AdjustUtils.WriteJsonResponseDictionary(jsonNode.AsObject, JsonResponse); 70 | } 71 | 72 | public string GetJsonResponseAsString() 73 | { 74 | return AdjustUtils.GetJsonResponseCompact(JsonResponse); 75 | } 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustSessionSuccess.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c23847e7a1f464d7a8c7f9b35829af17 3 | timeCreated: 1458128791 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustStoreInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace AdjustSdk 4 | { 5 | public class AdjustStoreInfo 6 | { 7 | public string StoreName { get; private set; } 8 | public string StoreAppId { get; set; } 9 | 10 | public AdjustStoreInfo(string storeName) 11 | { 12 | this.StoreName = storeName; 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustStoreInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 09215b0ccf65143ae91e6fa6cdca34b9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustThirdPartySharing.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Collections.ObjectModel; 3 | 4 | namespace AdjustSdk 5 | { 6 | public class AdjustThirdPartySharing 7 | { 8 | private List innerGranularOptions; 9 | private List innerPartnerSharingSettings; 10 | 11 | public bool? IsEnabled { get; private set; } 12 | public ReadOnlyCollection GranularOptions 13 | { 14 | get 15 | { 16 | if (innerGranularOptions == null) 17 | { 18 | return null; 19 | } 20 | else 21 | { 22 | return innerGranularOptions.AsReadOnly(); 23 | } 24 | } 25 | } 26 | public ReadOnlyCollection PartnerSharingSettings 27 | { 28 | get 29 | { 30 | if (innerPartnerSharingSettings == null) 31 | { 32 | return null; 33 | } 34 | else 35 | { 36 | return innerPartnerSharingSettings.AsReadOnly(); 37 | } 38 | } 39 | } 40 | 41 | public AdjustThirdPartySharing(bool? isEnabled) 42 | { 43 | this.IsEnabled = isEnabled; 44 | } 45 | 46 | public void AddGranularOption(string partnerName, string key, string value) 47 | { 48 | if (this.innerGranularOptions == null) 49 | { 50 | this.innerGranularOptions = new List(); 51 | } 52 | this.innerGranularOptions.Add(partnerName); 53 | this.innerGranularOptions.Add(key); 54 | this.innerGranularOptions.Add(value); 55 | } 56 | 57 | public void AddPartnerSharingSetting(string partnerName, string key, bool value) 58 | { 59 | if (this.innerPartnerSharingSettings == null) 60 | { 61 | this.innerPartnerSharingSettings = new List(); 62 | } 63 | this.innerPartnerSharingSettings.Add(partnerName); 64 | this.innerPartnerSharingSettings.Add(key); 65 | this.innerPartnerSharingSettings.Add(value.ToString()); 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustThirdPartySharing.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dcb2591dfab904327904b8879af699ca 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustThreadDispatcher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class AdjustThreadDispatcher : MonoBehaviour 6 | { 7 | private static readonly Queue executionQueue = new Queue(); 8 | private static AdjustThreadDispatcher instance; 9 | 10 | public static void RunOnMainThread(Action action) 11 | { 12 | if (action == null) 13 | { 14 | return; 15 | } 16 | 17 | lock (executionQueue) 18 | { 19 | executionQueue.Enqueue(action); 20 | } 21 | } 22 | 23 | private void Update() 24 | { 25 | while (executionQueue.Count > 0) 26 | { 27 | Action action; 28 | lock (executionQueue) 29 | { 30 | action = executionQueue.Dequeue(); 31 | } 32 | if (action != null) 33 | { 34 | action.Invoke(); 35 | } 36 | } 37 | } 38 | 39 | [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] 40 | private static void Initialize() 41 | { 42 | if (instance == null) 43 | { 44 | GameObject obj = new GameObject("AdjustThreadDispatcher"); 45 | instance = obj.AddComponent(); 46 | DontDestroyOnLoad(obj); 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustThreadDispatcher.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 068759bba95d0411895637c9165b2f99 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98e51a1481cc24ddebf93f61f6c1eb9d 3 | timeCreated: 1458230617 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/AdjustiOS.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1b9e944cddaba4b74b96cf2c01f5aee3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd79158f62f184079b58f414302dd242 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/Editor/AdjustCustomEditor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor.SceneManagement; 5 | using UnityEditor; 6 | 7 | namespace AdjustSdk 8 | { 9 | [CustomEditor(typeof(Adjust))] 10 | public class AdjustCustomEditor : Editor 11 | { 12 | private Editor settingsEditor; 13 | 14 | public override void OnInspectorGUI() 15 | { 16 | base.OnInspectorGUI(); 17 | 18 | var adjust = target as Adjust; 19 | GUIStyle darkerCyanTextFieldStyles = new GUIStyle(EditorStyles.boldLabel); 20 | darkerCyanTextFieldStyles.normal.textColor = new Color(0f/255f, 190f/255f, 190f/255f); 21 | 22 | // Not gonna ask: http://answers.unity.com/answers/1244650/view.html 23 | EditorGUILayout.Space(); 24 | var origFontStyle = EditorStyles.label.fontStyle; 25 | EditorStyles.label.fontStyle = FontStyle.Bold; 26 | adjust.startManually = EditorGUILayout.Toggle("START SDK MANUALLY", adjust.startManually, EditorStyles.toggle); 27 | EditorStyles.label.fontStyle = origFontStyle; 28 | 29 | using (new EditorGUI.DisabledScope(adjust.startManually)) 30 | { 31 | EditorGUILayout.Space(); 32 | EditorGUILayout.LabelField("MULTIPLATFORM SETTINGS:", darkerCyanTextFieldStyles); 33 | EditorGUI.indentLevel += 1; 34 | adjust.appToken = EditorGUILayout.TextField("App Token", adjust.appToken); 35 | adjust.environment = (AdjustEnvironment)EditorGUILayout.EnumPopup("Environment", adjust.environment); 36 | adjust.logLevel = (AdjustLogLevel)EditorGUILayout.EnumPopup("Log Level", adjust.logLevel); 37 | // TODO: URL strategy missing 38 | adjust.sendInBackground = EditorGUILayout.Toggle("Send In Background", adjust.sendInBackground); 39 | adjust.launchDeferredDeeplink = EditorGUILayout.Toggle("Launch Deferred Deep Link", adjust.launchDeferredDeeplink); 40 | adjust.costDataInAttribution = EditorGUILayout.Toggle("Cost Data In Attribution Callback", adjust.costDataInAttribution); 41 | adjust.linkMe = EditorGUILayout.Toggle("LinkMe", adjust.linkMe); 42 | adjust.defaultTracker = EditorGUILayout.TextField("Default Tracker", adjust.defaultTracker); 43 | EditorGUI.indentLevel -= 1; 44 | EditorGUILayout.Space(); 45 | EditorGUILayout.LabelField("ANDROID SETTINGS:", darkerCyanTextFieldStyles); 46 | EditorGUI.indentLevel += 1; 47 | adjust.preinstallTracking = EditorGUILayout.Toggle("Preinstall Tracking", adjust.preinstallTracking); 48 | adjust.preinstallFilePath = EditorGUILayout.TextField("Preinstall File Path", adjust.preinstallFilePath); 49 | EditorGUI.indentLevel -= 1; 50 | EditorGUILayout.Space(); 51 | EditorGUILayout.LabelField("IOS SETTINGS:", darkerCyanTextFieldStyles); 52 | EditorGUI.indentLevel += 1; 53 | adjust.adServices = EditorGUILayout.Toggle("AdServices Info Reading", adjust.adServices); 54 | adjust.idfaReading = EditorGUILayout.Toggle("IDFA Info Reading", adjust.idfaReading); 55 | adjust.skanAttribution = EditorGUILayout.Toggle("SKAdNetwork Handling", adjust.skanAttribution); 56 | EditorGUI.indentLevel -= 1; 57 | } 58 | 59 | if (settingsEditor == null) 60 | { 61 | settingsEditor = CreateEditor(AdjustSettings.Instance); 62 | } 63 | 64 | settingsEditor.OnInspectorGUI(); 65 | 66 | if (GUI.changed) 67 | { 68 | EditorUtility.SetDirty(adjust); 69 | EditorSceneManager.MarkSceneDirty(adjust.gameObject.scene); 70 | } 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/Editor/AdjustCustomEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1772b9461c24c4df0ad55f51f81c7345 3 | timeCreated: 1617868100 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/Editor/AdjustEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fc5962e0096e9495bbad76934c842619 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/Editor/AdjustEditorPreprocessor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c88a79442bb9342b6956c7d59705f982 3 | timeCreated: 1621599616 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/Editor/AdjustSdk.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AdjustSdk.Editor", 3 | "references": [ 4 | "AdjustSdk.Scripts" 5 | ], 6 | "includePlatforms": [ 7 | "Editor" 8 | ], 9 | "excludePlatforms": [] 10 | } -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/Editor/AdjustSdk.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: afc3483c5bcfe43c4a7a6b7f99b52a07 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/Editor/AdjustSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea4d495dc6d5ba64b90db7afda6a48a4 3 | timeCreated: 1601333126 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 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/Editor/AdjustSettingsEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e957ffb3938e94bcaab247e46bd9804c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/ThirdParty.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 638019d211e7141b7a78db997a91d582 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Adjust/Scripts/ThirdParty/SimpleJSON.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9c780c17852614618be5ffd9cc43a75f 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/Adjust/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.adjust.sdk", 3 | "version": "5.4.0", 4 | "unity": "2019.4", 5 | "displayName": "Adjust", 6 | "license": "MIT", 7 | "homepage": "https://www.adjust.com", 8 | "author": { 9 | "name": "Adjust", 10 | "url": "https://github.com/adjust/unity_sdk" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Assets/Adjust/package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e70aaf9215a0244c1b2675cd72030bbe 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/AdjustImei.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d7ddf2e3b5d391345a52b722dc255bbd 3 | folderAsset: yes 4 | timeCreated: 1578653849 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/AdjustImei/Android.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f73b4ecc5d81b594e85508810655d72a 3 | folderAsset: yes 4 | timeCreated: 1578653849 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/AdjustImei/Android/AdjustImeiAndroid.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | using UnityEngine; 4 | 5 | namespace com.adjust.sdk.imei 6 | { 7 | #if UNITY_ANDROID 8 | public class AdjustImeiAndroid 9 | { 10 | private static AndroidJavaClass ajcAdjustImei = new AndroidJavaClass("com.adjust.sdk.imei.AdjustImei"); 11 | 12 | public static void ReadImei() 13 | { 14 | if (ajcAdjustImei == null) 15 | { 16 | ajcAdjustImei = new AndroidJavaClass("com.adjust.sdk.imei.AdjustImei"); 17 | } 18 | ajcAdjustImei.CallStatic("readImei"); 19 | } 20 | 21 | public static void DoNotReadImei() 22 | { 23 | if (ajcAdjustImei == null) 24 | { 25 | ajcAdjustImei = new AndroidJavaClass("com.adjust.sdk.imei.AdjustImei"); 26 | } 27 | ajcAdjustImei.CallStatic("doNotReadImei"); 28 | } 29 | } 30 | #endif 31 | } 32 | -------------------------------------------------------------------------------- /Assets/AdjustImei/Android/AdjustImeiAndroid.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb2d8d10c00a1450988aeccf4a105d3e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AdjustImei/Android/adjust-android-imei.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/unity_sdk/c2f47e49ca76d2566268ad8ff6138130ad2c314c/Assets/AdjustImei/Android/adjust-android-imei.jar -------------------------------------------------------------------------------- /Assets/AdjustImei/Android/adjust-android-imei.jar.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb5e2f7159b0f4a539f69aedcc295a97 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | Android: Android 13 | second: 14 | enabled: 1 15 | settings: {} 16 | - first: 17 | Any: 18 | second: 19 | enabled: 0 20 | settings: {} 21 | - first: 22 | Editor: Editor 23 | second: 24 | enabled: 0 25 | settings: 26 | DefaultValueInitialized: true 27 | userData: 28 | assetBundleName: 29 | assetBundleVariant: 30 | -------------------------------------------------------------------------------- /Assets/AdjustImei/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8c42edcf18615b4b968bdd9b382d124 3 | folderAsset: yes 4 | timeCreated: 1578653849 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/AdjustImei/Editor/AdjustImeiEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b7de5893387fd40d0b55f679765b7ac7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AdjustImei/Prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 083530b0182d6c645ad82292c0bfb468 3 | folderAsset: yes 4 | timeCreated: 1578653849 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/AdjustImei/Prefab/AdjustImei.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &115478 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 100100000} 8 | serializedVersion: 5 9 | m_Component: 10 | - component: {fileID: 415478} 11 | - component: {fileID: 114479779628156014} 12 | m_Layer: 0 13 | m_Name: AdjustImei 14 | m_TagString: Untagged 15 | m_Icon: {fileID: 0} 16 | m_NavMeshLayer: 0 17 | m_StaticEditorFlags: 0 18 | m_IsActive: 1 19 | --- !u!4 &415478 20 | Transform: 21 | m_ObjectHideFlags: 1 22 | m_PrefabParentObject: {fileID: 0} 23 | m_PrefabInternal: {fileID: 100100000} 24 | m_GameObject: {fileID: 115478} 25 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 26 | m_LocalPosition: {x: 0, y: 0, z: 0} 27 | m_LocalScale: {x: 1, y: 1, z: 1} 28 | m_Children: [] 29 | m_Father: {fileID: 0} 30 | m_RootOrder: 0 31 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 32 | --- !u!1001 &100100000 33 | Prefab: 34 | m_ObjectHideFlags: 1 35 | serializedVersion: 2 36 | m_Modification: 37 | m_TransformParent: {fileID: 0} 38 | m_Modifications: [] 39 | m_RemovedComponents: [] 40 | m_ParentPrefab: {fileID: 0} 41 | m_RootGameObject: {fileID: 115478} 42 | m_IsPrefabParent: 1 43 | --- !u!114 &114479779628156014 44 | MonoBehaviour: 45 | m_ObjectHideFlags: 1 46 | m_PrefabParentObject: {fileID: 0} 47 | m_PrefabInternal: {fileID: 100100000} 48 | m_GameObject: {fileID: 115478} 49 | m_Enabled: 1 50 | m_EditorHideFlags: 0 51 | m_Script: {fileID: 11500000, guid: 964407eb654c2401caf826ceabb3bab1, type: 3} 52 | m_Name: 53 | m_EditorClassIdentifier: 54 | startManually: 1 55 | readImei: 0 56 | -------------------------------------------------------------------------------- /Assets/AdjustImei/Prefab/AdjustImei.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a039a49531864696b1b1297a0baba06 3 | timeCreated: 1565087930 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: -1 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/AdjustImei/Unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 54d46a9044deb4843adbff9940731a4a 3 | folderAsset: yes 4 | timeCreated: 1578653849 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/AdjustImei/Unity/AdjustImei.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace com.adjust.sdk.imei 5 | { 6 | public class AdjustImei : MonoBehaviour 7 | { 8 | private const string errorMsgEditor = "[AdjustImei]: Adjust IMEI plugin can not be used in Editor."; 9 | private const string errorMsgPlatform = "[AdjustImei]: Adjust IMEI plugin can only be used in Android apps."; 10 | 11 | public bool startManually = true; 12 | public bool readImei = false; 13 | 14 | void Awake() 15 | { 16 | if (IsEditor()) { return; } 17 | 18 | DontDestroyOnLoad(transform.gameObject); 19 | 20 | if (!this.startManually) 21 | { 22 | if (this.readImei) 23 | { 24 | AdjustImei.ReadImei(); 25 | } 26 | else 27 | { 28 | AdjustImei.DoNotReadImei(); 29 | } 30 | } 31 | } 32 | 33 | public static void ReadImei() 34 | { 35 | if (IsEditor()) { return; } 36 | 37 | #if UNITY_ANDROID 38 | AdjustImeiAndroid.ReadImei(); 39 | #else 40 | Debug.Log(errorMsgPlatform); 41 | #endif 42 | } 43 | 44 | public static void DoNotReadImei() 45 | { 46 | if (IsEditor()) { return; } 47 | 48 | #if UNITY_ANDROID 49 | AdjustImeiAndroid.DoNotReadImei(); 50 | #else 51 | Debug.Log(errorMsgPlatform); 52 | #endif 53 | } 54 | 55 | private static bool IsEditor() 56 | { 57 | #if UNITY_EDITOR 58 | Debug.Log(errorMsgEditor); 59 | return true; 60 | #else 61 | return false; 62 | #endif 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /Assets/AdjustImei/Unity/AdjustImei.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 964407eb654c2401caf826ceabb3bab1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AdjustOaid.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c92152bb210c1b045914263d63a7437b 3 | folderAsset: yes 4 | timeCreated: 1578653862 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/AdjustOaid/Android.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6d60d5492b19854f933e2f407e5c227 3 | folderAsset: yes 4 | timeCreated: 1578653862 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/AdjustOaid/Android/AdjustOaidAndroid.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | using UnityEngine; 4 | 5 | namespace com.adjust.sdk.oaid 6 | { 7 | #if UNITY_ANDROID 8 | public class AdjustOaidAndroid 9 | { 10 | private static AndroidJavaClass ajcAdjustOaid = new AndroidJavaClass("com.adjust.sdk.oaid.AdjustOaid"); 11 | private static AndroidJavaObject ajoCurrentActivity = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic("currentActivity"); 12 | 13 | public static void ReadOaid() 14 | { 15 | if (ajcAdjustOaid == null) 16 | { 17 | ajcAdjustOaid = new AndroidJavaClass("com.adjust.sdk.oaid.AdjustOaid"); 18 | } 19 | ajcAdjustOaid.CallStatic("readOaid", ajoCurrentActivity); 20 | } 21 | 22 | public static void DoNotReadOaid() 23 | { 24 | if (ajcAdjustOaid == null) 25 | { 26 | ajcAdjustOaid = new AndroidJavaClass("com.adjust.sdk.oaid.AdjustOaid"); 27 | } 28 | ajcAdjustOaid.CallStatic("doNotReadOaid"); 29 | } 30 | } 31 | #endif 32 | } 33 | -------------------------------------------------------------------------------- /Assets/AdjustOaid/Android/AdjustOaidAndroid.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a5159acf47e3b4d8da5d621e07119b2c 3 | timeCreated: 1569414346 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/AdjustOaid/Android/adjust-android-oaid.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/unity_sdk/c2f47e49ca76d2566268ad8ff6138130ad2c314c/Assets/AdjustOaid/Android/adjust-android-oaid.jar -------------------------------------------------------------------------------- /Assets/AdjustOaid/Android/adjust-android-oaid.jar.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f4e298717a1d64cdea4c0904aa08c836 3 | timeCreated: 1569414347 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Android: Android 15 | second: 16 | enabled: 1 17 | settings: {} 18 | data: 19 | first: 20 | Any: 21 | second: 22 | enabled: 0 23 | settings: {} 24 | data: 25 | first: 26 | Editor: Editor 27 | second: 28 | enabled: 0 29 | settings: 30 | DefaultValueInitialized: true 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /Assets/AdjustOaid/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c810b1145792df409dd357e8b77f0e5 3 | folderAsset: yes 4 | timeCreated: 1578653862 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/AdjustOaid/Editor/AdjustOaidEditor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Xml; 4 | using System.Collections; 5 | using System.Collections.Generic; 6 | using System.Diagnostics; 7 | using System.Text.RegularExpressions; 8 | using UnityEngine; 9 | using UnityEditor; 10 | using UnityEditor.Callbacks; 11 | 12 | public class AdjustOaidEditor 13 | { 14 | private const string MenuItem0 = "Assets/AdjustOaid/Autorun post-build tasks"; 15 | private const string MenuItem1 = "Assets/AdjustOaid/Export Unity package"; 16 | 17 | private static bool shouldAutorun = true; 18 | 19 | static AdjustOaidEditor() 20 | { 21 | EditorApplication.delayCall += () => 22 | { 23 | shouldAutorun = EditorPrefs.GetBool(MenuItem0, true); 24 | Menu.SetChecked(MenuItem0, shouldAutorun); 25 | }; 26 | } 27 | 28 | [MenuItem(MenuItem0)] 29 | static void AutorunPostBuildTasks() 30 | { 31 | shouldAutorun = !shouldAutorun; 32 | Menu.SetChecked(MenuItem0, shouldAutorun); 33 | EditorPrefs.SetBool(MenuItem0, shouldAutorun); 34 | 35 | if (shouldAutorun) 36 | { 37 | EditorUtility.DisplayDialog("Adjust OAID Plugin", "Adjust OAID plugin post build tasks will from now on be performed each time you build your app.", "OK"); 38 | } 39 | else 40 | { 41 | EditorUtility.DisplayDialog("Adjust OAID Plugin", "Adjust OAID plugin post build tasks from now on WON'T be performed each time you build your app." 42 | + "\n\nPlease, make sure that your app is compatible for usage of the Adjust OAID plugin by selecting \"Is my app properly configured?\" option from menu.", "OK"); 43 | } 44 | } 45 | 46 | [MenuItem(MenuItem1)] 47 | static void ExportAdjustUnityPackage() 48 | { 49 | string exportedFileName = "AdjustOaid.unitypackage"; 50 | string assetsPath = "Assets/AdjustOaid"; 51 | List assetsToExport = new List(); 52 | 53 | assetsToExport.Add(assetsPath + "/Android/adjust-android-oaid.jar"); 54 | assetsToExport.Add(assetsPath + "/Android/AdjustOaidAndroid.cs"); 55 | assetsToExport.Add(assetsPath + "/Editor/AdjustOaidEditor.cs"); 56 | assetsToExport.Add(assetsPath + "/Prefab/AdjustOaid.prefab"); 57 | assetsToExport.Add(assetsPath + "/Unity/AdjustOaid.cs"); 58 | 59 | AssetDatabase.ExportPackage( 60 | assetsToExport.ToArray(), 61 | exportedFileName, 62 | ExportPackageOptions.IncludeDependencies | ExportPackageOptions.Interactive); 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Assets/AdjustOaid/Editor/AdjustOaidEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43bcb111f6b23480ea76cca51e22444d 3 | timeCreated: 1569414346 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/AdjustOaid/Prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 23d75a3d3db1c784db752b8d544fec29 3 | folderAsset: yes 4 | timeCreated: 1578653862 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/AdjustOaid/Prefab/AdjustOaid.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &115478 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 100100000} 8 | serializedVersion: 5 9 | m_Component: 10 | - component: {fileID: 415478} 11 | - component: {fileID: 114943227175462948} 12 | m_Layer: 0 13 | m_Name: AdjustOaid 14 | m_TagString: Untagged 15 | m_Icon: {fileID: 0} 16 | m_NavMeshLayer: 0 17 | m_StaticEditorFlags: 0 18 | m_IsActive: 1 19 | --- !u!4 &415478 20 | Transform: 21 | m_ObjectHideFlags: 1 22 | m_PrefabParentObject: {fileID: 0} 23 | m_PrefabInternal: {fileID: 100100000} 24 | m_GameObject: {fileID: 115478} 25 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 26 | m_LocalPosition: {x: 0, y: 0, z: 0} 27 | m_LocalScale: {x: 1, y: 1, z: 1} 28 | m_Children: [] 29 | m_Father: {fileID: 0} 30 | m_RootOrder: 0 31 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 32 | --- !u!1001 &100100000 33 | Prefab: 34 | m_ObjectHideFlags: 1 35 | serializedVersion: 2 36 | m_Modification: 37 | m_TransformParent: {fileID: 0} 38 | m_Modifications: [] 39 | m_RemovedComponents: [] 40 | m_ParentPrefab: {fileID: 0} 41 | m_RootGameObject: {fileID: 115478} 42 | m_IsPrefabParent: 1 43 | --- !u!114 &114943227175462948 44 | MonoBehaviour: 45 | m_ObjectHideFlags: 1 46 | m_PrefabParentObject: {fileID: 0} 47 | m_PrefabInternal: {fileID: 100100000} 48 | m_GameObject: {fileID: 115478} 49 | m_Enabled: 1 50 | m_EditorHideFlags: 0 51 | m_Script: {fileID: 11500000, guid: 97f6fe126cade4bf29d7be90110b1ca3, type: 3} 52 | m_Name: 53 | m_EditorClassIdentifier: 54 | startManually: 1 55 | readOaid: 0 56 | -------------------------------------------------------------------------------- /Assets/AdjustOaid/Prefab/AdjustOaid.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ad2bb468bdd644e5a2a90e459811df9 3 | timeCreated: 1569414347 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: -1 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/AdjustOaid/Unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e3780f86a82bb104aab6adbbe932a6c9 3 | folderAsset: yes 4 | timeCreated: 1578653862 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/AdjustOaid/Unity/AdjustOaid.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace com.adjust.sdk.oaid 5 | { 6 | public class AdjustOaid : MonoBehaviour 7 | { 8 | private const string errorMsgEditor = "[AdjustOaid]: Adjust OAID plugin can not be used in Editor."; 9 | private const string errorMsgPlatform = "[AdjustOaid]: Adjust OAID plugin can only be used in Android apps."; 10 | 11 | public bool startManually = true; 12 | public bool readOaid = false; 13 | 14 | void Awake() 15 | { 16 | if (IsEditor()) { return; } 17 | 18 | DontDestroyOnLoad(transform.gameObject); 19 | 20 | if (!this.startManually) 21 | { 22 | if (this.readOaid) 23 | { 24 | AdjustOaid.ReadOaid(); 25 | } 26 | else 27 | { 28 | AdjustOaid.DoNotReadOaid(); 29 | } 30 | } 31 | } 32 | 33 | public static void ReadOaid() 34 | { 35 | if (IsEditor()) { return; } 36 | 37 | #if UNITY_ANDROID 38 | AdjustOaidAndroid.ReadOaid(); 39 | #else 40 | Debug.Log(errorMsgPlatform); 41 | #endif 42 | } 43 | 44 | public static void DoNotReadOaid() 45 | { 46 | if (IsEditor()) { return; } 47 | 48 | #if UNITY_ANDROID 49 | AdjustOaidAndroid.DoNotReadOaid(); 50 | #else 51 | Debug.Log(errorMsgPlatform); 52 | #endif 53 | } 54 | 55 | private static bool IsEditor() 56 | { 57 | #if UNITY_EDITOR 58 | Debug.Log(errorMsgEditor); 59 | return true; 60 | #else 61 | return false; 62 | #endif 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /Assets/AdjustOaid/Unity/AdjustOaid.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97f6fe126cade4bf29d7be90110b1ca3 3 | timeCreated: 1569414346 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/AdjustSamsungReferrer.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7cc1e92c67a04c9f8ae2a8f75f560ee 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AdjustSamsungReferrer/Android.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 90416e226385e4c8fa6facdde5769bc7 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AdjustSamsungReferrer/Android/AdjustSamsungReferrerAndroid.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | using UnityEngine; 4 | 5 | namespace com.adjust.sdk.samsung 6 | { 7 | #if UNITY_ANDROID 8 | public class AdjustSamsungReferrerAndroid 9 | { 10 | private static AndroidJavaClass ajcAdjustOaid = new AndroidJavaClass("com.adjust.sdk.samsung.AdjustSamsungReferrer"); 11 | private static AndroidJavaObject ajoCurrentActivity = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic("currentActivity"); 12 | 13 | public static void ReadSamsungReferrer() 14 | { 15 | if (ajcAdjustOaid == null) 16 | { 17 | ajcAdjustOaid = new AndroidJavaClass("com.adjust.sdk.samsung.AdjustSamsungReferrer"); 18 | } 19 | ajcAdjustOaid.CallStatic("readSamsungReferrer", ajoCurrentActivity); 20 | } 21 | 22 | public static void DoNotReadSamsungReferrer() 23 | { 24 | if (ajcAdjustOaid == null) 25 | { 26 | ajcAdjustOaid = new AndroidJavaClass("com.adjust.sdk.samsung.AdjustSamsungReferrer"); 27 | } 28 | ajcAdjustOaid.CallStatic("doNotReadSamsungReferrer"); 29 | } 30 | } 31 | #endif 32 | } 33 | -------------------------------------------------------------------------------- /Assets/AdjustSamsungReferrer/Android/AdjustSamsungReferrerAndroid.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 93fb1d920e5cc4148b35811456b5db8b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AdjustSamsungReferrer/Android/adjust-android-samsung-referrer.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/unity_sdk/c2f47e49ca76d2566268ad8ff6138130ad2c314c/Assets/AdjustSamsungReferrer/Android/adjust-android-samsung-referrer.jar -------------------------------------------------------------------------------- /Assets/AdjustSamsungReferrer/Android/adjust-android-samsung-referrer.jar.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4ae2df66939bb498d8112cf7661ef843 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | Android: Android 13 | second: 14 | enabled: 1 15 | settings: {} 16 | - first: 17 | Any: 18 | second: 19 | enabled: 0 20 | settings: {} 21 | - first: 22 | Editor: Editor 23 | second: 24 | enabled: 0 25 | settings: 26 | DefaultValueInitialized: true 27 | userData: 28 | assetBundleName: 29 | assetBundleVariant: 30 | -------------------------------------------------------------------------------- /Assets/AdjustSamsungReferrer/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5f24dedeb845d4c57bad6c2d54306499 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AdjustSamsungReferrer/Editor/AdjustSamsungReferrerEditor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Xml; 4 | using System.Collections; 5 | using System.Collections.Generic; 6 | using System.Diagnostics; 7 | using System.Text.RegularExpressions; 8 | using UnityEngine; 9 | using UnityEditor; 10 | using UnityEditor.Callbacks; 11 | 12 | public class AdjustSamsungReferrerEditor 13 | { 14 | private const string MenuItem0 = "Assets/AdjustSamsungReferrer/Autorun post-build tasks"; 15 | private const string MenuItem1 = "Assets/AdjustSamsungReferrer/Export Unity package"; 16 | 17 | private static bool shouldAutorun = true; 18 | 19 | static AdjustSamsungReferrerEditor() 20 | { 21 | EditorApplication.delayCall += () => 22 | { 23 | shouldAutorun = EditorPrefs.GetBool(MenuItem0, true); 24 | Menu.SetChecked(MenuItem0, shouldAutorun); 25 | }; 26 | } 27 | 28 | [MenuItem(MenuItem0)] 29 | static void AutorunPostBuildTasks() 30 | { 31 | shouldAutorun = !shouldAutorun; 32 | Menu.SetChecked(MenuItem0, shouldAutorun); 33 | EditorPrefs.SetBool(MenuItem0, shouldAutorun); 34 | 35 | if (shouldAutorun) 36 | { 37 | EditorUtility.DisplayDialog("Adjust Samsung Referrer Plugin", "Adjust Samsung Referrer plugin post build tasks will from now on be performed each time you build your app.", "OK"); 38 | } 39 | else 40 | { 41 | EditorUtility.DisplayDialog("Adjust Samsung Referrer Plugin", "Adjust Samsung Referrer plugin post build tasks from now on WON'T be performed each time you build your app." 42 | + "\n\nPlease, make sure that your app is compatible for usage of the Adjust Samsung Referrer plugin by selecting \"Is my app properly configured?\" option from menu.", "OK"); 43 | } 44 | } 45 | 46 | [MenuItem(MenuItem1)] 47 | static void ExportAdjustUnityPackage() 48 | { 49 | string exportedFileName = "AdjustSamsungReferrer.unitypackage"; 50 | string assetsPath = "Assets/AdjustSamsungReferrer"; 51 | List assetsToExport = new List(); 52 | 53 | assetsToExport.Add(assetsPath + "/Android/adjust-android-samsung-referrer.jar"); 54 | assetsToExport.Add(assetsPath + "/Android/AdjustSamsungReferrerAndroid.cs"); 55 | assetsToExport.Add(assetsPath + "/Editor/AdjustSamsungReferrerEditor.cs"); 56 | assetsToExport.Add(assetsPath + "/Prefab/AdjustSamsungReferrer.prefab"); 57 | assetsToExport.Add(assetsPath + "/Unity/AdjustSamsungReferrer.cs"); 58 | 59 | AssetDatabase.ExportPackage( 60 | assetsToExport.ToArray(), 61 | exportedFileName, 62 | ExportPackageOptions.IncludeDependencies | ExportPackageOptions.Interactive); 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Assets/AdjustSamsungReferrer/Editor/AdjustSamsungReferrerEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e969b4382fe6e48d9988f45b473d5c1a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/AdjustSamsungReferrer/Prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 23b3262b6b1114bc18e45edc39e28601 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AdjustSamsungReferrer/Prefab/AdjustSamsungReferrer.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &115478 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 100100000} 8 | serializedVersion: 5 9 | m_Component: 10 | - component: {fileID: 415478} 11 | - component: {fileID: 114563175149958278} 12 | m_Layer: 0 13 | m_Name: AdjustSamsungReferrer 14 | m_TagString: Untagged 15 | m_Icon: {fileID: 0} 16 | m_NavMeshLayer: 0 17 | m_StaticEditorFlags: 0 18 | m_IsActive: 1 19 | --- !u!4 &415478 20 | Transform: 21 | m_ObjectHideFlags: 1 22 | m_PrefabParentObject: {fileID: 0} 23 | m_PrefabInternal: {fileID: 100100000} 24 | m_GameObject: {fileID: 115478} 25 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 26 | m_LocalPosition: {x: 0, y: 0, z: 0} 27 | m_LocalScale: {x: 1, y: 1, z: 1} 28 | m_Children: [] 29 | m_Father: {fileID: 0} 30 | m_RootOrder: 0 31 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 32 | --- !u!1001 &100100000 33 | Prefab: 34 | m_ObjectHideFlags: 1 35 | serializedVersion: 2 36 | m_Modification: 37 | m_TransformParent: {fileID: 0} 38 | m_Modifications: [] 39 | m_RemovedComponents: [] 40 | m_ParentPrefab: {fileID: 0} 41 | m_RootGameObject: {fileID: 115478} 42 | m_IsPrefabParent: 1 43 | --- !u!114 &114563175149958278 44 | MonoBehaviour: 45 | m_ObjectHideFlags: 1 46 | m_PrefabParentObject: {fileID: 0} 47 | m_PrefabInternal: {fileID: 100100000} 48 | m_GameObject: {fileID: 115478} 49 | m_Enabled: 1 50 | m_EditorHideFlags: 0 51 | m_Script: {fileID: 11500000, guid: 3bfab123318f24f3fb2d7d1835117d2e, type: 3} 52 | m_Name: 53 | m_EditorClassIdentifier: 54 | startManually: 1 55 | readSamsungReferrer: 0 56 | -------------------------------------------------------------------------------- /Assets/AdjustSamsungReferrer/Prefab/AdjustSamsungReferrer.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 34a7e147294f342cc95165e024418c53 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AdjustSamsungReferrer/Unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d98a58938ce05436fb34e2091b9210ce 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AdjustSamsungReferrer/Unity/AdjustSamsungReferrer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace com.adjust.sdk.samsung 5 | { 6 | public class AdjustSamsungReferrer : MonoBehaviour 7 | { 8 | private const string errorMsgEditor = "[AdjustSamsungReferrer]: Adjust Samsung Referrer plugin can not be used in Editor."; 9 | private const string errorMsgPlatform = "[AdjustSamsungReferrer]: Adjust Samsung Referrer plugin can only be used in Android apps."; 10 | 11 | public bool startManually = true; 12 | public bool readSamsungReferrer = false; 13 | 14 | void Awake() 15 | { 16 | if (IsEditor()) { return; } 17 | 18 | DontDestroyOnLoad(transform.gameObject); 19 | 20 | if (!this.startManually) 21 | { 22 | if (this.readSamsungReferrer) 23 | { 24 | AdjustSamsungReferrer.ReadSamsungReferrer(); 25 | } 26 | else 27 | { 28 | AdjustSamsungReferrer.DoNotReadSamsungReferrer(); 29 | } 30 | } 31 | } 32 | 33 | public static void ReadSamsungReferrer() 34 | { 35 | if (IsEditor()) { return; } 36 | 37 | #if UNITY_ANDROID 38 | AdjustSamsungReferrerAndroid.ReadSamsungReferrer(); 39 | #else 40 | Debug.Log(errorMsgPlatform); 41 | #endif 42 | } 43 | 44 | public static void DoNotReadSamsungReferrer() 45 | { 46 | if (IsEditor()) { return; } 47 | 48 | #if UNITY_ANDROID 49 | AdjustSamsungReferrerAndroid.DoNotReadSamsungReferrer(); 50 | #else 51 | Debug.Log(errorMsgPlatform); 52 | #endif 53 | } 54 | 55 | private static bool IsEditor() 56 | { 57 | #if UNITY_EDITOR 58 | Debug.Log(errorMsgEditor); 59 | return true; 60 | #else 61 | return false; 62 | #endif 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /Assets/AdjustSamsungReferrer/Unity/AdjustSamsungReferrer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3bfab123318f24f3fb2d7d1835117d2e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e06bbe7d4e6ce4f4880af971623a389e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Example.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e666decc46d44e7e98c2edc2493173b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Example/Example.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &100000 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 100100000} 8 | serializedVersion: 5 9 | m_Component: 10 | - component: {fileID: 400000} 11 | - component: {fileID: 11400000} 12 | m_Layer: 0 13 | m_Name: Example 14 | m_TagString: MainCamera 15 | m_Icon: {fileID: 0} 16 | m_NavMeshLayer: 0 17 | m_StaticEditorFlags: 0 18 | m_IsActive: 1 19 | --- !u!4 &400000 20 | Transform: 21 | m_ObjectHideFlags: 1 22 | m_PrefabParentObject: {fileID: 0} 23 | m_PrefabInternal: {fileID: 100100000} 24 | m_GameObject: {fileID: 100000} 25 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 26 | m_LocalPosition: {x: 0, y: 1, z: -10} 27 | m_LocalScale: {x: 1, y: 1, z: 1} 28 | m_Children: [] 29 | m_Father: {fileID: 0} 30 | m_RootOrder: 0 31 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 32 | --- !u!114 &11400000 33 | MonoBehaviour: 34 | m_ObjectHideFlags: 1 35 | m_PrefabParentObject: {fileID: 0} 36 | m_PrefabInternal: {fileID: 100100000} 37 | m_GameObject: {fileID: 100000} 38 | m_Enabled: 1 39 | m_EditorHideFlags: 0 40 | m_Script: {fileID: 11500000, guid: 8e666decc46d44e7e98c2edc2493173b, type: 3} 41 | m_Name: 42 | m_EditorClassIdentifier: 43 | --- !u!1001 &100100000 44 | Prefab: 45 | m_ObjectHideFlags: 1 46 | serializedVersion: 2 47 | m_Modification: 48 | m_TransformParent: {fileID: 0} 49 | m_Modifications: [] 50 | m_RemovedComponents: [] 51 | m_ParentPrefab: {fileID: 0} 52 | m_RootGameObject: {fileID: 100000} 53 | m_IsPrefabParent: 1 54 | -------------------------------------------------------------------------------- /Assets/Example/Example.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f587a7d44cc924584a3dc4ab3f9201c3 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Example/Example.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 145310088cc5045318beea91f1fd7d1f 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Test.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dab8050b32fe94d7abd07dbf58020037 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test/3rdParty.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e0e8055d1a9294de0bfb981f14001a65 3 | folderAsset: yes 4 | timeCreated: 1565086815 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Test/3rdParty/JsonNet-Lite.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 25f5788c9e145d4785ad03f275b31026 3 | folderAsset: yes 4 | timeCreated: 1565086815 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Test/3rdParty/JsonNet-Lite.unitypackage.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "JsonNet-Lite", 3 | "Version": "9.0.1", 4 | "Authors": [ 5 | "James Newton-King" 6 | ], 7 | "Owners": [ 8 | "Esun Kim" 9 | ], 10 | "Description": "Unity3D port of Json.NET which is a popular high-performance JSON framework for .NET", 11 | "Files": [ 12 | "Assets/UnityPackages/JsonNet-Lite/Newtonsoft.Json.dll", 13 | "Assets/UnityPackages/JsonNet-Lite/Newtonsoft.Json.dll.mdb" 14 | ] 15 | } -------------------------------------------------------------------------------- /Assets/Test/3rdParty/JsonNet-Lite.unitypackage.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ab55fc71c7835ca2927d666e809ed326 3 | timeCreated: 1565086820 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test/3rdParty/JsonNet-Lite/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/unity_sdk/c2f47e49ca76d2566268ad8ff6138130ad2c314c/Assets/Test/3rdParty/JsonNet-Lite/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /Assets/Test/3rdParty/JsonNet-Lite/Newtonsoft.Json.dll.mdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/unity_sdk/c2f47e49ca76d2566268ad8ff6138130ad2c314c/Assets/Test/3rdParty/JsonNet-Lite/Newtonsoft.Json.dll.mdb -------------------------------------------------------------------------------- /Assets/Test/3rdParty/JsonNet-Lite/Newtonsoft.Json.dll.mdb.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c25fa253cd55104ac0410247bc7b434 3 | timeCreated: 1565086815 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test/3rdParty/JsonNet-Lite/Newtonsoft.Json.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c7c4091694b5032917dd5adf1ec14e2 3 | timeCreated: 1565086815 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | Windows Store Apps: WindowsStoreApps 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: AnyCPU 32 | userData: 33 | assetBundleName: 34 | assetBundleVariant: 35 | -------------------------------------------------------------------------------- /Assets/Test/3rdParty/JsonNet-Lite/link.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Assets/Test/3rdParty/JsonNet-Lite/link.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c1488946372d14f35b775b3a09c5a9d5 3 | timeCreated: 1565086820 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test/Native.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8adf6ac3dd4f147a98becbe57f671a60 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test/Native/Android.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 577d5cb59433f4c0aa15aa9f40a19596 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test/Native/Android/Java-WebSocket-1.4.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/unity_sdk/c2f47e49ca76d2566268ad8ff6138130ad2c314c/Assets/Test/Native/Android/Java-WebSocket-1.4.0.jar -------------------------------------------------------------------------------- /Assets/Test/Native/Android/Java-WebSocket-1.4.0.jar.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 50d69a5765a53473f99e6a7c0686f9bf 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | Android: Android 13 | second: 14 | enabled: 1 15 | settings: {} 16 | - first: 17 | Any: 18 | second: 19 | enabled: 0 20 | settings: {} 21 | - first: 22 | Editor: Editor 23 | second: 24 | enabled: 0 25 | settings: 26 | DefaultValueInitialized: true 27 | userData: 28 | assetBundleName: 29 | assetBundleVariant: 30 | -------------------------------------------------------------------------------- /Assets/Test/Native/Android/adjust-test-library.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/unity_sdk/c2f47e49ca76d2566268ad8ff6138130ad2c314c/Assets/Test/Native/Android/adjust-test-library.aar -------------------------------------------------------------------------------- /Assets/Test/Native/Android/adjust-test-library.aar.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5969d91cbd58f4497accd549cd46ae47 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | Android: Android 13 | second: 14 | enabled: 1 15 | settings: {} 16 | - first: 17 | Any: 18 | second: 19 | enabled: 0 20 | settings: {} 21 | - first: 22 | Editor: Editor 23 | second: 24 | enabled: 0 25 | settings: 26 | DefaultValueInitialized: true 27 | userData: 28 | assetBundleName: 29 | assetBundleVariant: 30 | -------------------------------------------------------------------------------- /Assets/Test/Native/Android/adjust-test-options.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/unity_sdk/c2f47e49ca76d2566268ad8ff6138130ad2c314c/Assets/Test/Native/Android/adjust-test-options.aar -------------------------------------------------------------------------------- /Assets/Test/Native/Android/adjust-test-options.aar.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1fd8576d51edf490db65b3e9dff71b8f 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | Android: Android 13 | second: 14 | enabled: 1 15 | settings: {} 16 | - first: 17 | Any: 18 | second: 19 | enabled: 0 20 | settings: {} 21 | - first: 22 | Editor: Editor 23 | second: 24 | enabled: 0 25 | settings: 26 | DefaultValueInitialized: true 27 | userData: 28 | assetBundleName: 29 | assetBundleVariant: 30 | -------------------------------------------------------------------------------- /Assets/Test/Native/Android/gson-2.8.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/unity_sdk/c2f47e49ca76d2566268ad8ff6138130ad2c314c/Assets/Test/Native/Android/gson-2.8.6.jar -------------------------------------------------------------------------------- /Assets/Test/Native/Android/gson-2.8.6.jar.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bd1bce312d35542aeb227e307435cbd5 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | Android: Android 13 | second: 14 | enabled: 1 15 | settings: {} 16 | - first: 17 | Any: 18 | second: 19 | enabled: 0 20 | settings: {} 21 | - first: 22 | Editor: Editor 23 | second: 24 | enabled: 0 25 | settings: 26 | DefaultValueInitialized: true 27 | userData: 28 | assetBundleName: 29 | assetBundleVariant: 30 | -------------------------------------------------------------------------------- /Assets/Test/Native/Android/slf4j-api-1.7.30.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/unity_sdk/c2f47e49ca76d2566268ad8ff6138130ad2c314c/Assets/Test/Native/Android/slf4j-api-1.7.30.jar -------------------------------------------------------------------------------- /Assets/Test/Native/Android/slf4j-api-1.7.30.jar.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f8adf3f009df40449e838f29bc40135 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | Android: Android 13 | second: 14 | enabled: 1 15 | settings: {} 16 | - first: 17 | Any: 18 | second: 19 | enabled: 0 20 | settings: {} 21 | - first: 22 | Editor: Editor 23 | second: 24 | enabled: 0 25 | settings: 26 | DefaultValueInitialized: true 27 | userData: 28 | assetBundleName: 29 | assetBundleVariant: 30 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 057f448e5c108492a8ff61fa7f36366f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/ATLBlockingQueue.h: -------------------------------------------------------------------------------- 1 | // 2 | // ATLBlockingQueue.h 3 | // AdjustTestLibrary 4 | // 5 | // Created by Pedro on 11.01.18. 6 | // Copyright © 2018 adjust. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "ATLUtil.h" 11 | 12 | @interface ATLBlockingQueue : NSObject 13 | 14 | /** 15 | * Enqueues an object to the queue. 16 | * @param object Object to enqueue 17 | */ 18 | - (void)enqueue:(id)object; 19 | 20 | /** 21 | * Dequeues an object from the queue. This method will block. 22 | */ 23 | - (id)dequeue; 24 | 25 | - (void)teardown; 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/ATLBlockingQueue.h.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 862996479db914295a7e69bbb6e71cbf 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | '': Any 13 | second: 14 | enabled: 0 15 | settings: 16 | Exclude Android: 1 17 | Exclude Editor: 1 18 | Exclude Linux: 1 19 | Exclude Linux64: 1 20 | Exclude LinuxUniversal: 1 21 | Exclude OSXUniversal: 1 22 | Exclude WebGL: 1 23 | Exclude Win: 1 24 | Exclude Win64: 1 25 | Exclude iOS: 0 26 | Exclude tvOS: 1 27 | - first: 28 | Any: 29 | second: 30 | enabled: 0 31 | settings: {} 32 | - first: 33 | Editor: Editor 34 | second: 35 | enabled: 0 36 | settings: 37 | DefaultValueInitialized: true 38 | - first: 39 | iPhone: iOS 40 | second: 41 | enabled: 1 42 | settings: {} 43 | userData: 44 | assetBundleName: 45 | assetBundleVariant: 46 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/ATLConstants.h: -------------------------------------------------------------------------------- 1 | // 2 | // ATLConstants.h 3 | // AdjustTestLibrary 4 | // 5 | // Created by Pedro on 20.04.17. 6 | // Copyright © 2017 adjust. All rights reserved. 7 | // 8 | 9 | #ifndef ATLConstants_h 10 | #define ATLConstants_h 11 | 12 | static int const ONE_SECOND = 1000; 13 | static int const ONE_MINUTE = 60 * ONE_SECOND; 14 | 15 | static NSString * const TEST_LIBRARY_CLASSNAME = @"TestLibrary"; 16 | static NSString * const ADJUST_CLASSNAME = @"Adjust"; 17 | static NSString * const WAIT_FOR_CONTROL = @"control"; 18 | static NSString * const WAIT_FOR_SLEEP = @"sleep"; 19 | static NSString * const BASE_PATH_PARAM = @"basePath"; 20 | static NSString * const TEST_NAME_PARAM = @"basePath"; 21 | static NSString * const TEST_SESSION_ID_HEADER = @"Test-Session-Id"; 22 | 23 | // web socket values 24 | static NSString * const SIGNAL_INFO = @"info"; 25 | static NSString * const SIGNAL_INIT_TEST_SESSION = @"init-test-session"; 26 | static NSString * const SIGNAL_END_WAIT = @"end-wait"; 27 | static NSString * const SIGNAL_CANCEL_CURRENT_TEST = @"cancel-current-test"; 28 | static NSString * const SIGNAL_UNKNOWN = @"unknown"; 29 | 30 | #endif /* ATLConstants_h */ 31 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/ATLConstants.h.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43ad23fd200ee470a999d0254cfbc0fd 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | '': Any 13 | second: 14 | enabled: 0 15 | settings: 16 | Exclude Android: 1 17 | Exclude Editor: 1 18 | Exclude Linux: 1 19 | Exclude Linux64: 1 20 | Exclude LinuxUniversal: 1 21 | Exclude OSXUniversal: 1 22 | Exclude WebGL: 1 23 | Exclude Win: 1 24 | Exclude Win64: 1 25 | Exclude iOS: 0 26 | Exclude tvOS: 1 27 | - first: 28 | Any: 29 | second: 30 | enabled: 0 31 | settings: {} 32 | - first: 33 | Editor: Editor 34 | second: 35 | enabled: 0 36 | settings: 37 | DefaultValueInitialized: true 38 | - first: 39 | iPhone: iOS 40 | second: 41 | enabled: 1 42 | settings: {} 43 | userData: 44 | assetBundleName: 45 | assetBundleVariant: 46 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/ATLControlWebSocketClient.h: -------------------------------------------------------------------------------- 1 | // 2 | // ATLControlWebSocketClient.h 3 | // AdjustTestLibrary 4 | // 5 | // Created by Serj on 20.02.19. 6 | // Copyright © 2019 adjust. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PocketSocket/PSWebSocket.h" 11 | #import "ATLTestLibrary.h" 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | @interface ATLControlWebSocketClient : NSObject 16 | 17 | - (void)initializeWebSocketWithControlUrl:(NSString*)controlUrl 18 | andTestLibrary:(ATLTestLibrary*)testLibrary; 19 | 20 | - (void)reconnectIfNeeded; 21 | 22 | - (void)sendInitTestSessionSignal:(NSString*)testSessionId; 23 | 24 | @end 25 | 26 | NS_ASSUME_NONNULL_END 27 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/ATLControlWebSocketClient.h.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 65fd847d97b764bddbe51b233a859408 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | '': Any 13 | second: 14 | enabled: 0 15 | settings: 16 | Exclude Android: 1 17 | Exclude Editor: 1 18 | Exclude Linux: 1 19 | Exclude Linux64: 1 20 | Exclude LinuxUniversal: 1 21 | Exclude OSXUniversal: 1 22 | Exclude WebGL: 1 23 | Exclude Win: 1 24 | Exclude Win64: 1 25 | Exclude iOS: 0 26 | Exclude tvOS: 1 27 | - first: 28 | Any: 29 | second: 30 | enabled: 0 31 | settings: {} 32 | - first: 33 | Editor: Editor 34 | second: 35 | enabled: 0 36 | settings: 37 | DefaultValueInitialized: true 38 | - first: 39 | iPhone: iOS 40 | second: 41 | enabled: 1 42 | settings: {} 43 | userData: 44 | assetBundleName: 45 | assetBundleVariant: 46 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/ATLNetworking.h: -------------------------------------------------------------------------------- 1 | // 2 | // ATLNetworking.h 3 | // AdjustTestLibrary 4 | // 5 | // Created by Pedro Silva on 24.05.24. 6 | // Copyright © 2024 adjust. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ATLHttpResponse : NSObject 12 | 13 | @property (nonatomic, nullable, strong) NSString * responseString; 14 | @property (nonatomic, nullable, strong) id jsonFoundation; 15 | @property (nonatomic, nullable, strong) NSDictionary *headerFields; 16 | @property (nonatomic, assign) NSInteger statusCode; 17 | 18 | @end 19 | 20 | @interface ATLHttpRequest : NSObject 21 | 22 | @property (nonatomic, nonnull, readonly, strong) NSString *path; 23 | @property (nonatomic, nullable, readonly, strong) NSString *base; 24 | @property (nonatomic, nullable, strong) NSString *bodyString; 25 | @property (nonatomic, nullable, strong) NSDictionary *headerFields; 26 | 27 | - (nonnull id)initWithPath:(nonnull NSString *)path 28 | base:(nullable NSString *)base; 29 | @end 30 | 31 | typedef void (^httpResponseHandler)(ATLHttpResponse *_Nonnull httpResponse); 32 | 33 | @interface ATLNetworking : NSObject 34 | 35 | - (void)sendPostRequestWithData:(nonnull ATLHttpRequest *)requestData 36 | baseUrl:(nonnull NSURL *)baseUrl 37 | responseHandler:(nonnull httpResponseHandler)responseHandler; 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/ATLNetworking.h.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 65ed3b6a2d6a4438abe2a1335b4554c4 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | Any: 13 | second: 14 | enabled: 1 15 | settings: {} 16 | - first: 17 | Editor: Editor 18 | second: 19 | enabled: 0 20 | settings: 21 | DefaultValueInitialized: true 22 | userData: 23 | assetBundleName: 24 | assetBundleVariant: 25 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/ATLTestLibrary.h: -------------------------------------------------------------------------------- 1 | // 2 | // AdjustTestLibrary.h 3 | // AdjustTestLibrary 4 | // 5 | // Created by Pedro on 18.04.17. 6 | // Copyright © 2017 adjust. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "ATLNetworking.h" 11 | #import "ATLBlockingQueue.h" 12 | 13 | @protocol AdjustCommandDelegate 14 | @optional 15 | - (void)executeCommand:(NSString *)className 16 | methodName:(NSString *)methodName 17 | parameters:(NSDictionary *)parameters; 18 | 19 | - (void)executeCommand:(NSString *)className 20 | methodName:(NSString *)methodName 21 | jsonParameters:(NSString *)jsonParameters; 22 | 23 | - (void)executeCommandRawJson:(NSString *)json; 24 | @end 25 | 26 | @interface ATLTestLibrary : NSObject 27 | 28 | - (NSString *)currentBasePath; 29 | 30 | - (ATLBlockingQueue *)waitControlQueue; 31 | 32 | - (void)addTest:(NSString *)testName; 33 | 34 | - (void)addTestDirectory:(NSString *)testDirectory; 35 | 36 | - (void)startTestSession:(NSString *)clientSdk; 37 | 38 | - (void)resetTestLibrary; 39 | 40 | - (void)readResponse:(ATLHttpResponse *)httpResponse; 41 | 42 | - (void)addInfoToSend:(NSString *)key 43 | value:(NSString *)value; 44 | 45 | - (void)sendInfoToServer:(NSString *)basePath; 46 | 47 | - (void)signalEndWaitWithReason:(NSString *)reason; 48 | 49 | - (void)cancelTestAndGetNext; 50 | 51 | - (void)doNotExitAfterEnd; 52 | 53 | + (ATLTestLibrary *)testLibraryWithBaseUrl:(NSString *)baseUrl 54 | andControlUrl:(NSString *)controlUrl 55 | andCommandDelegate:(NSObject *)commandDelegate; 56 | @end 57 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/ATLTestLibrary.h.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3c9eaef644d3344ff80a13e9a8049e72 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | '': Any 13 | second: 14 | enabled: 0 15 | settings: 16 | Exclude Android: 1 17 | Exclude Editor: 1 18 | Exclude Linux: 1 19 | Exclude Linux64: 1 20 | Exclude LinuxUniversal: 1 21 | Exclude OSXUniversal: 1 22 | Exclude WebGL: 1 23 | Exclude Win: 1 24 | Exclude Win64: 1 25 | Exclude iOS: 0 26 | Exclude tvOS: 1 27 | - first: 28 | Any: 29 | second: 30 | enabled: 0 31 | settings: {} 32 | - first: 33 | Editor: Editor 34 | second: 35 | enabled: 0 36 | settings: 37 | DefaultValueInitialized: true 38 | - first: 39 | iPhone: iOS 40 | second: 41 | enabled: 1 42 | settings: {} 43 | userData: 44 | assetBundleName: 45 | assetBundleVariant: 46 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/ATLUtil.h: -------------------------------------------------------------------------------- 1 | // 2 | // ATLUtil.h 3 | // AdjustTestLibrary 4 | // 5 | // Created by Pedro on 18.04.17. 6 | // Copyright © 2017 adjust. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | typedef void (^selfInjectedBlock)(id); 12 | typedef void (^operationBlock)(NSBlockOperation *); 13 | 14 | @interface ATLUtil : NSObject 15 | 16 | + (void)debug:(NSString *)format, ...; 17 | + (void)launchInQueue:(dispatch_queue_t)queue 18 | selfInject:(id)selfInject 19 | block:(selfInjectedBlock)block; 20 | + (void)addOperationAfterLast:(NSOperationQueue *)operationQueue 21 | block:(dispatch_block_t)block; 22 | + (void)addOperationAfterLast:(NSOperationQueue *)operationQueue 23 | blockWithOperation:(operationBlock)blockWithOperation; 24 | + (BOOL)isNull:(id)value; 25 | + (NSString *)adjTrim:(NSString *)value; 26 | + (NSString *)formatDate:(NSDate *)value; 27 | + (NSString *)parseDictionaryToJsonString:(NSDictionary *) dictionary; 28 | + (NSString *)appendBasePath:(NSString *)basePath path:(NSString *)path; 29 | + (NSString *)queryString:(NSDictionary *)parameters; 30 | @end 31 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/ATLUtil.h.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c7fe63ce0e0a44e7ca36e77e0e251ac9 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | '': Any 13 | second: 14 | enabled: 0 15 | settings: 16 | Exclude Android: 1 17 | Exclude Editor: 1 18 | Exclude Linux: 1 19 | Exclude Linux64: 1 20 | Exclude LinuxUniversal: 1 21 | Exclude OSXUniversal: 1 22 | Exclude WebGL: 1 23 | Exclude Win: 1 24 | Exclude Win64: 1 25 | Exclude iOS: 0 26 | Exclude tvOS: 1 27 | - first: 28 | Any: 29 | second: 30 | enabled: 0 31 | settings: {} 32 | - first: 33 | Editor: Editor 34 | second: 35 | enabled: 0 36 | settings: 37 | DefaultValueInitialized: true 38 | - first: 39 | iPhone: iOS 40 | second: 41 | enabled: 1 42 | settings: {} 43 | userData: 44 | assetBundleName: 45 | assetBundleVariant: 46 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/AdjustTestLibrary.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/unity_sdk/c2f47e49ca76d2566268ad8ff6138130ad2c314c/Assets/Test/Native/iOS/AdjustTestLibrary.a -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/AdjustTestLibrary.a.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f08c8ed2257994e27bd312f6171d1556 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | '': Any 13 | second: 14 | enabled: 0 15 | settings: 16 | Exclude Android: 1 17 | Exclude Editor: 1 18 | Exclude Linux: 1 19 | Exclude Linux64: 1 20 | Exclude LinuxUniversal: 1 21 | Exclude OSXUniversal: 1 22 | Exclude WebGL: 1 23 | Exclude Win: 1 24 | Exclude Win64: 1 25 | Exclude iOS: 0 26 | Exclude tvOS: 1 27 | - first: 28 | Any: 29 | second: 30 | enabled: 0 31 | settings: {} 32 | - first: 33 | Editor: Editor 34 | second: 35 | enabled: 0 36 | settings: 37 | DefaultValueInitialized: true 38 | - first: 39 | iPhone: iOS 40 | second: 41 | enabled: 1 42 | settings: {} 43 | userData: 44 | assetBundleName: 45 | assetBundleVariant: 46 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/AdjustUnityCommandExecutor.h: -------------------------------------------------------------------------------- 1 | // 2 | // AdjustUnityCommandExecutor.h 3 | // Adjust SDK 4 | // 5 | // Created by Srdjan Tubin (@2beens) on 13th February 2018. 6 | // Copyright © 2012-2018 Adjust GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "ATLTestLibrary.h" 11 | 12 | @interface AdjustUnityCommandExecutor : NSObject 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/AdjustUnityCommandExecutor.h.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9508b12b5637945b6a2821be409124f4 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | '': Any 13 | second: 14 | enabled: 0 15 | settings: 16 | Exclude Android: 1 17 | Exclude Editor: 1 18 | Exclude Linux: 1 19 | Exclude Linux64: 1 20 | Exclude LinuxUniversal: 1 21 | Exclude OSXUniversal: 1 22 | Exclude WebGL: 1 23 | Exclude Win: 1 24 | Exclude Win64: 1 25 | Exclude iOS: 0 26 | Exclude tvOS: 1 27 | - first: 28 | Any: 29 | second: 30 | enabled: 0 31 | settings: {} 32 | - first: 33 | Editor: Editor 34 | second: 35 | enabled: 0 36 | settings: 37 | DefaultValueInitialized: true 38 | - first: 39 | iPhone: iOS 40 | second: 41 | enabled: 1 42 | settings: {} 43 | userData: 44 | assetBundleName: 45 | assetBundleVariant: 46 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/AdjustUnityCommandExecutor.mm: -------------------------------------------------------------------------------- 1 | // 2 | // AdjustUnityCommandExecutor.mm 3 | // Adjust SDK 4 | // 5 | // Created by Srdjan Tubin (@2beens) on 13th February 2018. 6 | // Copyright © 2012-2018 Adjust GmbH. All rights reserved. 7 | // 8 | 9 | #import "AdjustUnityCommandExecutor.h" 10 | 11 | @implementation AdjustUnityCommandExecutor 12 | 13 | - (id)init { 14 | self = [super init]; 15 | if (self == nil) { 16 | return nil; 17 | } 18 | return self; 19 | } 20 | 21 | - (void)executeCommandRawJson:(NSString *)json { 22 | NSLog(@"executeCommandRawJson: %@", json); 23 | const char* cJsonCommand = [json UTF8String]; 24 | UnitySendMessage("TestApp", "ExecuteCommand", cJsonCommand); 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/AdjustUnityCommandExecutor.mm.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 439d86829199545f3b4aa77df3164111 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | '': Any 13 | second: 14 | enabled: 0 15 | settings: 16 | Exclude Android: 1 17 | Exclude Editor: 1 18 | Exclude Linux: 1 19 | Exclude Linux64: 1 20 | Exclude LinuxUniversal: 1 21 | Exclude OSXUniversal: 1 22 | Exclude WebGL: 1 23 | Exclude Win: 1 24 | Exclude Win64: 1 25 | Exclude iOS: 0 26 | Exclude tvOS: 1 27 | - first: 28 | Any: 29 | second: 30 | enabled: 0 31 | settings: {} 32 | - first: 33 | Editor: Editor 34 | second: 35 | enabled: 0 36 | settings: 37 | DefaultValueInitialized: true 38 | - first: 39 | iPhone: iOS 40 | second: 41 | enabled: 1 42 | settings: {} 43 | - first: 44 | tvOS: tvOS 45 | second: 46 | enabled: 0 47 | settings: {} 48 | userData: 49 | assetBundleName: 50 | assetBundleVariant: 51 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/AdjustUnityTestLibrary.h: -------------------------------------------------------------------------------- 1 | // 2 | // AdjustUnityTestLibrary.h 3 | // Adjust SDK 4 | // 5 | // Created by Srdjan Tubin (@2beens) on 13th February 2018. 6 | // Copyright © 2012-2018 Adjust GmbH. All rights reserved. 7 | // 8 | 9 | /** 10 | * @brief The main interface to Adjust Unity test library. Used for integration tests only. 11 | */ 12 | @interface AdjustUnityTestLibrary : NSObject 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/AdjustUnityTestLibrary.h.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 64102ae28c06743b1ad3460bac604598 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | '': Any 13 | second: 14 | enabled: 0 15 | settings: 16 | Exclude Android: 1 17 | Exclude Editor: 1 18 | Exclude Linux: 1 19 | Exclude Linux64: 1 20 | Exclude LinuxUniversal: 1 21 | Exclude OSXUniversal: 1 22 | Exclude WebGL: 1 23 | Exclude Win: 1 24 | Exclude Win64: 1 25 | Exclude iOS: 0 26 | Exclude tvOS: 1 27 | - first: 28 | Any: 29 | second: 30 | enabled: 0 31 | settings: {} 32 | - first: 33 | Editor: Editor 34 | second: 35 | enabled: 0 36 | settings: 37 | DefaultValueInitialized: true 38 | - first: 39 | iPhone: iOS 40 | second: 41 | enabled: 1 42 | settings: {} 43 | userData: 44 | assetBundleName: 45 | assetBundleVariant: 46 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/AdjustUnityTestLibrary.mm: -------------------------------------------------------------------------------- 1 | // 2 | // AdjustUnityTestLibrary.mm 3 | // Adjust SDK 4 | // 5 | // Created by Srdjan Tubin (@2beens) on 13th February 2018. 6 | // Copyright © 2012-2018 Adjust GmbH. All rights reserved. 7 | // 8 | 9 | #import "ATLTestLibrary.h" 10 | #import "AdjustUnityTestLibrary.h" 11 | #import "AdjustUnityCommandExecutor.h" 12 | 13 | static ATLTestLibrary *testLibrary; 14 | static id commandDelegate; 15 | 16 | @implementation AdjustUnityTestLibrary 17 | 18 | #pragma mark - Object lifecycle methods 19 | 20 | - (id)init { 21 | self = [super init]; 22 | if (nil == self) { 23 | return nil; 24 | } 25 | return self; 26 | } 27 | 28 | @end 29 | 30 | #pragma mark - Publicly available C methods 31 | 32 | extern "C" 33 | { 34 | void _ATLInitialize(const char* baseUrl, const char* controlUrl) { 35 | NSString *sBaseUrl = [NSString stringWithUTF8String:baseUrl]; 36 | NSString *sControlUrl = [NSString stringWithUTF8String:controlUrl]; 37 | commandDelegate = [[AdjustUnityCommandExecutor alloc] init]; 38 | testLibrary = [ATLTestLibrary testLibraryWithBaseUrl:sBaseUrl 39 | andControlUrl:sControlUrl 40 | andCommandDelegate:commandDelegate]; 41 | } 42 | 43 | void _ATLStartTestSession(const char* clientSdk) { 44 | NSString *sClientSdk = [NSString stringWithUTF8String:clientSdk]; 45 | [testLibrary startTestSession:sClientSdk]; 46 | } 47 | 48 | void _ATLAddInfoToSend(const char* key, const char* value) { 49 | NSString *sKey = [NSString stringWithUTF8String:key]; 50 | if (value == NULL) { 51 | [testLibrary addInfoToSend:sKey value:nil]; 52 | } else { 53 | NSString *sValue = [NSString stringWithUTF8String:value]; 54 | [testLibrary addInfoToSend:sKey value:sValue]; 55 | } 56 | } 57 | 58 | void _ATLSendInfoToServer(const char* basePath) { 59 | NSString *sBasePath = [NSString stringWithUTF8String:basePath]; 60 | [testLibrary sendInfoToServer:sBasePath]; 61 | } 62 | 63 | void _ATLAddTest(const char* testName) { 64 | NSString *sTestName = [NSString stringWithUTF8String:testName]; 65 | [testLibrary addTest:sTestName]; 66 | } 67 | 68 | void _ATLAddTestDirectory(const char* testDirectory) { 69 | NSString *sTestDirectory = [NSString stringWithUTF8String:testDirectory]; 70 | [testLibrary addTestDirectory:sTestDirectory]; 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /Assets/Test/Native/iOS/AdjustUnityTestLibrary.mm.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 96fddcee2ff1647d3ae5e4234b56a72c 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | '': Any 13 | second: 14 | enabled: 0 15 | settings: 16 | Exclude Android: 1 17 | Exclude Editor: 1 18 | Exclude Linux: 1 19 | Exclude Linux64: 1 20 | Exclude LinuxUniversal: 1 21 | Exclude OSXUniversal: 1 22 | Exclude WebGL: 1 23 | Exclude Win: 1 24 | Exclude Win64: 1 25 | Exclude iOS: 0 26 | Exclude tvOS: 1 27 | - first: 28 | Any: 29 | second: 30 | enabled: 0 31 | settings: {} 32 | - first: 33 | Editor: Editor 34 | second: 35 | enabled: 0 36 | settings: 37 | DefaultValueInitialized: true 38 | - first: 39 | iPhone: iOS 40 | second: 41 | enabled: 1 42 | settings: {} 43 | - first: 44 | tvOS: tvOS 45 | second: 46 | enabled: 0 47 | settings: {} 48 | userData: 49 | assetBundleName: 50 | assetBundleVariant: 51 | -------------------------------------------------------------------------------- /Assets/Test/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 895407002691942b68eda7d05f269ae8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test/Scripts/Command.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | #if (UNITY_ANDROID || UNITY_IOS) 3 | using Newtonsoft.Json; 4 | #endif 5 | 6 | namespace AdjustSdk.Test 7 | { 8 | public class Command 9 | { 10 | #if (UNITY_ANDROID || UNITY_IOS) 11 | [JsonProperty("className")] 12 | public string ClassName { get; set; } 13 | [JsonProperty("functionName")] 14 | public string MethodName { get; set; } 15 | [JsonProperty("params")] 16 | public Dictionary> Parameters { get; set; } 17 | #else 18 | public string ClassName { get; set; } 19 | public string MethodName { get; set; } 20 | public Dictionary> Parameters { get; set; } 21 | #endif 22 | public Command() {} 23 | 24 | public Command(string className, string methodName, Dictionary> parameters) 25 | { 26 | ClassName = className; 27 | MethodName = methodName; 28 | Parameters = parameters; 29 | } 30 | 31 | public string GetFirstParameterValue(string parameterKey) 32 | { 33 | if (Parameters == null || !Parameters.ContainsKey(parameterKey)) 34 | { 35 | return null; 36 | } 37 | 38 | var parameterValues = Parameters[parameterKey]; 39 | return parameterValues.Count == 0 ? null : parameterValues[0]; 40 | } 41 | 42 | public bool ContainsParameter(string parameterKey) 43 | { 44 | if (Parameters == null || string.IsNullOrEmpty(parameterKey)) 45 | { 46 | return false; 47 | } 48 | 49 | return Parameters.ContainsKey(parameterKey); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Assets/Test/Scripts/Command.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 12d030bd37da1469d864611110b3c915 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Test/Scripts/CommandExecutor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4eeaf8a57f43540fbb264416b52051ec 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Test/Scripts/CommandListenerAndroid.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | #if UNITY_ANDROID 3 | using Newtonsoft.Json; 4 | #endif 5 | 6 | namespace AdjustSdk.Test 7 | { 8 | public class CommandListenerAndroid : AndroidJavaProxy 9 | { 10 | #if UNITY_ANDROID 11 | private static CommandExecutor _commandExecutor; 12 | #endif 13 | 14 | public CommandListenerAndroid(CommandExecutor commandExecutor) : base("com.adjust.test.ICommandRawJsonListener") 15 | { 16 | #if UNITY_ANDROID 17 | _commandExecutor = commandExecutor; 18 | #endif 19 | } 20 | 21 | public void executeCommand(string json) 22 | { 23 | if (json == null) 24 | { 25 | return; 26 | } 27 | #if UNITY_ANDROID 28 | Command command = JsonConvert.DeserializeObject(json); 29 | _commandExecutor.ExecuteCommand(command); 30 | #endif 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Assets/Test/Scripts/CommandListenerAndroid.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 65db0e264b985478cb175e32e51a9bed 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Test/Scripts/ExportOptions.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | compileBitcode 6 | 7 | destination 8 | export 9 | method 10 | development 11 | provisioningProfiles 12 | 13 | com.adjust.examples 14 | adjust Examples (dev) 15 | 16 | signingCertificate 17 | Apple Development 18 | signingStyle 19 | manual 20 | stripSwiftSymbols 21 | 22 | teamID 23 | QGUGW9AUMK 24 | thinning 25 | <none> 26 | 27 | 28 | -------------------------------------------------------------------------------- /Assets/Test/Scripts/ExportOptions.plist.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 061650c94605b4585a14f5b192f6326d 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Test/Scripts/ITestLibrary.cs: -------------------------------------------------------------------------------- 1 | namespace AdjustSdk.Test 2 | { 3 | public interface ITestLibrary 4 | { 5 | void StartTestSession(); 6 | void AddInfoToSend(string key, string paramValue); 7 | void SendInfoToServer(string basePath); 8 | void AddTest(string testName); 9 | void AddTestDirectory(string testDirectory); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Assets/Test/Scripts/ITestLibrary.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 229bdb4832b9f473c8931fe19df04003 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Test/Scripts/TestConectionOptions.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace AdjustSdk.Test 4 | { 5 | #if UNITY_ANDROID 6 | public class TestConnectionOptions 7 | { 8 | public static void SetTestConnectionOptions() 9 | { 10 | AndroidJavaClass ajcTestConnectionOptions = new AndroidJavaClass("com.adjust.test_options.TestConnectionOptions"); 11 | ajcTestConnectionOptions.CallStatic("setTestConnectionOptions"); 12 | } 13 | } 14 | #endif 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Test/Scripts/TestConectionOptions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f2cd1fd38567940fca183a638904ea3f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Test/Scripts/TestLibraryAndroid.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace AdjustSdk.Test 4 | { 5 | #if UNITY_ANDROID 6 | public class TestLibraryAndroid : ITestLibrary 7 | { 8 | private AndroidJavaObject ajoTestLibrary; 9 | private CommandListenerAndroid onCommandReceivedListener; 10 | 11 | public TestLibraryAndroid(string overwriteUrl, string controlUrl) 12 | { 13 | CommandExecutor commandExecutor = new CommandExecutor(this, overwriteUrl); 14 | onCommandReceivedListener = new CommandListenerAndroid(commandExecutor); 15 | ajoTestLibrary = new AndroidJavaObject( 16 | "com.adjust.test.TestLibrary", 17 | overwriteUrl, 18 | controlUrl, 19 | new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic("currentActivity"), 20 | onCommandReceivedListener); 21 | } 22 | 23 | public void StartTestSession() 24 | { 25 | Adjust.GetSdkVersion(sdkVersion => 26 | { 27 | ajoTestLibrary.Call("startTestSession", sdkVersion); 28 | }); 29 | } 30 | 31 | public void AddInfoToSend(string key, string paramValue) 32 | { 33 | ajoTestLibrary.Call("addInfoToSend", key, paramValue); 34 | } 35 | 36 | public void SendInfoToServer(string basePath) 37 | { 38 | ajoTestLibrary.Call("sendInfoToServer", basePath); 39 | } 40 | 41 | public void AddTest(string testName) 42 | { 43 | ajoTestLibrary.Call("addTest", testName); 44 | } 45 | 46 | public void AddTestDirectory(string testDirectory) 47 | { 48 | ajoTestLibrary.Call("addTestDirectory", testDirectory); 49 | } 50 | } 51 | #endif 52 | } 53 | -------------------------------------------------------------------------------- /Assets/Test/Scripts/TestLibraryAndroid.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4affdb5ae6cd94ecdb7ca49cb9624b94 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Test/Scripts/TestLibraryBridgeiOS.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | 4 | namespace AdjustSdk.Test 5 | { 6 | #if UNITY_IOS 7 | public static class TestLibraryBridgeiOS 8 | { 9 | [DllImport("__Internal")] 10 | private static extern void _ATLInitialize(string overwriteUrl, string controlUrl); 11 | 12 | [DllImport("__Internal")] 13 | private static extern void _ATLStartTestSession(string clientSdk); 14 | 15 | [DllImport("__Internal")] 16 | private static extern void _ATLAddInfoToSend(string key, string paramValue); 17 | 18 | [DllImport("__Internal")] 19 | private static extern void _ATLSendInfoToServer(string basePath); 20 | 21 | [DllImport("__Internal")] 22 | private static extern void _ATLAddTest(string testName); 23 | 24 | [DllImport("__Internal")] 25 | private static extern void _ATLAddTestDirectory(string testDirectory); 26 | 27 | public static void Initialize(string overwriteUrl, string controlUrl) 28 | { 29 | _ATLInitialize(overwriteUrl, controlUrl); 30 | } 31 | 32 | public static void StartTestSession(string clientSdk) 33 | { 34 | _ATLStartTestSession(clientSdk); 35 | } 36 | 37 | public static void AddInfoToSend(string key, string paramValue) 38 | { 39 | _ATLAddInfoToSend(key, paramValue); 40 | } 41 | 42 | public static void SendInfoToServer(string basePath) 43 | { 44 | _ATLSendInfoToServer(basePath); 45 | } 46 | 47 | public static void AddTest(string testName) 48 | { 49 | _ATLAddTest(testName); 50 | } 51 | 52 | public static void AddTestDirectory(string testDirectory) 53 | { 54 | _ATLAddTestDirectory(testDirectory); 55 | } 56 | } 57 | #endif 58 | } 59 | -------------------------------------------------------------------------------- /Assets/Test/Scripts/TestLibraryBridgeiOS.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c759f3ee619a949b194fedf465a76b0c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Test/Scripts/TestLibraryiOS.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Newtonsoft.Json; 3 | 4 | namespace AdjustSdk.Test 5 | { 6 | public class TestLibraryiOS : ITestLibrary 7 | { 8 | #if UNITY_IOS 9 | private CommandExecutor _commandExecutor; 10 | 11 | public TestLibraryiOS(string overwriteUrl, string controlUrl) 12 | { 13 | _commandExecutor = new CommandExecutor(this, overwriteUrl); 14 | TestLibraryBridgeiOS.Initialize(overwriteUrl, controlUrl); 15 | } 16 | 17 | public void StartTestSession() 18 | { 19 | TestApp.Log("TestLibrary -> StartTestSession()"); 20 | Adjust.GetSdkVersion((sdkVersion) => { 21 | TestLibraryBridgeiOS.StartTestSession(sdkVersion); 22 | }); 23 | } 24 | 25 | public void AddInfoToSend(string key, string paramValue) 26 | { 27 | TestLibraryBridgeiOS.AddInfoToSend(key, paramValue); 28 | } 29 | 30 | public void SendInfoToServer(string basePath) 31 | { 32 | TestLibraryBridgeiOS.SendInfoToServer(basePath); 33 | } 34 | 35 | public void ExecuteCommand(string commandJson) 36 | { 37 | Command command = JsonConvert.DeserializeObject(commandJson); 38 | _commandExecutor.ExecuteCommand(command); 39 | } 40 | 41 | public void AddTest(string testName) 42 | { 43 | TestLibraryBridgeiOS.AddTest(testName); 44 | } 45 | 46 | public void AddTestDirectory(string testDirectory) 47 | { 48 | TestLibraryBridgeiOS.AddTestDirectory(testDirectory); 49 | } 50 | #else 51 | public void AddInfoToSend(string key, string paramValue) 52 | { 53 | throw new NotImplementedException(); 54 | } 55 | 56 | public void AddTest(string testName) 57 | { 58 | throw new NotImplementedException(); 59 | } 60 | 61 | public void AddTestDirectory(string testDirectory) 62 | { 63 | throw new NotImplementedException(); 64 | } 65 | 66 | public void SendInfoToServer(string basePath) 67 | { 68 | throw new NotImplementedException(); 69 | } 70 | 71 | public void StartTestSession() 72 | { 73 | throw new NotImplementedException(); 74 | } 75 | #endif 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /Assets/Test/Scripts/TestLibraryiOS.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9cbcff03e12224a7f846f87d6142a97f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Test/TestApp.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b2913d9fba4f246dfb6669e2c2e2c599 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test/TestApp/TestApp.cs: -------------------------------------------------------------------------------- 1 | #if (UNITY_ANDROID || UNITY_IOS) 2 | using System; 3 | #endif 4 | using UnityEngine; 5 | using AdjustSdk.Test; 6 | 7 | public class TestApp : MonoBehaviour 8 | { 9 | public static readonly string TAG = "[TestApp]"; 10 | 11 | #if UNITY_ANDROID 12 | private const string PORT = ":8443"; 13 | private const string PROTOCOL = "https://"; 14 | private const string IP = "192.168.8.207"; 15 | #elif UNITY_IOS 16 | private const string PORT = ":8080"; 17 | private const string PROTOCOL = "http://"; 18 | private const string IP = "192.168.8.207"; 19 | private TestLibraryiOS _testLibraryiOS; 20 | #else 21 | private const string PORT = ":8080"; 22 | private const string PROTOCOL = "http://"; 23 | private const string IP = "localhost"; 24 | #endif 25 | private const string OVERWRITE_URL = PROTOCOL + IP + PORT; 26 | private const string CONTROL_URL = "ws://" + IP + ":1987"; 27 | 28 | void OnGUI() 29 | { 30 | if (GUI.Button(new Rect(0, Screen.height * 0 / 2, Screen.width, Screen.height / 2), "Start test")) 31 | { 32 | StartTestSession(); 33 | } 34 | } 35 | 36 | private void StartTestSession() 37 | { 38 | ITestLibrary testLibrary = GetPlatformSpecificTestLibrary(); 39 | #if UNITY_IOS 40 | _testLibraryiOS = testLibrary as TestLibraryiOS; 41 | #endif 42 | // Set specific tests to run. 43 | // testLibrary.AddTest("Test_ThirdPartySharing_after_install"); 44 | // testLibrary.AddTestDirectory("purchase-verification"); 45 | 46 | Log("Starting test session."); 47 | testLibrary.StartTestSession(); 48 | } 49 | 50 | private ITestLibrary GetPlatformSpecificTestLibrary() 51 | { 52 | #if UNITY_IOS 53 | return new TestLibraryiOS(OVERWRITE_URL, CONTROL_URL); 54 | #elif UNITY_ANDROID 55 | return new TestLibraryAndroid(OVERWRITE_URL, CONTROL_URL); 56 | #else 57 | Debug.Log("Cannot run integration tests (Error in TestApp.GetPlatformSpecificTestLibrary(...)). None of the supported platforms selected."); 58 | return null; 59 | #endif 60 | } 61 | 62 | #if UNITY_IOS 63 | public void ExecuteCommand(string commandJson) 64 | { 65 | _testLibraryiOS.ExecuteCommand(commandJson); 66 | } 67 | #endif 68 | public static void Log(string message, bool useUnityDebug = false) 69 | { 70 | #if UNITY_ANDROID 71 | var now = DateTime.Now; 72 | string currentTimeString = string.Format("{0}:{1}", now.ToShortTimeString(), now.Second); 73 | string output = string.Format("[{0}{1}]: {2}", currentTimeString, TAG, message); 74 | if (!useUnityDebug) 75 | { 76 | Console.WriteLine(output); 77 | } 78 | else 79 | { 80 | Debug.Log(output); 81 | } 82 | #else 83 | Debug.Log(message); 84 | #endif 85 | } 86 | 87 | public static void LogError(string message, bool useUnityDebug = false) 88 | { 89 | #if UNITY_ANDROID 90 | var now = DateTime.Now; 91 | string currentTimeString = string.Format("{0}:{1}", now.ToShortTimeString(), now.Second); 92 | string output = string.Format("[{0}{1}][Error!]: {2}", currentTimeString, TAG, message); 93 | if (!useUnityDebug) 94 | { 95 | Console.WriteLine(output); 96 | } 97 | else 98 | { 99 | Debug.Log(output); 100 | } 101 | #else 102 | Debug.LogError(message); 103 | #endif 104 | } 105 | } 106 | -------------------------------------------------------------------------------- /Assets/Test/TestApp/TestApp.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c420967931ab34a33abb412b340a032b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Test/TestApp/TestApp.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &100000 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 100100000} 8 | serializedVersion: 6 9 | m_Component: 10 | - component: {fileID: 400000} 11 | - component: {fileID: 114599351951650296} 12 | m_Layer: 0 13 | m_Name: TestApp 14 | m_TagString: MainCamera 15 | m_Icon: {fileID: 0} 16 | m_NavMeshLayer: 0 17 | m_StaticEditorFlags: 0 18 | m_IsActive: 1 19 | --- !u!4 &400000 20 | Transform: 21 | m_ObjectHideFlags: 1 22 | m_CorrespondingSourceObject: {fileID: 0} 23 | m_PrefabInternal: {fileID: 100100000} 24 | m_GameObject: {fileID: 100000} 25 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 26 | m_LocalPosition: {x: 0, y: 1, z: -10} 27 | m_LocalScale: {x: 1, y: 1, z: 1} 28 | m_Children: [] 29 | m_Father: {fileID: 0} 30 | m_RootOrder: 0 31 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 32 | --- !u!1001 &100100000 33 | Prefab: 34 | m_ObjectHideFlags: 1 35 | serializedVersion: 2 36 | m_Modification: 37 | m_TransformParent: {fileID: 0} 38 | m_Modifications: [] 39 | m_RemovedComponents: [] 40 | m_SourcePrefab: {fileID: 0} 41 | m_RootGameObject: {fileID: 100000} 42 | m_IsPrefabAsset: 1 43 | --- !u!114 &114599351951650296 44 | MonoBehaviour: 45 | m_ObjectHideFlags: 1 46 | m_CorrespondingSourceObject: {fileID: 0} 47 | m_PrefabInternal: {fileID: 100100000} 48 | m_GameObject: {fileID: 100000} 49 | m_Enabled: 1 50 | m_EditorHideFlags: 0 51 | m_Script: {fileID: 11500000, guid: c420967931ab34a33abb412b340a032b, type: 3} 52 | m_Name: 53 | m_EditorClassIdentifier: 54 | -------------------------------------------------------------------------------- /Assets/Test/TestApp/TestApp.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f84348a1b95794d65a306136fa7f800a 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test/TestApp/TestApp.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a2594287e34943c49b2b2765c0c5f24 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2012-Present Adjust GmbH, http://www.adjust.com 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Adjust SDK for Unity 2 | 3 | This is the [Adjust](https://adjust.com)™ SDK for Unity. Documentation is available on our [developer docs](https://dev.adjust.com/en/sdk/unity/?version=v5). 4 | 5 | ## License 6 | 7 | Distributed under the [`MIT license`](LICENSE). 8 | -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | 5.4.0 2 | -------------------------------------------------------------------------------- /scripts/adjust_uninstall.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import os 4 | import re 5 | import sys 6 | import shutil 7 | 8 | def main(): 9 | assets_path = os.getcwd() + "/Assets"; 10 | 11 | re_adjust_files = re.compile(r"AI.*\.m|.*\+AI.*\.m|.*\+AI.*\.h|AI.*\.h|ADJ.*\.m|ADJ.*\.h|Adjust\.*|adjust\.*|ExampleGUI\.*|.*AdjustPostBuild.*|mod_pbxproj\.*|IAdjust\.*|ResponseData\.*|SimpleJSON\.*") 12 | re_adjust_folders = re.compile(r"Adjust|3rd Party|ExampleGUI|adjust") 13 | 14 | for path, subdirs, files in os.walk(assets_path): 15 | for name in files: 16 | adjust_file_match = re_adjust_files.match(name if name else "") 17 | 18 | if (adjust_file_match): 19 | file_path = os.path.join(path, name) 20 | 21 | if (os.path.exists(file_path)): 22 | print "Removing file: " + file_path 23 | os.remove(file_path) 24 | 25 | for path, subdirs, files in os.walk(assets_path): 26 | for name in subdirs: 27 | adjust_folder_match = re_adjust_folders.match(name if name else "") 28 | 29 | if (adjust_folder_match): 30 | folder_path = os.path.join(path, name) 31 | 32 | if (os.path.exists(folder_path)): 33 | print "Removing folder: " + folder_path 34 | shutil.rmtree(folder_path) 35 | 36 | print "Adjust successfully removed from your project" 37 | 38 | sys.exit(0) 39 | 40 | if __name__ == "__main__": 41 | main() -------------------------------------------------------------------------------- /scripts/build_sdk.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | import os, sys 4 | from scripting_utils import * 5 | import build_sdk_android as android 6 | import build_sdk_ios as ios 7 | import build_sdk_windows as windows 8 | 9 | set_log_tag('BUILD-SDK') 10 | 11 | if __name__ != "__main__": 12 | error('Error. Do not import this script, but run it explicitly.') 13 | exit() 14 | 15 | # ------------------------------------------------------------------ 16 | # get arguments 17 | usage_message = 'Usage: python build_sdk.py [ios | android | windows] [optional, to build test library too: --with-testlib | -tl]\n'; 18 | if len(sys.argv) < 2: 19 | error('Error. Platform not provided.') 20 | debug(usage_message) 21 | exit() 22 | 23 | platform = sys.argv[1] 24 | if platform != 'ios' and platform != 'android' and platform != 'windows': 25 | error('Error. Unknown platform provided: [{0}]'.format(platform)) 26 | debug(usage_message) 27 | exit() 28 | 29 | with_test_lib = False 30 | if len(sys.argv) == 3 and (sys.argv[2] == '--with-testlib' or sys.argv[2] == '-tl'): 31 | with_test_lib = True 32 | elif len(sys.argv) == 3: 33 | error('Unknown 2nd parameter.') 34 | debug(usage_message) 35 | exit() 36 | 37 | debug_green('Script start. Platform=[{0}]. With Test Library=[{1}]. Build Adjust Unity SDK ...'.format(platform, with_test_lib)) 38 | 39 | # ------------------------------------------------------------------ 40 | # Paths 41 | script_dir = os.path.dirname(os.path.realpath(__file__)) 42 | root_dir = os.path.dirname(os.path.normpath(script_dir)) 43 | android_submodule_dir = '{0}/ext/android'.format(root_dir) 44 | ios_submodule_dir = '{0}/ext/ios'.format(root_dir) 45 | windows_submodule_dir = '{0}/ext/windows'.format(root_dir) 46 | 47 | # ------------------------------------------------------------------ 48 | # Call platform specific build method. 49 | if platform == 'ios': 50 | set_log_tag('IOS-SDK-BUILD') 51 | check_submodule_dir('iOS', ios_submodule_dir + '/sdk') 52 | ios.build(root_dir, ios_submodule_dir, with_test_lib) 53 | elif platform == 'android': 54 | set_log_tag('ANROID-SDK-BUILD') 55 | check_submodule_dir('Android', android_submodule_dir + '/sdk') 56 | android.build(root_dir, android_submodule_dir, with_test_lib) 57 | else: 58 | set_log_tag('WINDOWS-SDK-BUILD') 59 | check_submodule_dir('Windows', windows_submodule_dir + '/sdk') 60 | windows.build(root_dir, windows_submodule_dir) 61 | 62 | remove_files('*.pyc', script_dir, log=False) 63 | 64 | # ------------------------------------------------------------------ 65 | # Script completed. 66 | debug_green('Script completed!') 67 | -------------------------------------------------------------------------------- /scripts/build_sdk_android.py: -------------------------------------------------------------------------------- 1 | from scripting_utils import * 2 | 3 | def build(root_dir, android_submodule_dir, with_test_lib): 4 | # ------------------------------------------------------------------ 5 | # Paths. 6 | src_dir = '{0}/sdk/Adjust'.format(android_submodule_dir) 7 | jar_in_dir = '{0}/sdk-core/build/libs'.format(src_dir) 8 | jar_in_dir_oaid = '{0}/sdk-plugin-oaid/build/libs'.format(src_dir) 9 | jar_out_dir = '{0}/Assets/Adjust/Android'.format(root_dir) 10 | jar_out_dir_oaid = '{0}/Assets/AdjustOaid/Android'.format(root_dir) 11 | 12 | # ------------------------------------------------------------------ 13 | # Building Android SDK JAR in release mode. 14 | # debug_green('Building Android SDK JAR in release mode ...') 15 | change_dir(src_dir) 16 | # gradle_make_sdk_jar_release() 17 | 18 | # ------------------------------------------------------------------ 19 | # Copy Android SDK JAR to destination. 20 | # debug_green('Copying generated Android SDK JAR to destination ...') 21 | # copy_file('{0}/adjust-sdk-release.jar'.format(jar_in_dir), '{0}/adjust-android.jar'.format(jar_out_dir)) 22 | 23 | # ------------------------------------------------------------------ 24 | # Building Android SDK JAR in release mode. 25 | # debug_green('Building Android OAID plugin JAR in release mode ...') 26 | # gradle_make_oaid_jar_release() 27 | 28 | # ------------------------------------------------------------------ 29 | # Copy Android OAID plugin JAR to destination. 30 | # debug_green('Copying generated Android OAID plugin JAR to destination ...') 31 | # copy_file('{0}/sdk-plugin-oaid.jar'.format(jar_in_dir_oaid), '{0}/adjust-android-oaid.jar'.format(jar_out_dir_oaid)) 32 | 33 | if with_test_lib: 34 | # ------------------------------------------------------------------ 35 | # Paths. 36 | set_log_tag('ANDROID-TEST-LIB-BUILD') 37 | debug_green('Building Test Library started ...') 38 | test_library_in_dir = '{0}/tests/test-library/build/outputs/aar'.format(src_dir) 39 | test_options_in_dir = '{0}/tests/test-options/build/outputs/aar'.format(src_dir) 40 | test_unity_out_dir = '{0}/Assets/Test/Native/Android'.format(root_dir) 41 | 42 | # ------------------------------------------------------------------ 43 | # Building Android test library AAR in debug mode. 44 | debug_green('Building Adjust test library AAR in debug mode ...') 45 | gradle_make_test_library_aar_debug() 46 | 47 | # ------------------------------------------------------------------ 48 | # Copy Android test library AAR from to destination. 49 | debug_green('Copying generated Android test library AAR from {0} to {1} ...'.format(test_library_in_dir, test_unity_out_dir)) 50 | copy_file('{0}/test-library-debug.aar'.format(test_library_in_dir), '{0}/adjust-test-library.aar'.format(test_unity_out_dir)) 51 | 52 | # ------------------------------------------------------------------ 53 | # Building Android test options AAR in debug mode. 54 | debug_green('Building Adjust test options AAR in debug mode ...') 55 | gradle_make_test_options_aar_debug() 56 | 57 | # ------------------------------------------------------------------ 58 | # Copy Android test options AAR from to destination. 59 | debug_green('Copying generated Android test options AAR from {0} to {1} ...'.format(test_options_in_dir, test_unity_out_dir)) 60 | copy_file('{0}/test-options-debug.aar'.format(test_options_in_dir), '{0}/adjust-test-options.aar'.format(test_unity_out_dir)) 61 | -------------------------------------------------------------------------------- /scripts/build_sdk_ios.py: -------------------------------------------------------------------------------- 1 | from scripting_utils import * 2 | 3 | def build(root_dir, ios_submodule_dir, with_test_lib): 4 | # ------------------------------------------------------------------ 5 | # Paths. 6 | src_dir = '{0}/sdk'.format(ios_submodule_dir) 7 | # lib_out_dir = '{0}/Assets/Adjust/iOS'.format(root_dir) 8 | lib_out_dir_test = '{0}/Assets/Test/Native/iOS'.format(root_dir) 9 | # sdk_static_framework = '{0}/Frameworks/Static/AdjustSdk.framework'.format(src_dir) 10 | 11 | # ------------------------------------------------------------------ 12 | # Build AdjustStatic framework target. 13 | # debug_green('Building AdjustStatic framework target ...') 14 | # change_dir(src_dir) 15 | # xcode_build_release('AdjustStatic') 16 | # copy_file(sdk_static_framework + '/Versions/A/AdjustSdk', lib_out_dir + '/AdjustSdk.a') 17 | # copy_files('*', sdk_static_framework + '/Versions/A/Headers/', lib_out_dir) 18 | 19 | if with_test_lib: 20 | # ------------------------------------------------------------------ 21 | # Paths. 22 | test_static_framework = '{0}/sdk_distribution/test-static-framework/AdjustTestLibrary.framework'.format(src_dir) 23 | 24 | # ------------------------------------------------------------------ 25 | # Build AdjustTestLibraryStatic framework target. 26 | set_log_tag('IOS-TEST-LIB-BUILD') 27 | debug_green('Building Test Library started ...') 28 | change_dir('{0}/AdjustTests/AdjustTestLibrary'.format(src_dir)) 29 | xcode_build_debug('AdjustTestLibraryStatic') 30 | copy_file(test_static_framework + '/Versions/A/AdjustTestLibrary', lib_out_dir_test + '/AdjustTestLibrary.a') 31 | copy_files('*', test_static_framework + '/Versions/A/Headers/', lib_out_dir_test) 32 | -------------------------------------------------------------------------------- /scripts/build_sdk_windows.py: -------------------------------------------------------------------------------- 1 | from scripting_utils import * 2 | 3 | def build(root_dir, windows_submodule_dir): 4 | # ------------------------------------------------------------------ 5 | # paths 6 | lib_out_dir = '{0}/Assets/Adjust/Windows'.format(root_dir) 7 | bridge_dlls_dir = '{0}/bridge/adjust-dlls'.format(windows_submodule_dir) 8 | bridge_release_dlls_dir = '{0}/bridge/release'.format(windows_submodule_dir) 9 | windows_sdk_dir = '{0}/sdk'.format(windows_submodule_dir) 10 | 11 | recreate_dir(bridge_dlls_dir) 12 | 13 | # ------------------------------------------------------------------ 14 | # Restoring Adjust SDK Nuget Packages 15 | debug_green('Restoring Adjust SDK Nuget Packages ...') 16 | nuget_restore('{0}/sdk/Adjust'.format(windows_submodule_dir)) 17 | 18 | # ------------------------------------------------------------------ 19 | # Making the Adjust SDK DLLs 20 | debug_green('Making the Adjust SDK DLLs ...') 21 | devenv_build('{0}/sdk/Adjust/Adjust.sln'.format(windows_submodule_dir), 'Debug') 22 | 23 | # ------------------------------------------------------------------ 24 | # Copying needed Adjust SDK DLLs 25 | debug_green('Copying needed Adjust SDK DLLs ...') 26 | copy_file(windows_sdk_dir + '/WindowsPcl/bin/Debug/WindowsPcl.dll', bridge_dlls_dir + '/WindowsPcl.dll') 27 | copy_file(windows_sdk_dir + '/WindowsUap/bin/Debug/WindowsUap.dll', bridge_dlls_dir + '/WindowsUap.dll') 28 | copy_file(windows_sdk_dir + '/WindowsUAP10/bin/Debug/AdjustUAP10.dll', bridge_dlls_dir + '/AdjustUAP10.dll') 29 | copy_file(windows_sdk_dir + '/WindowsStore/bin/Debug/AdjustWS.dll', bridge_dlls_dir + '/AdjustWS.dll') 30 | copy_file(windows_sdk_dir + '/WindowsPhone81/bin/Debug/AdjustWP81.dll', bridge_dlls_dir + '/AdjustWP81.dll') 31 | copy_file(windows_sdk_dir + '/IntegrationTesting/TestLibrary/bin/Debug/TestLibrary.dll', bridge_dlls_dir + '/TestLibrary.dll') 32 | 33 | # ------------------------------------------------------------------ 34 | # Restoring the bridge Nuget Packages 35 | debug_green('Restoring the bridge Nuget Packages ...') 36 | nuget_restore('{0}/bridge/WinSdkUnityBridge/WinSdkUnityBridge.sln'.format(windows_submodule_dir)) 37 | 38 | # ------------------------------------------------------------------ 39 | # Making the bridge (stubs and interfaces) 40 | debug_green('Making the bridge (stubs and interfaces) ...') 41 | devenv_build('{0}/bridge/WinSdkUnityBridge/WinSdkUnityBridge.sln'.format(windows_submodule_dir)) 42 | 43 | # ------------------------------------------------------------------ 44 | # At this point, we have stubs and interfaces DLLs in ".\bridge\release" folder 45 | copy_file(bridge_release_dlls_dir + '/WindowsPcl.dll', lib_out_dir + '/WindowsPcl.dll') 46 | copy_file(bridge_release_dlls_dir + '/WindowsUap.dll', lib_out_dir + '/WindowsUap.dll') 47 | # stubs 48 | copy_file(bridge_release_dlls_dir + '/stubs/Win10Interface.dll', lib_out_dir + '/Stubs/Win10Interface.dll') 49 | copy_file(bridge_release_dlls_dir + '/stubs/Win81Interface.dll', lib_out_dir + '/Stubs/Win81Interface.dll') 50 | copy_file(bridge_release_dlls_dir + '/stubs/WinWsInterface.dll', lib_out_dir + '/Stubs/WinWsInterface.dll') 51 | copy_file(bridge_release_dlls_dir + '/stubs/TestLibraryInterface.dll', lib_out_dir + '/Stubs/TestLibraryInterface.dll') 52 | # WU10 53 | copy_file(bridge_release_dlls_dir + '/Win10Interface.dll', lib_out_dir + '/WU10/Win10Interface.dll') 54 | copy_file(bridge_release_dlls_dir + '/AdjustUAP10.dll', lib_out_dir + '/WU10/AdjustUAP10.dll') 55 | # WP 8.1 56 | copy_file(bridge_release_dlls_dir + '/Win81Interface.dll', lib_out_dir + '/W81/Win81Interface.dll') 57 | copy_file(bridge_release_dlls_dir + '/AdjustWP81.dll', lib_out_dir + '/W81/AdjustWP81.dll') 58 | # WP WS 59 | copy_file(bridge_release_dlls_dir + '/WinWsInterface.dll', lib_out_dir + '/WS/WinWsInterface.dll') 60 | copy_file(bridge_release_dlls_dir + '/AdjustWS.dll', lib_out_dir + '/WS/AdjustWS.dll') 61 | # Test Library 62 | copy_file(bridge_release_dlls_dir + '/TestLibrary.dll', lib_out_dir + '/Test/TestLibrary.dll') 63 | copy_file(bridge_release_dlls_dir + '/TestLibraryInterface.dll', lib_out_dir + '/Test/TestLibraryInterface.dll') 64 | 65 | # ------------------------------------------------------------------ 66 | # Remove used unnecessary files 67 | remove_dir_if_exists(bridge_dlls_dir) 68 | remove_dir_if_exists(bridge_release_dlls_dir) 69 | --------------------------------------------------------------------------------