首次提交
This commit is contained in:
+63
@@ -0,0 +1,63 @@
|
||||
# ---> AL
|
||||
.vscode/*
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/extensions.json
|
||||
*.code-workspace
|
||||
|
||||
# Local History for Visual Studio Code
|
||||
.history/
|
||||
*.app
|
||||
.snapshots/*
|
||||
|
||||
/Library
|
||||
/Logs
|
||||
/.vs/Crazy screws/FileContentIndex/*.vsidx
|
||||
/.vs/Crazy screws/v17/*.suo
|
||||
/*.csproj
|
||||
/*.vsconfig
|
||||
/obj/Debug/*.cache
|
||||
/.vs/ScrewsMaster/FileContentIndex/*.vsidx
|
||||
UserSettings/Search.settings
|
||||
UserSettings/EditorUserSettings.asset
|
||||
Temp/workerlic
|
||||
Temp/UnityLockfile
|
||||
Temp/FSTimeGet-158b49c4c882f4b7da2e46f692b474e2
|
||||
ScrewsMaster.sln
|
||||
ProjectSettings/ProjectVersion.txt
|
||||
ProjectSettings/PackageManagerSettings.asset
|
||||
Packages/packages-lock.json
|
||||
Assets/PlayServicesResolver/Editor/play-services-resolver_v1.2.137.0.txt.meta
|
||||
Assets/PlayServicesResolver/Editor/play-services-resolver_v1.2.137.0.txt
|
||||
Assets/PlayServicesResolver/Editor.meta
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.VersionHandlerImpl.pdb.meta
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.PackageManagerResolver.pdb.meta
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.PackageManagerResolver.dll.meta
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.JarResolver.pdb.meta
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.JarResolver.dll.meta
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.pdb.meta
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.dll.meta
|
||||
.vscode/settings.json
|
||||
.vscode/launch.json
|
||||
.vscode/extensions.json
|
||||
ProjectSettings/ProjectVersion.txt
|
||||
ProjectSettings/PackageManagerSettings.asset
|
||||
Packages/packages-lock.json
|
||||
Assets/PlayServicesResolver/Editor/play-services-resolver_v1.2.137.0.txt.meta
|
||||
Assets/PlayServicesResolver/Editor/play-services-resolver_v1.2.137.0.txt
|
||||
Assets/PlayServicesResolver/Editor.meta
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.VersionHandlerImpl.pdb.meta
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.PackageManagerResolver.pdb.meta
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.PackageManagerResolver.dll.meta
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.JarResolver.pdb.meta
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.JarResolver.dll.meta
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.pdb.meta
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.dll.meta
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.dll.meta
|
||||
Packages/packages-lock.json
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.pdb.meta
|
||||
Assets/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.dll.meta
|
||||
/Temp
|
||||
/Assets/ExternalDependencyManager
|
||||
/UserSettings/Layouts
|
||||
Vendored
BIN
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6f8175bbb5b26b14f982da1bcd23229f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,48 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-2511651892639483336
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 2
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 536372c49e1ca914d822849d36de938c, type: 3}
|
||||
m_Name: Android Providers
|
||||
m_EditorClassIdentifier:
|
||||
m_AutomaticLoading: 0
|
||||
m_AutomaticRunning: 0
|
||||
m_Loaders:
|
||||
- {fileID: 11400000, guid: e53772c2b37b72d46ba5a580ba9e02c2, type: 2}
|
||||
- {fileID: 11400000, guid: fafcd1dd02e5dee428bddffa0706eff3, type: 2}
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 2
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: cb0ece14d1f711a4fb9325ca819dee95, type: 3}
|
||||
m_Name: AdaptivePerformanceGeneralSettings
|
||||
m_EditorClassIdentifier:
|
||||
Keys: 07000000
|
||||
Values:
|
||||
- {fileID: 676180384865288505}
|
||||
--- !u!114 &676180384865288505
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 2
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 179fc3111e144bc4688dca4038b3265d, type: 3}
|
||||
m_Name: Android Settings
|
||||
m_EditorClassIdentifier:
|
||||
m_LoaderManagerInstance: {fileID: -2511651892639483336}
|
||||
m_InitManagerOnStart: 1
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 503becd897ac82e4c85e42405210e889
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 268961098cbaab14385cdbbc5bec8e8f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,14 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 2
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7f64f689317e344bd94dad777079b3bb, type: 3}
|
||||
m_Name: Google Android Provider Loader
|
||||
m_EditorClassIdentifier:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e53772c2b37b72d46ba5a580ba9e02c2
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,14 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 2
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 12368ffd90e3c4ac4889486ab7b2aa78, type: 3}
|
||||
m_Name: Samsung Android Provider Loader
|
||||
m_EditorClassIdentifier:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fafcd1dd02e5dee428bddffa0706eff3
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7e0834b3dfd4f094ab19b12c819cd999
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,316 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 2
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 19bedd638b17440c6934f09de14d81c5, type: 3}
|
||||
m_Name: Google Android Provider Settings
|
||||
m_EditorClassIdentifier:
|
||||
m_Logging: 1
|
||||
m_AutomaticPerformanceModeEnabled: 1
|
||||
m_EnableBoostOnStartup: 1
|
||||
m_StatsLoggingFrequencyInFrames: 50
|
||||
m_IndexerSettings:
|
||||
m_Active: 1
|
||||
m_ThermalActionDelay: 10
|
||||
m_PerformanceActionDelay: 4
|
||||
m_ScalerSettings:
|
||||
m_AdaptiveFramerate:
|
||||
m_Name: Adaptive Framerate
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 7
|
||||
m_MaxLevel: 45
|
||||
m_MinBound: 15
|
||||
m_MaxBound: 60
|
||||
m_AdaptiveResolution:
|
||||
m_Name: Adaptive Resolution
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 6
|
||||
m_MaxLevel: 9
|
||||
m_MinBound: 0.5
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveBatching:
|
||||
m_Name: Adaptive Batching
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLOD:
|
||||
m_Name: Adaptive LOD
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.4
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLut:
|
||||
m_Name: Adaptive Lut
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 3
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveMSAA:
|
||||
m_Name: Adaptive MSAA
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 6
|
||||
m_MaxLevel: 2
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowCascade:
|
||||
m_Name: Adaptive Shadow Cascade
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 3
|
||||
m_MaxLevel: 2
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowDistance:
|
||||
m_Name: Adaptive Shadow Distance
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.15
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowmapResolution:
|
||||
m_Name: Adaptive Shadowmap Resolution
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.15
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowQuality:
|
||||
m_Name: Adaptive Shadow Quality
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 3
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveSorting:
|
||||
m_Name: Adaptive Sorting
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveTransparency:
|
||||
m_Name: Adaptive Transparency
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveViewDistance:
|
||||
m_Name: Adaptive View Distance
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 40
|
||||
m_MinBound: 50
|
||||
m_MaxBound: 1000
|
||||
m_AdaptivePhysics:
|
||||
m_Name: Adaptive Physics
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 1
|
||||
m_MaxLevel: 5
|
||||
m_MinBound: 0.5
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveDecals:
|
||||
m_Name: Adaptive Decals
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 2
|
||||
m_MaxLevel: 20
|
||||
m_MinBound: 0.01
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLayerCulling:
|
||||
m_Name: Adaptive Layer Culling
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 40
|
||||
m_MinBound: 0.01
|
||||
m_MaxBound: 1
|
||||
m_scalerProfileList:
|
||||
- m_AdaptiveFramerate:
|
||||
m_Name: Adaptive Framerate
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 7
|
||||
m_MaxLevel: 45
|
||||
m_MinBound: 15
|
||||
m_MaxBound: 60
|
||||
m_AdaptiveResolution:
|
||||
m_Name: Adaptive Resolution
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 6
|
||||
m_MaxLevel: 9
|
||||
m_MinBound: 0.5
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveBatching:
|
||||
m_Name: Adaptive Batching
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLOD:
|
||||
m_Name: Adaptive LOD
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.4
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLut:
|
||||
m_Name: Adaptive Lut
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 3
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveMSAA:
|
||||
m_Name: Adaptive MSAA
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 6
|
||||
m_MaxLevel: 2
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowCascade:
|
||||
m_Name: Adaptive Shadow Cascade
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 3
|
||||
m_MaxLevel: 2
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowDistance:
|
||||
m_Name: Adaptive Shadow Distance
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.15
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowmapResolution:
|
||||
m_Name: Adaptive Shadowmap Resolution
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.15
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowQuality:
|
||||
m_Name: Adaptive Shadow Quality
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 3
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveSorting:
|
||||
m_Name: Adaptive Sorting
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveTransparency:
|
||||
m_Name: Adaptive Transparency
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveViewDistance:
|
||||
m_Name: Adaptive View Distance
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 40
|
||||
m_MinBound: 50
|
||||
m_MaxBound: 1000
|
||||
m_AdaptivePhysics:
|
||||
m_Name: Adaptive Physics
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 1
|
||||
m_MaxLevel: 5
|
||||
m_MinBound: 0.5
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveDecals:
|
||||
m_Name: Adaptive Decals
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 2
|
||||
m_MaxLevel: 20
|
||||
m_MinBound: 0.01
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLayerCulling:
|
||||
m_Name: Adaptive Layer Culling
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 40
|
||||
m_MinBound: 0.01
|
||||
m_MaxBound: 1
|
||||
m_Name: Default Scaler Profile
|
||||
m_DefaultScalerProfilerIndex: 0
|
||||
k_AssetVersion: 2
|
||||
m_GoogleProviderLogging: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2f9255049e834c642a34ed9890be0bd6
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,318 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 2
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 02a364304553d4fe797810bd5c88f9d8, type: 3}
|
||||
m_Name: Samsung Android Provider Settings
|
||||
m_EditorClassIdentifier:
|
||||
m_Logging: 1
|
||||
m_AutomaticPerformanceModeEnabled: 1
|
||||
m_EnableBoostOnStartup: 1
|
||||
m_StatsLoggingFrequencyInFrames: 50
|
||||
m_IndexerSettings:
|
||||
m_Active: 1
|
||||
m_ThermalActionDelay: 10
|
||||
m_PerformanceActionDelay: 4
|
||||
m_ScalerSettings:
|
||||
m_AdaptiveFramerate:
|
||||
m_Name: Adaptive Framerate
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 7
|
||||
m_MaxLevel: 45
|
||||
m_MinBound: 15
|
||||
m_MaxBound: 60
|
||||
m_AdaptiveResolution:
|
||||
m_Name: Adaptive Resolution
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 6
|
||||
m_MaxLevel: 9
|
||||
m_MinBound: 0.5
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveBatching:
|
||||
m_Name: Adaptive Batching
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLOD:
|
||||
m_Name: Adaptive LOD
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.4
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLut:
|
||||
m_Name: Adaptive Lut
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 3
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveMSAA:
|
||||
m_Name: Adaptive MSAA
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 6
|
||||
m_MaxLevel: 2
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowCascade:
|
||||
m_Name: Adaptive Shadow Cascade
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 3
|
||||
m_MaxLevel: 2
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowDistance:
|
||||
m_Name: Adaptive Shadow Distance
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.15
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowmapResolution:
|
||||
m_Name: Adaptive Shadowmap Resolution
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.15
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowQuality:
|
||||
m_Name: Adaptive Shadow Quality
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 3
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveSorting:
|
||||
m_Name: Adaptive Sorting
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveTransparency:
|
||||
m_Name: Adaptive Transparency
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveViewDistance:
|
||||
m_Name: Adaptive View Distance
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 40
|
||||
m_MinBound: 50
|
||||
m_MaxBound: 1000
|
||||
m_AdaptivePhysics:
|
||||
m_Name: Adaptive Physics
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 1
|
||||
m_MaxLevel: 5
|
||||
m_MinBound: 0.5
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveDecals:
|
||||
m_Name: Adaptive Decals
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 2
|
||||
m_MaxLevel: 20
|
||||
m_MinBound: 0.01
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLayerCulling:
|
||||
m_Name: Adaptive Layer Culling
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 40
|
||||
m_MinBound: 0.01
|
||||
m_MaxBound: 1
|
||||
m_scalerProfileList:
|
||||
- m_AdaptiveFramerate:
|
||||
m_Name: Adaptive Framerate
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 7
|
||||
m_MaxLevel: 45
|
||||
m_MinBound: 15
|
||||
m_MaxBound: 60
|
||||
m_AdaptiveResolution:
|
||||
m_Name: Adaptive Resolution
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 6
|
||||
m_MaxLevel: 9
|
||||
m_MinBound: 0.5
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveBatching:
|
||||
m_Name: Adaptive Batching
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLOD:
|
||||
m_Name: Adaptive LOD
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.4
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLut:
|
||||
m_Name: Adaptive Lut
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 3
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveMSAA:
|
||||
m_Name: Adaptive MSAA
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 6
|
||||
m_MaxLevel: 2
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowCascade:
|
||||
m_Name: Adaptive Shadow Cascade
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 3
|
||||
m_MaxLevel: 2
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowDistance:
|
||||
m_Name: Adaptive Shadow Distance
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.15
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowmapResolution:
|
||||
m_Name: Adaptive Shadowmap Resolution
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.15
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowQuality:
|
||||
m_Name: Adaptive Shadow Quality
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 3
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveSorting:
|
||||
m_Name: Adaptive Sorting
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveTransparency:
|
||||
m_Name: Adaptive Transparency
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveViewDistance:
|
||||
m_Name: Adaptive View Distance
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 40
|
||||
m_MinBound: 50
|
||||
m_MaxBound: 1000
|
||||
m_AdaptivePhysics:
|
||||
m_Name: Adaptive Physics
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 1
|
||||
m_MaxLevel: 5
|
||||
m_MinBound: 0.5
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveDecals:
|
||||
m_Name: Adaptive Decals
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 2
|
||||
m_MaxLevel: 20
|
||||
m_MinBound: 0.01
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLayerCulling:
|
||||
m_Name: Adaptive Layer Culling
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 40
|
||||
m_MinBound: 0.01
|
||||
m_MaxBound: 1
|
||||
m_Name: Default Scaler Profile
|
||||
m_DefaultScalerProfilerIndex: 0
|
||||
k_AssetVersion: 2
|
||||
m_SamsungProviderLogging: 0
|
||||
m_HighSpeedVRR: 0
|
||||
m_AutomaticVRR: 1
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f1dd90fcaad7acd4390f9a9092045f51
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,315 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 2
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b592865877cb54284a5d1d88aec9cfbb, type: 3}
|
||||
m_Name: Simulator Provider Settings
|
||||
m_EditorClassIdentifier:
|
||||
m_Logging: 1
|
||||
m_AutomaticPerformanceModeEnabled: 1
|
||||
m_EnableBoostOnStartup: 1
|
||||
m_StatsLoggingFrequencyInFrames: 50
|
||||
m_IndexerSettings:
|
||||
m_Active: 1
|
||||
m_ThermalActionDelay: 10
|
||||
m_PerformanceActionDelay: 4
|
||||
m_ScalerSettings:
|
||||
m_AdaptiveFramerate:
|
||||
m_Name: Adaptive Framerate
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 7
|
||||
m_MaxLevel: 45
|
||||
m_MinBound: 15
|
||||
m_MaxBound: 60
|
||||
m_AdaptiveResolution:
|
||||
m_Name: Adaptive Resolution
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 6
|
||||
m_MaxLevel: 9
|
||||
m_MinBound: 0.5
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveBatching:
|
||||
m_Name: Adaptive Batching
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLOD:
|
||||
m_Name: Adaptive LOD
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.4
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLut:
|
||||
m_Name: Adaptive Lut
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 3
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveMSAA:
|
||||
m_Name: Adaptive MSAA
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 6
|
||||
m_MaxLevel: 2
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowCascade:
|
||||
m_Name: Adaptive Shadow Cascade
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 3
|
||||
m_MaxLevel: 2
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowDistance:
|
||||
m_Name: Adaptive Shadow Distance
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.15
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowmapResolution:
|
||||
m_Name: Adaptive Shadowmap Resolution
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.15
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowQuality:
|
||||
m_Name: Adaptive Shadow Quality
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 3
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveSorting:
|
||||
m_Name: Adaptive Sorting
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveTransparency:
|
||||
m_Name: Adaptive Transparency
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveViewDistance:
|
||||
m_Name: Adaptive View Distance
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 40
|
||||
m_MinBound: 50
|
||||
m_MaxBound: 1000
|
||||
m_AdaptivePhysics:
|
||||
m_Name: Adaptive Physics
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 1
|
||||
m_MaxLevel: 5
|
||||
m_MinBound: 0.5
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveDecals:
|
||||
m_Name: Adaptive Decals
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 2
|
||||
m_MaxLevel: 20
|
||||
m_MinBound: 0.01
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLayerCulling:
|
||||
m_Name: Adaptive Layer Culling
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 40
|
||||
m_MinBound: 0.01
|
||||
m_MaxBound: 1
|
||||
m_scalerProfileList:
|
||||
- m_AdaptiveFramerate:
|
||||
m_Name: Adaptive Framerate
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 7
|
||||
m_MaxLevel: 45
|
||||
m_MinBound: 15
|
||||
m_MaxBound: 60
|
||||
m_AdaptiveResolution:
|
||||
m_Name: Adaptive Resolution
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 6
|
||||
m_MaxLevel: 9
|
||||
m_MinBound: 0.5
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveBatching:
|
||||
m_Name: Adaptive Batching
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLOD:
|
||||
m_Name: Adaptive LOD
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.4
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLut:
|
||||
m_Name: Adaptive Lut
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 3
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveMSAA:
|
||||
m_Name: Adaptive MSAA
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 6
|
||||
m_MaxLevel: 2
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowCascade:
|
||||
m_Name: Adaptive Shadow Cascade
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 3
|
||||
m_MaxLevel: 2
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowDistance:
|
||||
m_Name: Adaptive Shadow Distance
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.15
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowmapResolution:
|
||||
m_Name: Adaptive Shadowmap Resolution
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 2
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0.15
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveShadowQuality:
|
||||
m_Name: Adaptive Shadow Quality
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 3
|
||||
m_MaxLevel: 3
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveSorting:
|
||||
m_Name: Adaptive Sorting
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveTransparency:
|
||||
m_Name: Adaptive Transparency
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 1
|
||||
m_MinBound: 0
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveViewDistance:
|
||||
m_Name: Adaptive View Distance
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 2
|
||||
m_Target: 2
|
||||
m_MaxLevel: 40
|
||||
m_MinBound: 50
|
||||
m_MaxBound: 1000
|
||||
m_AdaptivePhysics:
|
||||
m_Name: Adaptive Physics
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 0
|
||||
m_Target: 1
|
||||
m_MaxLevel: 5
|
||||
m_MinBound: 0.5
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveDecals:
|
||||
m_Name: Adaptive Decals
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 2
|
||||
m_MaxLevel: 20
|
||||
m_MinBound: 0.01
|
||||
m_MaxBound: 1
|
||||
m_AdaptiveLayerCulling:
|
||||
m_Name: Adaptive Layer Culling
|
||||
m_Enabled: 0
|
||||
m_Scale: 1
|
||||
m_VisualImpact: 1
|
||||
m_Target: 1
|
||||
m_MaxLevel: 40
|
||||
m_MinBound: 0.01
|
||||
m_MaxBound: 1
|
||||
m_Name: Default Scaler Profile
|
||||
m_DefaultScalerProfilerIndex: 0
|
||||
k_AssetVersion: 2
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b9da72ca4bc391c459de173bc9bb740f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a43074c61e7cd2744a4d7cdebde0aa32
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,109 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 468a46d0ae32c3544b7d98094e6448a9, type: 3}
|
||||
m_Name: AddressableAssetSettings
|
||||
m_EditorClassIdentifier:
|
||||
m_DefaultGroup: 5d047487addee0649ac8829632be0676
|
||||
m_currentHash:
|
||||
serializedVersion: 2
|
||||
Hash: 25b892d65a1d75f2c14eb8678a5875bb
|
||||
m_OptimizeCatalogSize: 0
|
||||
m_BuildRemoteCatalog: 0
|
||||
m_BundleLocalCatalog: 0
|
||||
m_CatalogRequestsTimeout: 0
|
||||
m_DisableCatalogUpdateOnStart: 0
|
||||
m_IgnoreUnsupportedFilesInBuild: 0
|
||||
m_UniqueBundleIds: 0
|
||||
m_NonRecursiveBuilding: 1
|
||||
m_CCDEnabled: 0
|
||||
m_maxConcurrentWebRequests: 3
|
||||
m_ContiguousBundles: 1
|
||||
m_StripUnityVersionFromBundleBuild: 0
|
||||
m_DisableVisibleSubAssetRepresentations: 0
|
||||
m_ShaderBundleNaming: 0
|
||||
m_ShaderBundleCustomNaming:
|
||||
m_MonoScriptBundleNaming: 0
|
||||
m_CheckForContentUpdateRestrictionsOption: 0
|
||||
m_MonoScriptBundleCustomNaming:
|
||||
m_RemoteCatalogBuildPath:
|
||||
m_Id:
|
||||
m_RemoteCatalogLoadPath:
|
||||
m_Id:
|
||||
m_ContentStateBuildPathProfileVariableName: <default settings path>
|
||||
m_CustomContentStateBuildPath:
|
||||
m_ContentStateBuildPath:
|
||||
m_BuildAddressablesWithPlayerBuild: 0
|
||||
m_overridePlayerVersion: '[UnityEditor.PlayerSettings.bundleVersion]'
|
||||
m_GroupAssets:
|
||||
- {fileID: 11400000, guid: 927975840aac92b40984ab99b521bfe2, type: 2}
|
||||
- {fileID: 11400000, guid: eb308392fceb2d6468508538f61ec7af, type: 2}
|
||||
m_BuildSettings:
|
||||
m_CompileScriptsInVirtualMode: 0
|
||||
m_CleanupStreamingAssetsAfterBuilds: 1
|
||||
m_LogResourceManagerExceptions: 1
|
||||
m_BundleBuildPath: Temp/com.unity.addressables/AssetBundles
|
||||
m_ProfileSettings:
|
||||
m_Profiles:
|
||||
- m_InheritedParent:
|
||||
m_Id: e903a453b05f8104fa5aef1d8e879695
|
||||
m_ProfileName: Default
|
||||
m_Values:
|
||||
- m_Id: 62e79c1e07d89d0428f937528f1c4801
|
||||
m_Value: '[UnityEditor.EditorUserBuildSettings.activeBuildTarget]'
|
||||
- m_Id: ed2d85858da9a754bbea005ed7914454
|
||||
m_Value: '[UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget]'
|
||||
- m_Id: ec93ed4c7f7766144ac93f6ff35b650c
|
||||
m_Value: '{UnityEngine.AddressableAssets.Addressables.RuntimePath}/[BuildTarget]'
|
||||
- m_Id: c21aeabe8e5097d46893180692def07a
|
||||
m_Value: ServerData/[BuildTarget]
|
||||
- m_Id: 87eddab52a67612499717764668b2c9c
|
||||
m_Value: http://[PrivateIpAddress]:[HostingServicePort]
|
||||
m_ProfileEntryNames:
|
||||
- m_Id: 62e79c1e07d89d0428f937528f1c4801
|
||||
m_Name: BuildTarget
|
||||
m_InlineUsage: 0
|
||||
- m_Id: ed2d85858da9a754bbea005ed7914454
|
||||
m_Name: Local.BuildPath
|
||||
m_InlineUsage: 0
|
||||
- m_Id: ec93ed4c7f7766144ac93f6ff35b650c
|
||||
m_Name: Local.LoadPath
|
||||
m_InlineUsage: 0
|
||||
- m_Id: c21aeabe8e5097d46893180692def07a
|
||||
m_Name: Remote.BuildPath
|
||||
m_InlineUsage: 0
|
||||
- m_Id: 87eddab52a67612499717764668b2c9c
|
||||
m_Name: Remote.LoadPath
|
||||
m_InlineUsage: 0
|
||||
m_ProfileVersion: 1
|
||||
m_LabelTable:
|
||||
m_LabelNames:
|
||||
- config
|
||||
m_SchemaTemplates: []
|
||||
m_GroupTemplateObjects:
|
||||
- {fileID: 11400000, guid: fb02c9e8227032348bab7686d089e83c, type: 2}
|
||||
m_InitializationObjects: []
|
||||
m_CertificateHandlerType:
|
||||
m_AssemblyName:
|
||||
m_ClassName:
|
||||
m_ActivePlayerDataBuilderIndex: 3
|
||||
m_DataBuilders:
|
||||
- {fileID: 11400000, guid: 914464090befcec4bb7a3b974ae8af6f, type: 2}
|
||||
- {fileID: 11400000, guid: 60115c373d5134847a58b415a0ad0cb8, type: 2}
|
||||
- {fileID: 11400000, guid: fb6601cebde001e47a401edd0ce7e086, type: 2}
|
||||
- {fileID: 11400000, guid: c5b680bf794610d49b8497cccf38f502, type: 2}
|
||||
m_ActiveProfileId: e903a453b05f8104fa5aef1d8e879695
|
||||
m_HostingServicesManager:
|
||||
m_HostingServiceInfos: []
|
||||
m_Settings: {fileID: 11400000}
|
||||
m_NextInstanceId: 0
|
||||
m_RegisteredServiceTypeRefs: []
|
||||
m_PingTimeoutInMilliseconds: 5000
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e4635826e7c48e841b2c1bfaf67911b4
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 55be96c8ba4e01041a0ed7f2aaff9b7c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a603977311abc6349a1cfa7c4357042b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 69e63d84f990c6d489257027617abcf7
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,76 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-8268349710405424442
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3}
|
||||
m_Name: ContentUpdateGroupSchema
|
||||
m_EditorClassIdentifier:
|
||||
m_Group: {fileID: 0}
|
||||
m_StaticContent: 0
|
||||
--- !u!114 &-1758526770184641408
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3}
|
||||
m_Name: BundledAssetGroupSchema
|
||||
m_EditorClassIdentifier:
|
||||
m_Group: {fileID: 0}
|
||||
m_InternalBundleIdMode: 1
|
||||
m_Compression: 1
|
||||
m_IncludeAddressInCatalog: 1
|
||||
m_IncludeGUIDInCatalog: 1
|
||||
m_IncludeLabelsInCatalog: 1
|
||||
m_InternalIdNamingMode: 0
|
||||
m_CacheClearBehavior: 0
|
||||
m_IncludeInBuild: 1
|
||||
m_BundledAssetProviderType:
|
||||
m_AssemblyName:
|
||||
m_ClassName:
|
||||
m_ForceUniqueProvider: 0
|
||||
m_UseAssetBundleCache: 1
|
||||
m_UseAssetBundleCrc: 1
|
||||
m_UseAssetBundleCrcForCachedBundles: 1
|
||||
m_UseUWRForLocalBundles: 0
|
||||
m_Timeout: 0
|
||||
m_ChunkedTransfer: 0
|
||||
m_RedirectLimit: -1
|
||||
m_RetryCount: 0
|
||||
m_BuildPath:
|
||||
m_Id:
|
||||
m_LoadPath:
|
||||
m_Id:
|
||||
m_BundleMode: 0
|
||||
m_AssetBundleProviderType:
|
||||
m_AssemblyName:
|
||||
m_ClassName:
|
||||
m_BundleNaming: 0
|
||||
m_AssetLoadMode: 0
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1a3c5d64ac83548c09dd1678b9f6f1cd, type: 3}
|
||||
m_Name: Packed Assets
|
||||
m_EditorClassIdentifier:
|
||||
m_SchemaObjects:
|
||||
- {fileID: -1758526770184641408}
|
||||
- {fileID: -8268349710405424442}
|
||||
m_Description: Pack assets into asset bundles.
|
||||
m_Settings: {fileID: 11400000, guid: e4635826e7c48e841b2c1bfaf67911b4, type: 2}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fb02c9e8227032348bab7686d089e83c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 78bcadb097a47a14fa6adbdc3775051b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,34 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bbb281ee3bf0b054c82ac2347e9e782c, type: 3}
|
||||
m_Name: Built In Data
|
||||
m_EditorClassIdentifier:
|
||||
m_GroupName: Built In Data
|
||||
m_Data:
|
||||
m_SerializedData: []
|
||||
m_GUID: f136500d745b6754b86d4acd9dabbaaa
|
||||
m_SerializeEntries:
|
||||
- m_GUID: Resources
|
||||
m_Address: Resources
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: EditorSceneList
|
||||
m_Address: EditorSceneList
|
||||
m_ReadOnly: 1
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
m_ReadOnly: 1
|
||||
m_Settings: {fileID: 11400000, guid: e4635826e7c48e841b2c1bfaf67911b4, type: 2}
|
||||
m_SchemaSet:
|
||||
m_Schemas:
|
||||
- {fileID: 11400000, guid: dc54a5c33f441e0438b553eb631f1ad3, type: 2}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 927975840aac92b40984ab99b521bfe2
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,31 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bbb281ee3bf0b054c82ac2347e9e782c, type: 3}
|
||||
m_Name: Default Local Group
|
||||
m_EditorClassIdentifier:
|
||||
m_GroupName: Default Local Group
|
||||
m_Data:
|
||||
m_SerializedData: []
|
||||
m_GUID: 5d047487addee0649ac8829632be0676
|
||||
m_SerializeEntries:
|
||||
- m_GUID: c1a09420c1d944149b93170add8b91e4
|
||||
m_Address: Assets/Configs
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- config
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
m_ReadOnly: 0
|
||||
m_Settings: {fileID: 11400000, guid: e4635826e7c48e841b2c1bfaf67911b4, type: 2}
|
||||
m_SchemaSet:
|
||||
m_Schemas:
|
||||
- {fileID: 11400000, guid: a24ab3f109405a14c8a84679c99f458c, type: 2}
|
||||
- {fileID: 11400000, guid: 7f5fc64834f066f45bfbeefa59100720, type: 2}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eb308392fceb2d6468508538f61ec7af
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8349bcbcf3830544cba29ead7d3d4308
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b1487f5d688e4f94f828f879d599dbdc, type: 3}
|
||||
m_Name: Built In Data_PlayerDataGroupSchema
|
||||
m_EditorClassIdentifier:
|
||||
m_Group: {fileID: 11400000, guid: 927975840aac92b40984ab99b521bfe2, type: 2}
|
||||
m_IncludeResourcesFolders: 1
|
||||
m_IncludeBuildSettingsScenes: 1
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dc54a5c33f441e0438b553eb631f1ad3
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3}
|
||||
m_Name: Default Local Group_BundledAssetGroupSchema
|
||||
m_EditorClassIdentifier:
|
||||
m_Group: {fileID: 11400000, guid: eb308392fceb2d6468508538f61ec7af, type: 2}
|
||||
m_InternalBundleIdMode: 1
|
||||
m_Compression: 1
|
||||
m_IncludeAddressInCatalog: 1
|
||||
m_IncludeGUIDInCatalog: 1
|
||||
m_IncludeLabelsInCatalog: 1
|
||||
m_InternalIdNamingMode: 0
|
||||
m_CacheClearBehavior: 0
|
||||
m_IncludeInBuild: 1
|
||||
m_BundledAssetProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider
|
||||
m_ForceUniqueProvider: 0
|
||||
m_UseAssetBundleCache: 1
|
||||
m_UseAssetBundleCrc: 1
|
||||
m_UseAssetBundleCrcForCachedBundles: 1
|
||||
m_UseUWRForLocalBundles: 0
|
||||
m_Timeout: 0
|
||||
m_ChunkedTransfer: 0
|
||||
m_RedirectLimit: -1
|
||||
m_RetryCount: 0
|
||||
m_BuildPath:
|
||||
m_Id: ed2d85858da9a754bbea005ed7914454
|
||||
m_LoadPath:
|
||||
m_Id: ec93ed4c7f7766144ac93f6ff35b650c
|
||||
m_BundleMode: 0
|
||||
m_AssetBundleProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider
|
||||
m_BundleNaming: 0
|
||||
m_AssetLoadMode: 0
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7f5fc64834f066f45bfbeefa59100720
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3}
|
||||
m_Name: Default Local Group_ContentUpdateGroupSchema
|
||||
m_EditorClassIdentifier:
|
||||
m_Group: {fileID: 11400000, guid: eb308392fceb2d6468508538f61ec7af, type: 2}
|
||||
m_StaticContent: 0
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a24ab3f109405a14c8a84679c99f458c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d578dfc5d32d2814489c28572fbc70f4
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,20 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 88d21199f5d473f4db36845f2318f180, type: 3}
|
||||
m_Name: BuildScriptFastMode
|
||||
m_EditorClassIdentifier:
|
||||
instanceProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider
|
||||
sceneProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 914464090befcec4bb7a3b974ae8af6f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,20 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3e2e0ffa088c91d41a086d0b8cb16bdc, type: 3}
|
||||
m_Name: BuildScriptPackedMode
|
||||
m_EditorClassIdentifier:
|
||||
instanceProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider
|
||||
sceneProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c5b680bf794610d49b8497cccf38f502
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,20 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ad8c280d42ee0ed41a27db23b43dd2bf, type: 3}
|
||||
m_Name: BuildScriptPackedPlayMode
|
||||
m_EditorClassIdentifier:
|
||||
instanceProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider
|
||||
sceneProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fb6601cebde001e47a401edd0ce7e086
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,20 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bb0e4994b34add1409fd8ccaf4a82de5, type: 3}
|
||||
m_Name: BuildScriptVirtualMode
|
||||
m_EditorClassIdentifier:
|
||||
instanceProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider
|
||||
sceneProviderType:
|
||||
m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 60115c373d5134847a58b415a0ad0cb8
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,15 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3a189bb168d8d90478a09ea08c2f3d72, type: 3}
|
||||
m_Name: DefaultObject
|
||||
m_EditorClassIdentifier:
|
||||
m_AddressableAssetSettingsGuid: e4635826e7c48e841b2c1bfaf67911b4
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 748083ea9e7d93645834ca69c3e18624
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,34 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7e3976da977cb49238499ea3b4c237ae, type: 3}
|
||||
m_Name: ProfileDataSourceSettings
|
||||
m_EditorClassIdentifier:
|
||||
profileGroupTypes:
|
||||
- m_GroupTypePrefix: Built-In
|
||||
m_Variables:
|
||||
- m_Suffix: BuildPath
|
||||
m_Value: '[UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget]'
|
||||
- m_Suffix: LoadPath
|
||||
m_Value: '{UnityEngine.AddressableAssets.Addressables.RuntimePath}/[BuildTarget]'
|
||||
- m_GroupTypePrefix: Editor Hosted
|
||||
m_Variables:
|
||||
- m_Suffix: BuildPath
|
||||
m_Value: ServerData/[BuildTarget]
|
||||
- m_Suffix: LoadPath
|
||||
m_Value: http://[PrivateIpAddress]:[HostingServicePort]
|
||||
environments: []
|
||||
currentEnvironment:
|
||||
id:
|
||||
projectId:
|
||||
projectGenesisId:
|
||||
name:
|
||||
isDefault: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 87b43b98bb305f8428c324abbfb6b549
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 70e01f7be97d86d429f4c81b3c85e800
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fa827dd8bf035af47b74ff5c54f4bda1
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b9fa183d82b44f6795290513d09d9522
|
||||
timeCreated: 1730188675
|
||||
@@ -0,0 +1,72 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
|
||||
public class AFInAppEvents {
|
||||
/**
|
||||
* Event Type
|
||||
* */
|
||||
public const string LEVEL_ACHIEVED = "af_level_achieved";
|
||||
public const string ADD_PAYMENT_INFO = "af_add_payment_info";
|
||||
public const string ADD_TO_CART = "af_add_to_cart";
|
||||
public const string ADD_TO_WISH_LIST = "af_add_to_wishlist";
|
||||
public const string COMPLETE_REGISTRATION = "af_complete_registration";
|
||||
public const string TUTORIAL_COMPLETION = "af_tutorial_completion";
|
||||
public const string INITIATED_CHECKOUT = "af_initiated_checkout";
|
||||
public const string PURCHASE = "af_purchase";
|
||||
public const string RATE = "af_rate";
|
||||
public const string SEARCH = "af_search";
|
||||
public const string SPENT_CREDIT = "af_spent_credits";
|
||||
public const string ACHIEVEMENT_UNLOCKED = "af_achievement_unlocked";
|
||||
public const string CONTENT_VIEW = "af_content_view";
|
||||
public const string TRAVEL_BOOKING = "af_travel_booking";
|
||||
public const string SHARE = "af_share";
|
||||
public const string INVITE = "af_invite";
|
||||
public const string LOGIN = "af_login";
|
||||
public const string RE_ENGAGE = "af_re_engage";
|
||||
public const string UPDATE = "af_update";
|
||||
public const string OPENED_FROM_PUSH_NOTIFICATION = "af_opened_from_push_notification";
|
||||
public const string LOCATION_CHANGED = "af_location_changed";
|
||||
public const string LOCATION_COORDINATES = "af_location_coordinates";
|
||||
public const string ORDER_ID = "af_order_id";
|
||||
/**
|
||||
* Event Parameter Name
|
||||
* **/
|
||||
public const string LEVEL = "af_level";
|
||||
public const string SCORE = "af_score";
|
||||
public const string SUCCESS = "af_success";
|
||||
public const string PRICE = "af_price";
|
||||
public const string CONTENT_TYPE = "af_content_type";
|
||||
public const string CONTENT_ID = "af_content_id";
|
||||
public const string CONTENT_LIST = "af_content_list";
|
||||
public const string CURRENCY = "af_currency";
|
||||
public const string QUANTITY = "af_quantity";
|
||||
public const string REGSITRATION_METHOD = "af_registration_method";
|
||||
public const string PAYMENT_INFO_AVAILIBLE = "af_payment_info_available";
|
||||
public const string MAX_RATING_VALUE = "af_max_rating_value";
|
||||
public const string RATING_VALUE = "af_rating_value";
|
||||
public const string SEARCH_STRING = "af_search_string";
|
||||
public const string DATE_A = "af_date_a";
|
||||
public const string DATE_B = "af_date_b";
|
||||
public const string DESTINATION_A = "af_destination_a";
|
||||
public const string DESTINATION_B = "af_destination_b";
|
||||
public const string DESCRIPTION = "af_description";
|
||||
public const string CLASS = "af_class";
|
||||
public const string EVENT_START = "af_event_start";
|
||||
public const string EVENT_END = "af_event_end";
|
||||
public const string LATITUDE = "af_lat";
|
||||
public const string LONGTITUDE = "af_long";
|
||||
public const string CUSTOMER_USER_ID = "af_customer_user_id";
|
||||
public const string VALIDATED = "af_validated";
|
||||
public const string REVENUE = "af_revenue";
|
||||
public const string RECEIPT_ID = "af_receipt_id";
|
||||
public const string PARAM_1 = "af_param_1";
|
||||
public const string PARAM_2 = "af_param_2";
|
||||
public const string PARAM_3 = "af_param_3";
|
||||
public const string PARAM_4 = "af_param_4";
|
||||
public const string PARAM_5 = "af_param_5";
|
||||
public const string PARAM_6 = "af_param_6";
|
||||
public const string PARAM_7 = "af_param_7";
|
||||
public const string PARAM_8 = "af_param_8";
|
||||
public const string PARAM_9 = "af_param_9";
|
||||
public const string PARAM_10 = "af_param_10";
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4075c6cf6f3d94b9a9f37f826e6a0e6f
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,547 @@
|
||||
/*
|
||||
* Copyright (c) 2013 Calvin Rien
|
||||
*
|
||||
* Based on the JSON parser by Patrick van Bergen
|
||||
* http://techblog.procurios.nl/k/618/news/view/14605/14863/How-do-I-write-my-own-parser-for-JSON.html
|
||||
*
|
||||
* Simplified it so that it doesn't throw exceptions
|
||||
* and can be used in Unity iPhone with maximum code stripping.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
|
||||
namespace AFMiniJSON {
|
||||
// Example usage:
|
||||
//
|
||||
// using UnityEngine;
|
||||
// using System.Collections;
|
||||
// using System.Collections.Generic;
|
||||
// using MiniJSON;
|
||||
//
|
||||
// public class MiniJSONTest : MonoBehaviour {
|
||||
// void Start () {
|
||||
// var jsonString = "{ \"array\": [1.44,2,3], " +
|
||||
// "\"object\": {\"key1\":\"value1\", \"key2\":256}, " +
|
||||
// "\"string\": \"The quick brown fox \\\"jumps\\\" over the lazy dog \", " +
|
||||
// "\"unicode\": \"\\u3041 Men\u00fa sesi\u00f3n\", " +
|
||||
// "\"int\": 65536, " +
|
||||
// "\"float\": 3.1415926, " +
|
||||
// "\"bool\": true, " +
|
||||
// "\"null\": null }";
|
||||
//
|
||||
// var dict = Json.Deserialize(jsonString) as Dictionary<string,object>;
|
||||
//
|
||||
// Debug.Log("deserialized: " + dict.GetType());
|
||||
// Debug.Log("dict['array'][0]: " + ((List<object>) dict["array"])[0]);
|
||||
// Debug.Log("dict['string']: " + (string) dict["string"]);
|
||||
// Debug.Log("dict['float']: " + (double) dict["float"]); // floats come out as doubles
|
||||
// Debug.Log("dict['int']: " + (long) dict["int"]); // ints come out as longs
|
||||
// Debug.Log("dict['unicode']: " + (string) dict["unicode"]);
|
||||
//
|
||||
// var str = Json.Serialize(dict);
|
||||
//
|
||||
// Debug.Log("serialized: " + str);
|
||||
// }
|
||||
// }
|
||||
|
||||
/// <summary>
|
||||
/// This class encodes and decodes JSON strings.
|
||||
/// Spec. details, see http://www.json.org/
|
||||
///
|
||||
/// JSON uses Arrays and Objects. These correspond here to the datatypes IList and IDictionary.
|
||||
/// All numbers are parsed to doubles.
|
||||
/// </summary>
|
||||
public static class Json {
|
||||
/// <summary>
|
||||
/// Parses the string json into a value
|
||||
/// </summary>
|
||||
/// <param name="json">A JSON string.</param>
|
||||
/// <returns>An List<object>, a Dictionary<string, object>, a double, an integer,a string, null, true, or false</returns>
|
||||
public static object Deserialize(string json) {
|
||||
// save the string for debug information
|
||||
if (json == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return Parser.Parse(json);
|
||||
}
|
||||
|
||||
sealed class Parser : IDisposable {
|
||||
const string WORD_BREAK = "{}[],:\"";
|
||||
|
||||
public static bool IsWordBreak(char c) {
|
||||
return Char.IsWhiteSpace(c) || WORD_BREAK.IndexOf(c) != -1;
|
||||
}
|
||||
|
||||
enum TOKEN {
|
||||
NONE,
|
||||
CURLY_OPEN,
|
||||
CURLY_CLOSE,
|
||||
SQUARED_OPEN,
|
||||
SQUARED_CLOSE,
|
||||
COLON,
|
||||
COMMA,
|
||||
STRING,
|
||||
NUMBER,
|
||||
TRUE,
|
||||
FALSE,
|
||||
NULL
|
||||
};
|
||||
|
||||
StringReader json;
|
||||
|
||||
Parser(string jsonString) {
|
||||
json = new StringReader(jsonString);
|
||||
}
|
||||
|
||||
public static object Parse(string jsonString) {
|
||||
using (var instance = new Parser(jsonString)) {
|
||||
return instance.ParseValue();
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose() {
|
||||
json.Dispose();
|
||||
json = null;
|
||||
}
|
||||
|
||||
Dictionary<string, object> ParseObject() {
|
||||
Dictionary<string, object> table = new Dictionary<string, object>();
|
||||
|
||||
// ditch opening brace
|
||||
json.Read();
|
||||
|
||||
// {
|
||||
while (true) {
|
||||
switch (NextToken) {
|
||||
case TOKEN.NONE:
|
||||
return null;
|
||||
case TOKEN.COMMA:
|
||||
continue;
|
||||
case TOKEN.CURLY_CLOSE:
|
||||
return table;
|
||||
default:
|
||||
// name
|
||||
string name = ParseString();
|
||||
if (name == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// :
|
||||
if (NextToken != TOKEN.COLON) {
|
||||
return null;
|
||||
}
|
||||
// ditch the colon
|
||||
json.Read();
|
||||
|
||||
// value
|
||||
table[name] = ParseValue();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
List<object> ParseArray() {
|
||||
List<object> array = new List<object>();
|
||||
|
||||
// ditch opening bracket
|
||||
json.Read();
|
||||
|
||||
// [
|
||||
var parsing = true;
|
||||
while (parsing) {
|
||||
TOKEN nextToken = NextToken;
|
||||
|
||||
switch (nextToken) {
|
||||
case TOKEN.NONE:
|
||||
return null;
|
||||
case TOKEN.COMMA:
|
||||
continue;
|
||||
case TOKEN.SQUARED_CLOSE:
|
||||
parsing = false;
|
||||
break;
|
||||
default:
|
||||
object value = ParseByToken(nextToken);
|
||||
|
||||
array.Add(value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return array;
|
||||
}
|
||||
|
||||
object ParseValue() {
|
||||
TOKEN nextToken = NextToken;
|
||||
return ParseByToken(nextToken);
|
||||
}
|
||||
|
||||
object ParseByToken(TOKEN token) {
|
||||
switch (token) {
|
||||
case TOKEN.STRING:
|
||||
return ParseString();
|
||||
case TOKEN.NUMBER:
|
||||
return ParseNumber();
|
||||
case TOKEN.CURLY_OPEN:
|
||||
return ParseObject();
|
||||
case TOKEN.SQUARED_OPEN:
|
||||
return ParseArray();
|
||||
case TOKEN.TRUE:
|
||||
return true;
|
||||
case TOKEN.FALSE:
|
||||
return false;
|
||||
case TOKEN.NULL:
|
||||
return null;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
string ParseString() {
|
||||
StringBuilder s = new StringBuilder();
|
||||
char c;
|
||||
|
||||
// ditch opening quote
|
||||
json.Read();
|
||||
|
||||
bool parsing = true;
|
||||
while (parsing) {
|
||||
|
||||
if (json.Peek() == -1) {
|
||||
parsing = false;
|
||||
break;
|
||||
}
|
||||
|
||||
c = NextChar;
|
||||
switch (c) {
|
||||
case '"':
|
||||
parsing = false;
|
||||
break;
|
||||
case '\\':
|
||||
if (json.Peek() == -1) {
|
||||
parsing = false;
|
||||
break;
|
||||
}
|
||||
|
||||
c = NextChar;
|
||||
switch (c) {
|
||||
case '"':
|
||||
case '\\':
|
||||
case '/':
|
||||
s.Append(c);
|
||||
break;
|
||||
case 'b':
|
||||
s.Append('\b');
|
||||
break;
|
||||
case 'f':
|
||||
s.Append('\f');
|
||||
break;
|
||||
case 'n':
|
||||
s.Append('\n');
|
||||
break;
|
||||
case 'r':
|
||||
s.Append('\r');
|
||||
break;
|
||||
case 't':
|
||||
s.Append('\t');
|
||||
break;
|
||||
case 'u':
|
||||
var hex = new char[4];
|
||||
|
||||
for (int i=0; i< 4; i++) {
|
||||
hex[i] = NextChar;
|
||||
}
|
||||
|
||||
s.Append((char) Convert.ToInt32(new string(hex), 16));
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
s.Append(c);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return s.ToString();
|
||||
}
|
||||
|
||||
object ParseNumber() {
|
||||
string number = NextWord;
|
||||
|
||||
if (number.IndexOf('.') == -1) {
|
||||
long parsedInt;
|
||||
Int64.TryParse(number, out parsedInt);
|
||||
return parsedInt;
|
||||
}
|
||||
|
||||
double parsedDouble;
|
||||
Double.TryParse(number, out parsedDouble);
|
||||
return parsedDouble;
|
||||
}
|
||||
|
||||
void EatWhitespace() {
|
||||
while (Char.IsWhiteSpace(PeekChar)) {
|
||||
json.Read();
|
||||
|
||||
if (json.Peek() == -1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
char PeekChar {
|
||||
get {
|
||||
return Convert.ToChar(json.Peek());
|
||||
}
|
||||
}
|
||||
|
||||
char NextChar {
|
||||
get {
|
||||
return Convert.ToChar(json.Read());
|
||||
}
|
||||
}
|
||||
|
||||
string NextWord {
|
||||
get {
|
||||
StringBuilder word = new StringBuilder();
|
||||
|
||||
while (!IsWordBreak(PeekChar)) {
|
||||
word.Append(NextChar);
|
||||
|
||||
if (json.Peek() == -1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return word.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
TOKEN NextToken {
|
||||
get {
|
||||
EatWhitespace();
|
||||
|
||||
if (json.Peek() == -1) {
|
||||
return TOKEN.NONE;
|
||||
}
|
||||
|
||||
switch (PeekChar) {
|
||||
case '{':
|
||||
return TOKEN.CURLY_OPEN;
|
||||
case '}':
|
||||
json.Read();
|
||||
return TOKEN.CURLY_CLOSE;
|
||||
case '[':
|
||||
return TOKEN.SQUARED_OPEN;
|
||||
case ']':
|
||||
json.Read();
|
||||
return TOKEN.SQUARED_CLOSE;
|
||||
case ',':
|
||||
json.Read();
|
||||
return TOKEN.COMMA;
|
||||
case '"':
|
||||
return TOKEN.STRING;
|
||||
case ':':
|
||||
return TOKEN.COLON;
|
||||
case '0':
|
||||
case '1':
|
||||
case '2':
|
||||
case '3':
|
||||
case '4':
|
||||
case '5':
|
||||
case '6':
|
||||
case '7':
|
||||
case '8':
|
||||
case '9':
|
||||
case '-':
|
||||
return TOKEN.NUMBER;
|
||||
}
|
||||
|
||||
switch (NextWord) {
|
||||
case "false":
|
||||
return TOKEN.FALSE;
|
||||
case "true":
|
||||
return TOKEN.TRUE;
|
||||
case "null":
|
||||
return TOKEN.NULL;
|
||||
}
|
||||
|
||||
return TOKEN.NONE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts a IDictionary / IList object or a simple type (string, int, etc.) into a JSON string
|
||||
/// </summary>
|
||||
/// <param name="json">A Dictionary<string, object> / List<object></param>
|
||||
/// <returns>A JSON encoded string, or null if object 'json' is not serializable</returns>
|
||||
public static string Serialize(object obj) {
|
||||
return Serializer.Serialize(obj);
|
||||
}
|
||||
|
||||
sealed class Serializer {
|
||||
StringBuilder builder;
|
||||
|
||||
Serializer() {
|
||||
builder = new StringBuilder();
|
||||
}
|
||||
|
||||
public static string Serialize(object obj) {
|
||||
var instance = new Serializer();
|
||||
|
||||
instance.SerializeValue(obj);
|
||||
|
||||
return instance.builder.ToString();
|
||||
}
|
||||
|
||||
void SerializeValue(object value) {
|
||||
IList asList;
|
||||
IDictionary asDict;
|
||||
string asStr;
|
||||
|
||||
if (value == null) {
|
||||
builder.Append("null");
|
||||
} else if ((asStr = value as string) != null) {
|
||||
SerializeString(asStr);
|
||||
} else if (value is bool) {
|
||||
builder.Append((bool) value ? "true" : "false");
|
||||
} else if ((asList = value as IList) != null) {
|
||||
SerializeArray(asList);
|
||||
} else if ((asDict = value as IDictionary) != null) {
|
||||
SerializeObject(asDict);
|
||||
} else if (value is char) {
|
||||
SerializeString(new string((char) value, 1));
|
||||
} else {
|
||||
SerializeOther(value);
|
||||
}
|
||||
}
|
||||
|
||||
void SerializeObject(IDictionary obj) {
|
||||
bool first = true;
|
||||
|
||||
builder.Append('{');
|
||||
|
||||
foreach (object e in obj.Keys) {
|
||||
if (!first) {
|
||||
builder.Append(',');
|
||||
}
|
||||
|
||||
SerializeString(e.ToString());
|
||||
builder.Append(':');
|
||||
|
||||
SerializeValue(obj[e]);
|
||||
|
||||
first = false;
|
||||
}
|
||||
|
||||
builder.Append('}');
|
||||
}
|
||||
|
||||
void SerializeArray(IList anArray) {
|
||||
builder.Append('[');
|
||||
|
||||
bool first = true;
|
||||
|
||||
foreach (object obj in anArray) {
|
||||
if (!first) {
|
||||
builder.Append(',');
|
||||
}
|
||||
|
||||
SerializeValue(obj);
|
||||
|
||||
first = false;
|
||||
}
|
||||
|
||||
builder.Append(']');
|
||||
}
|
||||
|
||||
void SerializeString(string str) {
|
||||
builder.Append('\"');
|
||||
|
||||
char[] charArray = str.ToCharArray();
|
||||
foreach (var c in charArray) {
|
||||
switch (c) {
|
||||
case '"':
|
||||
builder.Append("\\\"");
|
||||
break;
|
||||
case '\\':
|
||||
builder.Append("\\\\");
|
||||
break;
|
||||
case '\b':
|
||||
builder.Append("\\b");
|
||||
break;
|
||||
case '\f':
|
||||
builder.Append("\\f");
|
||||
break;
|
||||
case '\n':
|
||||
builder.Append("\\n");
|
||||
break;
|
||||
case '\r':
|
||||
builder.Append("\\r");
|
||||
break;
|
||||
case '\t':
|
||||
builder.Append("\\t");
|
||||
break;
|
||||
default:
|
||||
int codepoint = Convert.ToInt32(c);
|
||||
if ((codepoint >= 32) && (codepoint <= 126)) {
|
||||
builder.Append(c);
|
||||
} else {
|
||||
builder.Append("\\u");
|
||||
builder.Append(codepoint.ToString("x4"));
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
builder.Append('\"');
|
||||
}
|
||||
|
||||
void SerializeOther(object value) {
|
||||
// NOTE: decimals lose precision during serialization.
|
||||
// They always have, I'm just letting you know.
|
||||
// Previously floats and doubles lost precision too.
|
||||
if (value is float) {
|
||||
builder.Append(((float) value).ToString("R"));
|
||||
} else if (value is int
|
||||
|| value is uint
|
||||
|| value is long
|
||||
|| value is sbyte
|
||||
|| value is byte
|
||||
|| value is short
|
||||
|| value is ushort
|
||||
|| value is ulong) {
|
||||
builder.Append(value);
|
||||
} else if (value is double
|
||||
|| value is decimal) {
|
||||
builder.Append(Convert.ToDouble(value).ToString("R"));
|
||||
} else {
|
||||
SerializeString(value.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bc3d1c806d507463e9b560eb09d8eb0e
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace AppsFlyerSDK
|
||||
{
|
||||
public enum AFPurchaseType
|
||||
{
|
||||
Subscription = 0,
|
||||
OneTimePurchase = 1
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
//
|
||||
/// </summary>
|
||||
public class AFPurchaseDetailsAndroid
|
||||
|
||||
{
|
||||
public AFPurchaseType purchaseType { get; private set; }
|
||||
public string purchaseToken { get; private set; }
|
||||
public string productId { get; private set; }
|
||||
public string price { get; private set; }
|
||||
public string currency { get; private set; }
|
||||
|
||||
public AFPurchaseDetailsAndroid(AFPurchaseType type, String purchaseToken, String productId, String price, String currency)
|
||||
{
|
||||
this.purchaseType = type;
|
||||
this.purchaseToken = purchaseToken;
|
||||
this.productId = productId;
|
||||
this.price = price;
|
||||
this.currency = currency;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d71b3864006f94ac08938b2ebdc940bc
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace AppsFlyerSDK
|
||||
{
|
||||
/// <summary>
|
||||
//
|
||||
/// </summary>
|
||||
public class AFSDKPurchaseDetailsIOS
|
||||
{
|
||||
public string productId { get; private set; }
|
||||
public string price { get; private set; }
|
||||
public string currency { get; private set; }
|
||||
public string transactionId { get; private set; }
|
||||
|
||||
private AFSDKPurchaseDetailsIOS(string productId, string price, string currency, string transactionId)
|
||||
{
|
||||
this.productId = productId;
|
||||
this.price = price;
|
||||
this.currency = currency;
|
||||
this.transactionId = transactionId;
|
||||
}
|
||||
|
||||
public static AFSDKPurchaseDetailsIOS Init(string productId, string price, string currency, string transactionId)
|
||||
{
|
||||
return new AFSDKPurchaseDetailsIOS(productId, price, currency, transactionId);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 44bb6c4472701416080eb050732075ea
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,38 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace AppsFlyerSDK
|
||||
{
|
||||
public enum AFSDKValidateAndLogStatus
|
||||
{
|
||||
AFSDKValidateAndLogStatusSuccess,
|
||||
AFSDKValidateAndLogStatusFailure,
|
||||
AFSDKValidateAndLogStatusError
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
//
|
||||
/// </summary>
|
||||
public class AFSDKValidateAndLogResult
|
||||
{
|
||||
public AFSDKValidateAndLogStatus status { get; private set; }
|
||||
public Dictionary<string, object> result { get; private set; }
|
||||
public Dictionary<string, object> errorData { get; private set; }
|
||||
public string error { get; private set; }
|
||||
|
||||
private AFSDKValidateAndLogResult(AFSDKValidateAndLogStatus status, Dictionary<string, object> result, Dictionary<string, object> errorData, string error)
|
||||
{
|
||||
this.status = status;
|
||||
this.result = result;
|
||||
this.errorData = errorData;
|
||||
this.error = error;
|
||||
}
|
||||
|
||||
public static AFSDKValidateAndLogResult Init(AFSDKValidateAndLogStatus status, Dictionary<string, object> result, Dictionary<string, object> errorData, string error)
|
||||
{
|
||||
return new AFSDKValidateAndLogResult(status, result, errorData, error);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2df1c6f1eab2e4849bf2762a8d78933f
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "AppsFlyer",
|
||||
"references": [],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"noEngineReferences": false
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2a37df438292d4903b4e5159c5de3bf9
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 45161025a517d427381d3d06153a5ad3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,779 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace AppsFlyerSDK
|
||||
{
|
||||
|
||||
#if UNITY_ANDROID
|
||||
public class AppsFlyerAndroid : IAppsFlyerAndroidBridge
|
||||
{
|
||||
public bool isInit { get; set; }
|
||||
|
||||
private static AndroidJavaClass appsFlyerAndroid = new AndroidJavaClass("com.appsflyer.unity.AppsFlyerAndroidWrapper");
|
||||
|
||||
public AppsFlyerAndroid() { }
|
||||
|
||||
/// <summary>
|
||||
/// Use this method to init the sdk for the application.
|
||||
/// Call this method before startSDK.
|
||||
/// </summary>
|
||||
/// <param name="devkey"> AppsFlyer's Dev-Key, which is accessible from your AppsFlyer account under 'App Settings' in the dashboard.</param>
|
||||
/// <param name="gameObject">The current game object. This is used to get the conversion data callbacks. Pass null if you do not need the callbacks.</param>
|
||||
public void initSDK(string devkey, MonoBehaviour gameObject)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("initSDK", devkey, gameObject ? gameObject.name : null);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Use this method to start the sdk for the application.
|
||||
/// The AppsFlyer's Dev-Key must be provided.
|
||||
/// </summary>
|
||||
/// <param name="devkey"> AppsFlyer's Dev-Key, which is accessible from your AppsFlyer account under 'App Settings' in the dashboard.</param>
|
||||
public void startSDK(bool onRequestResponse, string CallBackObjectName)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("startTracking", onRequestResponse, CallBackObjectName);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Once this API is invoked, our SDK no longer communicates with our servers and stops functioning.
|
||||
/// In some extreme cases you might want to shut down all SDK activity due to legal and privacy compliance.
|
||||
/// This can be achieved with the stopSDK API.
|
||||
/// </summary>
|
||||
/// <param name="isSDKStopped">boolean should SDK be stopped.</param>
|
||||
public void stopSDK(bool isSDKStopped)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("stopTracking", isSDKStopped);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the AppsFlyer SDK version used in app.
|
||||
/// </summary>
|
||||
/// <returns>AppsFlyer SDK version.</returns>
|
||||
public string getSdkVersion()
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
return appsFlyerAndroid.CallStatic<string>("getSdkVersion");
|
||||
#else
|
||||
return "";
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manually pass the Firebase / GCM Device Token for Uninstall measurement.
|
||||
/// </summary>
|
||||
/// <param name="token">Firebase Device Token.</param>
|
||||
public void updateServerUninstallToken(string token)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("updateServerUninstallToken", token);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enables Debug logs for the AppsFlyer SDK.
|
||||
/// Should only be set to true in development / debug.
|
||||
/// </summary>
|
||||
/// <param name="shouldEnable">shouldEnable boolean.</param>
|
||||
public void setIsDebug(bool shouldEnable)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setIsDebug", shouldEnable);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// By default, IMEI and Android ID are not collected by the SDK if the OS version is higher than KitKat (4.4)
|
||||
/// and the device contains Google Play Services(on SDK versions 4.8.8 and below the specific app needed GPS).
|
||||
/// Use this API to explicitly send IMEI to AppsFlyer.
|
||||
/// </summary>
|
||||
/// <param name="aImei">device's IMEI.</param>
|
||||
public void setImeiData(string aImei)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setImeiData", aImei);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// By default, IMEI and Android ID are not collected by the SDK if the OS version is higher than KitKat(4.4)
|
||||
/// and the device contains Google Play Services(on SDK versions 4.8.8 and below the specific app needed GPS).
|
||||
/// Use this API to explicitly send Android ID to AppsFlyer.
|
||||
/// </summary>
|
||||
/// <param name="aAndroidId">device's Android ID.</param>
|
||||
public void setAndroidIdData(string aAndroidId)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setAndroidIdData", aAndroidId);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Setting your own customer ID enables you to cross-reference your own unique ID with AppsFlyer’s unique ID and the other devices’ IDs.
|
||||
/// This ID is available in AppsFlyer CSV reports along with Postback APIs for cross-referencing with your internal IDs.
|
||||
/// </summary>
|
||||
/// <param name="id">Customer ID for client.</param>
|
||||
public void setCustomerUserId(string id)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setCustomerUserId", id);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// It is possible to delay the SDK Initialization until the customerUserID is set.
|
||||
/// This feature makes sure that the SDK doesn't begin functioning until the customerUserID is provided.
|
||||
/// If this API is used, all in-app events and any other SDK API calls are discarded, until the customerUserID is provided.
|
||||
/// </summary>
|
||||
/// <param name="wait">wait boolean.</param>
|
||||
public void waitForCustomerUserId(bool wait)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("waitForCustomerUserId", wait);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Use this API to provide the SDK with the relevant customer user id and trigger the SDK to begin its normal activity.
|
||||
/// </summary>
|
||||
/// <param name="id">Customer ID for client.</param>
|
||||
public void setCustomerIdAndStartSDK(string id)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setCustomerIdAndTrack", id);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the current AF_STORE value.
|
||||
/// </summary>
|
||||
/// <returns>AF_Store value.</returns>
|
||||
public string getOutOfStore()
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
return appsFlyerAndroid.CallStatic<string>("getOutOfStore");
|
||||
#else
|
||||
return "";
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manually set the AF_STORE value.
|
||||
/// </summary>
|
||||
/// <param name="sourceName">value to be set.</param>
|
||||
public void setOutOfStore(string sourceName)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setOutOfStore", sourceName);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the OneLink ID that should be used for User-Invites.
|
||||
/// The link that is generated for the user invite will use this OneLink as the base link.
|
||||
/// </summary>
|
||||
/// <param name="oneLinkId">OneLink ID obtained from the AppsFlyer Dashboard.</param>
|
||||
public void setAppInviteOneLinkID(string oneLinkId)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setAppInviteOneLinkID", oneLinkId);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set additional data to be sent to AppsFlyer.
|
||||
/// </summary>
|
||||
/// <param name="customData">additional data Dictionary.</param>
|
||||
public void setAdditionalData(Dictionary<string, string> customData)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setAdditionalData", convertDictionaryToJavaMap(customData));
|
||||
#endif
|
||||
}
|
||||
|
||||
//// <summary>
|
||||
/// Set the deepLink timeout value that should be used for DDL.
|
||||
/// </summary>
|
||||
/// <param name="deepLinkTimeout">deepLink timeout in milliseconds.</param>
|
||||
public void setDeepLinkTimeout(long deepLinkTimeout)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setDeepLinkTimeout", deepLinkTimeout);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the user emails.
|
||||
/// </summary>
|
||||
/// <param name="emails">User emails.</param>
|
||||
public void setUserEmails(params string[] userEmails)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setUserEmails", (object)userEmails);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Set the user phone number.
|
||||
/// </summary>
|
||||
/// <param name="phoneNumber">User phoneNumber.</param>
|
||||
public void setPhoneNumber(string phoneNumber){
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setPhoneNumber", phoneNumber);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the user emails and encrypt them.
|
||||
/// cryptMethod Encryption method:
|
||||
/// EmailCryptType.EmailCryptTypeMD5
|
||||
/// EmailCryptType.EmailCryptTypeSHA1
|
||||
/// EmailCryptType.EmailCryptTypeSHA256
|
||||
/// EmailCryptType.EmailCryptTypeNone
|
||||
/// </summary>
|
||||
/// <param name="cryptMethod">Encryption method.</param>
|
||||
/// <param name="emails">User emails.</param>
|
||||
public void setUserEmails(EmailCryptType cryptMethod, params string[] emails)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setUserEmails", getEmailType(cryptMethod), (object)emails);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Opt-out of collection of Android ID.
|
||||
/// If the app does NOT contain Google Play Services, Android ID is collected by the SDK.
|
||||
/// However, apps with Google play services should avoid Android ID collection as this is in violation of the Google Play policy.
|
||||
/// </summary>
|
||||
/// <param name="isCollect">boolean, false to opt-out.</param>
|
||||
public void setCollectAndroidID(bool isCollect)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setCollectAndroidID", isCollect);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Opt-out of collection of IMEI.
|
||||
/// If the app does NOT contain Google Play Services, device IMEI is collected by the SDK.
|
||||
/// However, apps with Google play services should avoid IMEI collection as this is in violation of the Google Play policy.
|
||||
/// </summary>
|
||||
/// <param name="isCollect">boolean, false to opt-out.</param>
|
||||
public void setCollectIMEI(bool isCollect)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setCollectIMEI", isCollect);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Advertisers can wrap AppsFlyer OneLink within another Universal Link.
|
||||
/// This Universal Link will invoke the app but any deep linking data will not propagate to AppsFlyer.
|
||||
/// </summary>
|
||||
/// <param name="urls">Array of urls.</param>
|
||||
public void setResolveDeepLinkURLs(params string[] urls)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setResolveDeepLinkURLs", (object)urls);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Advertisers can use this method to set vanity onelink domains.
|
||||
/// </summary>
|
||||
/// <param name="domains">Array of domains.</param>
|
||||
public void setOneLinkCustomDomain(params string[] domains)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setOneLinkCustomDomain", (object)domains);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manually set that the application was updated.
|
||||
/// </summary>
|
||||
/// <param name="isUpdate">isUpdate boolean value.</param>
|
||||
public void setIsUpdate(bool isUpdate)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setIsUpdate", isUpdate);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Setting user local currency code for in-app purchases.
|
||||
/// The currency code should be a 3 character ISO 4217 code. (default is USD).
|
||||
/// You can set the currency code for all events by calling the following method.
|
||||
/// </summary>
|
||||
/// <param name="currencyCode">3 character ISO 4217 code.</param>
|
||||
public void setCurrencyCode(string currencyCode)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setCurrencyCode", currencyCode);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manually record the location of the user.
|
||||
/// </summary>
|
||||
/// <param name="latitude">latitude as double.</param>
|
||||
/// <param name="longitude">longitude as double.</param>
|
||||
public void recordLocation(double latitude, double longitude)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("trackLocation", latitude, longitude);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Send an In-App Event.
|
||||
/// In-App Events provide insight on what is happening in your app.
|
||||
/// </summary>
|
||||
/// <param name="eventName">Event Name as String.</param>
|
||||
/// <param name="eventValues">Event Values as Dictionary.</param>
|
||||
public void sendEvent(string eventName, Dictionary<string, string> eventValues)
|
||||
{
|
||||
sendEvent(eventName, eventValues, false, AppsFlyer.CallBackObjectName);
|
||||
}
|
||||
|
||||
public void sendEvent(string eventName, Dictionary<string, string> eventValues, bool shouldCallback, string callBackObjectName)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("trackEvent", eventName, convertDictionaryToJavaMap(eventValues), shouldCallback, callBackObjectName);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Anonymize user Data.
|
||||
/// Use this API during the SDK Initialization to explicitly anonymize a user's installs, events and sessions.
|
||||
/// Default is false.
|
||||
/// </summary>
|
||||
/// <param name="isDisabled">isDisabled boolean.</param>
|
||||
public void anonymizeUser(bool isDisabled)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setDeviceTrackingDisabled", isDisabled);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Calling enableTCFDataCollection(true) will enable collecting and sending any TCF related data.
|
||||
/// Calling enableTCFDataCollection(false) will disable the collection of TCF related data and from sending it.
|
||||
/// </summary>
|
||||
/// <param name = "shouldCollectTcfData" >should start TCF Data collection boolean.</param>
|
||||
public void enableTCFDataCollection(bool shouldCollectTcfData)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("enableTCFDataCollection", shouldCollectTcfData);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enable the collection of Facebook Deferred AppLinks.
|
||||
/// Requires Facebook SDK and Facebook app on target/client device.
|
||||
/// This API must be invoked prior to initializing the AppsFlyer SDK in order to function properly.
|
||||
/// </summary>
|
||||
/// <param name="isEnabled">should Facebook's deferred app links be processed by the AppsFlyer SDK.</param>
|
||||
public void enableFacebookDeferredApplinks(bool isEnabled)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("enableFacebookDeferredApplinks", isEnabled);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets or updates the user consent data related to GDPR and DMA regulations for advertising and data usage purposes within the application.
|
||||
/// call this method when GDPR user is true
|
||||
/// </summary>
|
||||
/// <param name = "hasConsentForDataUsage" >hasConsentForDataUsage boolean.</param>
|
||||
/// <param name = "hasConsentForAdsPersonalization" >hasConsentForAdsPersonalization boolean.</param>
|
||||
public void setConsentData(AppsFlyerConsent appsFlyerConsent)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setConsentData", appsFlyerConsent.isUserSubjectToGDPR, appsFlyerConsent.hasConsentForDataUsage, appsFlyerConsent.hasConsentForAdsPersonalization);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Restrict reengagement via deep-link to once per each unique deep-link.
|
||||
/// Otherwise deep re-occurring deep-links will be permitted for non-singleTask Activities and deep-linking via AppsFlyer deep-links.
|
||||
/// The default value is false.
|
||||
/// </summary>
|
||||
/// <param name="doConsume">doConsume boolean.</param>
|
||||
public void setConsumeAFDeepLinks(bool doConsume)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setConsumeAFDeepLinks", doConsume);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Specify the manufacturer or media source name to which the preinstall is attributed.
|
||||
/// </summary>
|
||||
/// <param name="mediaSource">Manufacturer or media source name for preinstall attribution.</param>
|
||||
/// <param name="campaign">Campaign name for preinstall attribution.</param>
|
||||
/// <param name="siteId">Site ID for preinstall attribution.</param>
|
||||
public void setPreinstallAttribution(string mediaSource, string campaign, string siteId)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setPreinstallAttribution", mediaSource, campaign, siteId);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Boolean indicator for preinstall by Manufacturer.
|
||||
/// </summary>
|
||||
/// <returns>boolean isPreInstalledApp.</returns>
|
||||
public bool isPreInstalledApp()
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
return appsFlyerAndroid.CallStatic<bool>("isPreInstalledApp");
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the Facebook attribution ID, if one exists.
|
||||
/// </summary>
|
||||
/// <returns>string Facebook attribution ID.</returns>
|
||||
public string getAttributionId()
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
return appsFlyerAndroid.CallStatic<string>("getAttributionId");
|
||||
#else
|
||||
return "";
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get AppsFlyer's unique device ID is created for every new install of an app.
|
||||
/// </summary>
|
||||
/// <returns>AppsFlyer's unique device ID.</returns>
|
||||
public string getAppsFlyerId()
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
return appsFlyerAndroid.CallStatic<string>("getAppsFlyerId");
|
||||
#else
|
||||
return "";
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// API for server verification of in-app purchases.
|
||||
/// An af_purchase event with the relevant values will be automatically sent if the validation is successful.
|
||||
/// </summary>
|
||||
/// <param name="publicKey">License Key obtained from the Google Play Console.</param>
|
||||
/// <param name="signature"><code>data.INAPP_DATA_SIGNATURE</code> from <code>onActivityResult(int requestCode, int resultCode, Intent data)</code></param>
|
||||
/// <param name="purchaseData"><code>data.INAPP_PURCHASE_DATA</code> from <code>onActivityResult(int requestCode, int resultCode, Intent data)</code></param>
|
||||
/// <param name="price">Purchase price, should be derived from <code>skuDetails.getStringArrayList("DETAILS_LIST")</code></param>
|
||||
/// <param name="currency">Purchase currency, should be derived from <code>skuDetails.getStringArrayList("DETAILS_LIST")</code></param>
|
||||
/// <param name="additionalParameters">additionalParameters Freehand parameters to be sent with the purchase (if validated).</param>
|
||||
public void validateAndSendInAppPurchase(string publicKey, string signature, string purchaseData, string price, string currency, Dictionary<string, string> additionalParameters, MonoBehaviour gameObject)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("validateAndTrackInAppPurchase", publicKey, signature, purchaseData, price, currency, convertDictionaryToJavaMap(additionalParameters), gameObject ? gameObject.name : null);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// API for server verification of in-app purchases.
|
||||
/// An af_purchase event with the relevant values will be automatically sent if the validation is successful.
|
||||
/// </summary>
|
||||
/// <param name="details">AFPurchaseDetailsAndroid instance.</param>
|
||||
/// <param name="additionalParameters">additionalParameters Freehand parameters to be sent with the purchase (if validated).</param>
|
||||
public void validateAndSendInAppPurchase(AFPurchaseDetailsAndroid details, Dictionary<string, string> additionalParameters, MonoBehaviour gameObject)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("validateAndTrackInAppPurchaseV2", (int)details.purchaseType, details.purchaseToken, details.productId, details.price, details.currency, convertDictionaryToJavaMap(additionalParameters), gameObject ? gameObject.name : null);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Was the stopSDK(boolean) API set to true.
|
||||
/// </summary>
|
||||
/// <returns>boolean isSDKStopped.</returns>
|
||||
public bool isSDKStopped()
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
return appsFlyerAndroid.CallStatic<bool>("isTrackingStopped");
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set a custom value for the minimum required time between sessions.
|
||||
/// By default, at least 5 seconds must lapse between 2 app launches to count as separate 2 sessions.
|
||||
/// </summary>
|
||||
/// <param name="seconds">minimum time between 2 separate sessions in seconds.</param>
|
||||
public void setMinTimeBetweenSessions(int seconds)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setMinTimeBetweenSessions", seconds);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set a custom host.
|
||||
/// </summary>
|
||||
/// <param name="hostPrefixName">Host prefix.</param>
|
||||
/// <param name="hostName">Host name.</param>
|
||||
public void setHost(string hostPrefixName, string hostName)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setHost", hostPrefixName, hostName);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the host name.
|
||||
/// Default value is "appsflyer.com".
|
||||
/// </summary>
|
||||
/// <returns>Host name.</returns>
|
||||
public string getHostName()
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
return appsFlyerAndroid.CallStatic<string>("getHostName");
|
||||
#else
|
||||
return "";
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the custom host prefix.
|
||||
/// </summary>
|
||||
/// <returns>Host prefix.</returns>
|
||||
public string getHostPrefix()
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
return appsFlyerAndroid.CallStatic<string>("getHostPrefix");
|
||||
#else
|
||||
return "";
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Used by advertisers to exclude all networks/integrated partners from getting data.
|
||||
/// </summary>
|
||||
public void setSharingFilterForAllPartners()
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setSharingFilterForAllPartners");
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Used by advertisers to set some (one or more) networks/integrated partners to exclude from getting data.
|
||||
/// </summary>
|
||||
/// <param name="partners">partners to exclude from getting data</param>
|
||||
public void setSharingFilter(params string[] partners)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setSharingFilter", (object)partners);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Lets you configure how which partners should the SDK exclude from data-sharing.
|
||||
/// </summary>
|
||||
/// <param name="partners">partners to exclude from getting data</param>
|
||||
public static void setSharingFilterForPartners(params string[] partners)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setSharingFilterForPartners", (object)partners);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Register a Conversion Data Listener.
|
||||
/// Allows the developer to access the user attribution data in real-time for every new install, directly from the SDK level.
|
||||
/// By doing this you can serve users with personalized content or send them to specific activities within the app,
|
||||
/// which can greatly enhance their engagement with your app.
|
||||
/// </summary>
|
||||
public void getConversionData(string objectName)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("getConversionData", objectName);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Register a validation listener for the validateAndSendInAppPurchase API.
|
||||
/// </summary>
|
||||
public void initInAppPurchaseValidatorListener(MonoBehaviour gameObject)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("initInAppPurchaseValidatorListener", gameObject ? gameObject.name : null);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// setCollectOaid
|
||||
/// You must include the appsflyer oaid library for this api to work.
|
||||
/// </summary>
|
||||
/// <param name="isCollect">isCollect oaid - set fasle to opt out</param>
|
||||
public void setCollectOaid(bool isCollect)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setCollectOaid", isCollect);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Use the following API to attribute the click and launch the app store's app page.
|
||||
/// </summary>
|
||||
/// <param name="promoted_app_id">promoted App ID</param>
|
||||
/// <param name="campaign">cross promotion campaign</param>
|
||||
/// <param name="userParams">additional user params</param>
|
||||
public void attributeAndOpenStore(string promoted_app_id, string campaign, Dictionary<string, string> userParams, MonoBehaviour gameObject)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("attributeAndOpenStore", promoted_app_id, campaign, convertDictionaryToJavaMap(userParams));
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// To attribute an impression use the following API call.
|
||||
/// Make sure to use the promoted App ID as it appears within the AppsFlyer dashboard.
|
||||
/// </summary>
|
||||
/// <param name="appID">promoted App ID.</param>
|
||||
/// <param name="campaign">cross promotion campaign.</param>
|
||||
/// <param name="parameters">parameters Dictionary.</param>
|
||||
public void recordCrossPromoteImpression(string appID, string campaign, Dictionary<string, string> parameters)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("recordCrossPromoteImpression", appID, campaign, convertDictionaryToJavaMap(parameters));
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The LinkGenerator class builds the invite URL according to various setter methods which allow passing on additional information on the click.
|
||||
/// See - https://support.appsflyer.com/hc/en-us/articles/115004480866-User-invite-attribution-
|
||||
/// </summary>
|
||||
/// <param name="parameters">parameters Dictionary.</param>
|
||||
public void generateUserInviteLink(Dictionary<string, string> parameters, MonoBehaviour gameObject)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("createOneLinkInviteListener", convertDictionaryToJavaMap(parameters), gameObject ? gameObject.name : null);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// To measure push notifications as part of a retargeting campaign.
|
||||
/// </summary>
|
||||
public void handlePushNotifications(){
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("handlePushNotifications");
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Use this method if you’re integrating your app with push providers
|
||||
/// that don’t use the default push notification JSON schema the SDK expects.
|
||||
/// See docs for more info.
|
||||
/// </summary>
|
||||
/// <param name="paths">array of nested json path</param>
|
||||
public void addPushNotificationDeepLinkPath(params string[] paths)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("addPushNotificationDeepLinkPath", (object)paths);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// subscribe to unified deep link callbacks
|
||||
/// </summary>
|
||||
public void subscribeForDeepLink(string objectName){
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("subscribeForDeepLink", objectName);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Disables collection of various Advertising IDs by the SDK. This includes Google Advertising ID (GAID), OAID and Amazon Advertising ID (AAID)
|
||||
/// </summary>
|
||||
/// <param name="disable">disable boolean.</param>
|
||||
public void setDisableAdvertisingIdentifiers(bool disable)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setDisableAdvertisingIdentifiers", disable);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Allows sending custom data for partner integration purposes.
|
||||
/// </summary>
|
||||
public void setPartnerData(string partnerId, Dictionary<string, string> partnerInfo)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setPartnerData", partnerId, convertDictionaryToJavaMap(partnerInfo));
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Use to opt-out of collecting the network operator name (carrier) and sim operator name from the device.
|
||||
/// </summary>
|
||||
public void setDisableNetworkData(bool disable) {
|
||||
#if !UNITY_EDITOR
|
||||
appsFlyerAndroid.CallStatic("setDisableNetworkData", disable);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Internal Helper Method.
|
||||
/// </summary>
|
||||
private static AndroidJavaObject getEmailType(EmailCryptType cryptType)
|
||||
{
|
||||
AndroidJavaClass emailsCryptTypeEnum = new AndroidJavaClass("com.appsflyer.AppsFlyerProperties$EmailsCryptType");
|
||||
AndroidJavaObject emailsCryptType;
|
||||
|
||||
switch (cryptType)
|
||||
{
|
||||
case EmailCryptType.EmailCryptTypeSHA256:
|
||||
emailsCryptType = emailsCryptTypeEnum.GetStatic<AndroidJavaObject>("SHA256");
|
||||
break;
|
||||
default:
|
||||
emailsCryptType = emailsCryptTypeEnum.GetStatic<AndroidJavaObject>("NONE");
|
||||
break;
|
||||
}
|
||||
|
||||
return emailsCryptType;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Internal Helper Method.
|
||||
/// </summary>
|
||||
private static AndroidJavaObject convertDictionaryToJavaMap(Dictionary<string, string> dictionary)
|
||||
{
|
||||
AndroidJavaObject map = new AndroidJavaObject("java.util.HashMap");
|
||||
IntPtr putMethod = AndroidJNIHelper.GetMethodID(map.GetRawClass(), "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");
|
||||
jvalue[] val;
|
||||
if (dictionary != null)
|
||||
{
|
||||
foreach (var entry in dictionary)
|
||||
{
|
||||
val = AndroidJNIHelper.CreateJNIArgArray(new object[] { entry.Key, entry.Value });
|
||||
AndroidJNI.CallObjectMethod(map.GetRawObject(), putMethod,val);
|
||||
AndroidJNI.DeleteLocalRef(val[0].l);
|
||||
AndroidJNI.DeleteLocalRef(val[1].l);
|
||||
}
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 172d18dd98e7e4ed3b30110568b0fae4
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,51 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace AppsFlyerSDK
|
||||
{
|
||||
/// <summary>
|
||||
// Data class representing a user's consent for data processing in accordance with GDPR and DMA
|
||||
// (Digital Markets Act) compliance, specifically regarding advertising preferences.
|
||||
|
||||
// This class should be used to notify and record the user's applicability
|
||||
// under GDPR, their general consent to data usage, and their consent to personalized
|
||||
// advertisements based on user data.
|
||||
|
||||
// Note that the consent for data usage and ads personalization pair is only applicable when the user is
|
||||
// subject to GDPR guidelines. Therefore, the following factory methods should be used accordingly:
|
||||
// - Use [forGDPRUser] when the user is subject to GDPR.
|
||||
// - Use [forNonGDPRUser] when the user is not subject to GDPR.
|
||||
|
||||
// @property isUserSubjectToGDPR Indicates whether GDPR regulations apply to the user (true if the user is
|
||||
// a subject of GDPR). It also serves as a flag for compliance with relevant aspects of DMA regulations.
|
||||
// @property hasConsentForDataUsage Indicates whether the user has consented to the use of their data for advertising
|
||||
// purposes under both GDPR and DMA guidelines (true if the user has consented, nullable if not subject to GDPR).
|
||||
// @property hasConsentForAdsPersonalization Indicates whether the user has consented to the use of their data for
|
||||
// personalized advertising within the boundaries of GDPR and DMA rules (true if the user has consented to
|
||||
// personalized ads, nullable if not subject to GDPR).
|
||||
/// </summary>
|
||||
public class AppsFlyerConsent
|
||||
{
|
||||
public bool isUserSubjectToGDPR { get; private set; }
|
||||
public bool hasConsentForDataUsage { get; private set; }
|
||||
public bool hasConsentForAdsPersonalization { get; private set; }
|
||||
|
||||
private AppsFlyerConsent(bool isGDPR, bool hasForDataUsage, bool hasForAdsPersonalization)
|
||||
{
|
||||
isUserSubjectToGDPR = isGDPR;
|
||||
hasConsentForDataUsage = hasForDataUsage;
|
||||
hasConsentForAdsPersonalization = hasForAdsPersonalization;
|
||||
}
|
||||
|
||||
public static AppsFlyerConsent ForGDPRUser(bool hasConsentForDataUsage, bool hasConsentForAdsPersonalization)
|
||||
{
|
||||
return new AppsFlyerConsent(true, hasConsentForDataUsage, hasConsentForAdsPersonalization);
|
||||
}
|
||||
|
||||
public static AppsFlyerConsent ForNonGDPRUser()
|
||||
{
|
||||
return new AppsFlyerConsent(false, false, false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a97c986fe4ee0461badf7042e08db3f3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,218 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace AppsFlyerSDK
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Event args for AppsFlyer requests.
|
||||
/// Used for sessions and in-app events.
|
||||
/// Used to handle post request logic.
|
||||
///
|
||||
/// Examples:
|
||||
/// statusCode / errorDescription
|
||||
///
|
||||
/// 200 - null
|
||||
///
|
||||
/// 10 - "Event timeout. Check 'minTimeBetweenSessions' param"
|
||||
/// 11 - "Skipping event because 'isStopTracking' enabled"
|
||||
/// 40 - Network error: Error description comes from Android
|
||||
/// 41 - "No dev key"
|
||||
/// 50 - "Status code failure" + actual response code from the server
|
||||
///
|
||||
/// </summary>
|
||||
public class AppsFlyerRequestEventArgs : EventArgs
|
||||
{
|
||||
public AppsFlyerRequestEventArgs(int code, string description)
|
||||
{
|
||||
statusCode = code;
|
||||
errorDescription = description;
|
||||
}
|
||||
|
||||
public int statusCode { get; }
|
||||
public string errorDescription { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Event args for OnDeepLinkReceived.
|
||||
/// Used to handle deep linking results.
|
||||
/// </summary>
|
||||
public class DeepLinkEventsArgs : EventArgs
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// DeepLink dictionary to get additional parameters
|
||||
/// </summary>
|
||||
public Dictionary<string, object> deepLink;
|
||||
|
||||
/// <summary>
|
||||
/// DeepLink status: FOUND, NOT_FOUND, ERROR
|
||||
/// </summary>
|
||||
public DeepLinkStatus status { get; }
|
||||
|
||||
/// <summary>
|
||||
/// DeepLink error: TIMEOUT, NETWORK, HTTP_STATUS_CODE, UNEXPECTED
|
||||
/// </summary>
|
||||
public DeepLinkError error { get; }
|
||||
|
||||
public string getMatchType()
|
||||
{
|
||||
return getDeepLinkParameter("match_type");
|
||||
}
|
||||
|
||||
public string getDeepLinkValue()
|
||||
{
|
||||
return getDeepLinkParameter("deep_link_value");
|
||||
}
|
||||
|
||||
public string getClickHttpReferrer()
|
||||
{
|
||||
return getDeepLinkParameter("click_http_referrer");
|
||||
}
|
||||
|
||||
public string getMediaSource()
|
||||
{
|
||||
return getDeepLinkParameter("media_source");
|
||||
}
|
||||
|
||||
public string getCampaign()
|
||||
{
|
||||
return getDeepLinkParameter("campaign");
|
||||
}
|
||||
|
||||
public string getCampaignId()
|
||||
{
|
||||
return getDeepLinkParameter("campaign_id");
|
||||
}
|
||||
|
||||
public string getAfSub1()
|
||||
{
|
||||
return getDeepLinkParameter("af_sub1");
|
||||
}
|
||||
|
||||
public string getAfSub2()
|
||||
{
|
||||
return getDeepLinkParameter("af_sub2");
|
||||
}
|
||||
|
||||
public string getAfSub3()
|
||||
{
|
||||
return getDeepLinkParameter("af_sub3");
|
||||
}
|
||||
|
||||
public string getAfSub4()
|
||||
{
|
||||
return getDeepLinkParameter("af_sub4");
|
||||
}
|
||||
|
||||
public string getAfSub5()
|
||||
{
|
||||
return getDeepLinkParameter("af_sub5");
|
||||
}
|
||||
|
||||
public bool isDeferred()
|
||||
{
|
||||
if (deepLink != null && deepLink.ContainsKey("is_deferred"))
|
||||
{
|
||||
try
|
||||
{
|
||||
return (bool)deepLink["is_deferred"];
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
AppsFlyer.AFLog("DeepLinkEventsArgs.isDeferred", String.Format("{0} Exception caught.", e));
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public Dictionary<string, object> getDeepLinkDictionary()
|
||||
{
|
||||
return deepLink;
|
||||
}
|
||||
|
||||
public DeepLinkEventsArgs(string str)
|
||||
{
|
||||
try
|
||||
{
|
||||
Dictionary<string, object> dictionary = AppsFlyer.CallbackStringToDictionary(str);
|
||||
|
||||
string status = "";
|
||||
string error = "";
|
||||
|
||||
|
||||
if (dictionary.ContainsKey("status") && dictionary["status"] != null)
|
||||
{
|
||||
status = dictionary["status"].ToString();
|
||||
}
|
||||
|
||||
if (dictionary.ContainsKey("error") && dictionary["error"] != null)
|
||||
{
|
||||
error = dictionary["error"].ToString();
|
||||
}
|
||||
|
||||
if (dictionary.ContainsKey("deepLink") && dictionary["deepLink"] != null)
|
||||
{
|
||||
this.deepLink = AppsFlyer.CallbackStringToDictionary(dictionary["deepLink"].ToString());
|
||||
}
|
||||
if (dictionary.ContainsKey("is_deferred"))
|
||||
{
|
||||
this.deepLink["is_deferred"] = dictionary["is_deferred"];
|
||||
}
|
||||
|
||||
switch (status)
|
||||
{
|
||||
case "FOUND":
|
||||
this.status = DeepLinkStatus.FOUND;
|
||||
break;
|
||||
case "NOT_FOUND":
|
||||
this.status = DeepLinkStatus.NOT_FOUND;
|
||||
break;
|
||||
default:
|
||||
this.status = DeepLinkStatus.ERROR;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (error)
|
||||
{
|
||||
case "TIMEOUT":
|
||||
this.error = DeepLinkError.TIMEOUT;
|
||||
break;
|
||||
case "NETWORK":
|
||||
this.error = DeepLinkError.NETWORK;
|
||||
break;
|
||||
case "HTTP_STATUS_CODE":
|
||||
this.error = DeepLinkError.HTTP_STATUS_CODE;
|
||||
break;
|
||||
default:
|
||||
this.error = DeepLinkError.UNEXPECTED;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
AppsFlyer.AFLog("DeepLinkEventsArgs.parseDeepLink", String.Format("{0} Exception caught.", e));
|
||||
}
|
||||
}
|
||||
|
||||
private string getDeepLinkParameter(string name)
|
||||
{
|
||||
if (deepLink != null && deepLink.ContainsKey(name) && deepLink[name] != null)
|
||||
{
|
||||
return deepLink[name].ToString();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public enum DeepLinkStatus {
|
||||
FOUND, NOT_FOUND, ERROR
|
||||
}
|
||||
|
||||
public enum DeepLinkError {
|
||||
TIMEOUT, NETWORK, HTTP_STATUS_CODE, UNEXPECTED
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a0fc241ad5a9b43a7b461a6147dbc74c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,49 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &7315102894599890749
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6207133488976360133}
|
||||
- component: {fileID: 4405976200006927252}
|
||||
m_Layer: 0
|
||||
m_Name: AppsFlyerObject
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6207133488976360133
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7315102894599890749}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &4405976200006927252
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7315102894599890749}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2a2ec6ba1ee8b48749524f015ed572a6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
devKey:
|
||||
appID:
|
||||
isDebug: 0
|
||||
getConversionData: 0
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0bfe3b149145747cc92dc53bb4df4e9b
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,70 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using AppsFlyerSDK;
|
||||
|
||||
// This class is intended to be used the the AppsFlyerObject.prefab
|
||||
|
||||
public class AppsFlyerObjectScript : MonoBehaviour , IAppsFlyerConversionData
|
||||
{
|
||||
|
||||
// These fields are set from the editor so do not modify!
|
||||
//******************************//
|
||||
public string devKey;
|
||||
public string appID;
|
||||
public string UWPAppID;
|
||||
public string macOSAppID;
|
||||
public bool isDebug;
|
||||
public bool getConversionData;
|
||||
//******************************//
|
||||
|
||||
|
||||
void Start()
|
||||
{
|
||||
// These fields are set from the editor so do not modify!
|
||||
//******************************//
|
||||
AppsFlyer.setIsDebug(isDebug);
|
||||
#if UNITY_WSA_10_0 && !UNITY_EDITOR
|
||||
AppsFlyer.initSDK(devKey, UWPAppID, getConversionData ? this : null);
|
||||
#elif UNITY_STANDALONE_OSX && !UNITY_EDITOR
|
||||
AppsFlyer.initSDK(devKey, macOSAppID, getConversionData ? this : null);
|
||||
#else
|
||||
AppsFlyer.initSDK(devKey, appID, getConversionData ? this : null);
|
||||
#endif
|
||||
//******************************/
|
||||
|
||||
AppsFlyer.startSDK();
|
||||
}
|
||||
|
||||
|
||||
void Update()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Mark AppsFlyer CallBacks
|
||||
public void onConversionDataSuccess(string conversionData)
|
||||
{
|
||||
AppsFlyer.AFLog("didReceiveConversionData", conversionData);
|
||||
Dictionary<string, object> conversionDataDictionary = AppsFlyer.CallbackStringToDictionary(conversionData);
|
||||
// add deferred deeplink logic here
|
||||
}
|
||||
|
||||
public void onConversionDataFail(string error)
|
||||
{
|
||||
AppsFlyer.AFLog("didReceiveConversionDataWithError", error);
|
||||
}
|
||||
|
||||
public void onAppOpenAttribution(string attributionData)
|
||||
{
|
||||
AppsFlyer.AFLog("onAppOpenAttribution", attributionData);
|
||||
Dictionary<string, object> attributionDataDictionary = AppsFlyer.CallbackStringToDictionary(attributionData);
|
||||
// add direct deeplink logic here
|
||||
}
|
||||
|
||||
public void onAppOpenAttributionFailure(string error)
|
||||
{
|
||||
AppsFlyer.AFLog("onAppOpenAttributionFailure", error);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2a2ec6ba1ee8b48749524f015ed572a6
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,997 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
using UnityEngine;
|
||||
using System.Reflection;
|
||||
|
||||
|
||||
|
||||
namespace AppsFlyerSDK
|
||||
{
|
||||
|
||||
#if UNITY_IOS || UNITY_STANDALONE_OSX
|
||||
|
||||
public class AppsFlyeriOS: IAppsFlyerIOSBridge
|
||||
{
|
||||
public bool isInit { get; set; }
|
||||
|
||||
public AppsFlyeriOS() { }
|
||||
|
||||
public AppsFlyeriOS(string devKey, string appID, MonoBehaviour gameObject)
|
||||
{
|
||||
setAppsFlyerDevKey(devKey);
|
||||
setAppleAppID(appID);
|
||||
if (gameObject != null)
|
||||
{
|
||||
#if UNITY_IOS
|
||||
getConversionData(gameObject.name);
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
getConversionData(gameObject.GetType().ToString());
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Start Session.
|
||||
/// This will record a session and then record all background forground sessions during the lifecycle of the app.
|
||||
/// </summary>
|
||||
public void startSDK(bool shouldCallback, string CallBackObjectName)
|
||||
{
|
||||
#if UNITY_STANDALONE_OSX && !UNITY_EDITOR
|
||||
_startSDK(shouldCallback, CallBackObjectName, getCallback);
|
||||
#elif UNITY_IOS && !UNITY_EDITOR
|
||||
_startSDK(shouldCallback, CallBackObjectName);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Send an In-App Event.
|
||||
/// In-App Events provide insight on what is happening in your app.
|
||||
/// </summary>
|
||||
/// <param name="eventName">Name of event.</param>
|
||||
/// <param name="eventValues">Contains dictionary of values for handling by backend.</param>
|
||||
public void sendEvent(string eventName, Dictionary<string, string> eventValues)
|
||||
{
|
||||
sendEvent(eventName, eventValues, false, AppsFlyer.CallBackObjectName);
|
||||
}
|
||||
|
||||
public void sendEvent(string eventName, Dictionary<string, string> eventValues, bool shouldCallback, string callBackObjectName)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_afSendEvent(eventName, AFMiniJSON.Json.Serialize(eventValues), shouldCallback, callBackObjectName);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the conversion data.
|
||||
/// Allows the developer to access the user attribution data in real-time for every new install, directly from the SDK level.
|
||||
/// By doing this you can serve users with personalized content or send them to specific activities within the app,
|
||||
/// which can greatly enhance their engagement with your app.
|
||||
/// </summary>
|
||||
public void getConversionData(string objectName)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_getConversionData(objectName);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// In case you use your own user ID in your app, you can set this property to that ID.
|
||||
/// Enables you to cross-reference your own unique ID with AppsFlyer’s unique ID and the other devices’ IDs.
|
||||
/// </summary>
|
||||
/// <param name="customerUserID">Customer ID for client.</param>
|
||||
public void setCustomerUserId(string customerUserID)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setCustomerUserID(customerUserID);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// In case you use custom data and you want to receive it in the raw reports.
|
||||
/// see [Setting additional custom data] (https://support.appsflyer.com/hc/en-us/articles/207032066-AppsFlyer-SDK-Integration-iOS#setting-additional-custom-data) for more information.
|
||||
/// </summary>
|
||||
/// <param name="customData">additional data Dictionary.</param>
|
||||
public void setAdditionalData(Dictionary<string, string> customData)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setAdditionalData(AFMiniJSON.Json.Serialize(customData));
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Use this method to set your AppsFlyer's dev key.
|
||||
/// </summary>
|
||||
/// <param name="appsFlyerDevKey">AppsFlyer's Dev-Key, which is accessible from your AppsFlyer account under 'App Settings' in the dashboard.</param>
|
||||
public void setAppsFlyerDevKey(string appsFlyerDevKey)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setAppsFlyerDevKey(appsFlyerDevKey);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Use this method to set your app's Apple ID(taken from the app's page on iTunes Connect).
|
||||
/// </summary>
|
||||
/// <param name="appleAppID">your app's Apple ID.</param>
|
||||
public void setAppleAppID(string appleAppID)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setAppleAppID(appleAppID);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Setting user local currency code for in-app purchases.
|
||||
/// The currency code should be a 3 character ISO 4217 code. (default is USD).
|
||||
/// You can set the currency code for all events by calling the following method.
|
||||
/// </summary>
|
||||
/// <param name="currencyCode">3 character ISO 4217 code.</param>
|
||||
public void setCurrencyCode(string currencyCode)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setCurrencyCode(currencyCode);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// AppsFlyer SDK collect Apple's `advertisingIdentifier` if the `AdSupport.framework` included in the SDK.
|
||||
/// You can disable this behavior by setting the following property to true.
|
||||
/// </summary>
|
||||
/// <param name="disableCollectAppleAdSupport">boolean to disableCollectAppleAdSupport</param>
|
||||
public void setDisableCollectAppleAdSupport(bool disableCollectAppleAdSupport)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setDisableCollectAppleAdSupport(disableCollectAppleAdSupport);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enables Debug logs for the AppsFlyer SDK.
|
||||
/// Should only be set to true in development / debug.
|
||||
/// The default value is false.
|
||||
/// </summary>
|
||||
/// <param name="isDebug">shouldEnable boolean..</param>
|
||||
public void setIsDebug(bool isDebug)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setIsDebug(isDebug);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set this flag to true, to collect the current device name(e.g. "My iPhone"). Default value is false.
|
||||
/// </summary>
|
||||
/// <param name="shouldCollectDeviceName">boolean shouldCollectDeviceName.</param>
|
||||
[System.Obsolete("This is deprecated")]
|
||||
public void setShouldCollectDeviceName(bool shouldCollectDeviceName)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setShouldCollectDeviceName(shouldCollectDeviceName);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the OneLink ID that should be used for User-Invites.
|
||||
/// The link that is generated for the user invite will use this OneLink as the base link.
|
||||
/// </summary>
|
||||
/// <param name="appInviteOneLinkID">OneLink ID obtained from the AppsFlyer Dashboard.</param>
|
||||
public void setAppInviteOneLinkID(string appInviteOneLinkID)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setAppInviteOneLinkID(appInviteOneLinkID);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the deepLink timeout value that should be used for DDL.
|
||||
/// </summary>
|
||||
/// <param name="deepLinkTimeout">deepLink timeout in milliseconds.</param>
|
||||
public void setDeepLinkTimeout(long deepLinkTimeout)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setDeepLinkTimeout(deepLinkTimeout);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Calling enableTCFDataCollection(true) will enable collecting and sending any TCF related data.
|
||||
/// Calling enableTCFDataCollection(false) will disable the collection of TCF related data and from sending it.
|
||||
/// </summary>
|
||||
/// <param name = "shouldCollectTcfData" >should start TCF Data collection boolean.</param>
|
||||
public void enableTCFDataCollection(bool shouldCollectTcfData)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_enableTCFDataCollection(shouldCollectTcfData);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets or updates the user consent data related to GDPR and DMA regulations for advertising and data usage purposes within the application.
|
||||
/// </summary>
|
||||
/// <param name = "appsFlyerConsent" >instance of AppsFlyerConsent.</param>
|
||||
public void setConsentData(AppsFlyerConsent appsFlyerConsent)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setConsentData(appsFlyerConsent.isUserSubjectToGDPR, appsFlyerConsent.hasConsentForDataUsage, appsFlyerConsent.hasConsentForAdsPersonalization);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Anonymize user Data.
|
||||
/// Use this API during the SDK Initialization to explicitly anonymize a user's installs, events and sessions.
|
||||
/// Default is false
|
||||
/// </summary>
|
||||
/// <param name="shouldAnonymizeUser">boolean shouldAnonymizeUser.</param>
|
||||
public void anonymizeUser(bool shouldAnonymizeUser)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_anonymizeUser(shouldAnonymizeUser);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Opt-out for Apple Search Ads attributions.
|
||||
/// </summary>
|
||||
/// <param name="disableCollectIAd">boolean disableCollectIAd.</param>
|
||||
public void setDisableCollectIAd(bool disableCollectIAd)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setDisableCollectIAd(disableCollectIAd);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// In app purchase receipt validation Apple environment(production or sandbox). The default value is false.
|
||||
/// </summary>
|
||||
/// <param name="useReceiptValidationSandbox">boolean useReceiptValidationSandbox.</param>
|
||||
public void setUseReceiptValidationSandbox(bool useReceiptValidationSandbox)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setUseReceiptValidationSandbox(useReceiptValidationSandbox);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set this flag to test uninstall on Apple environment(production or sandbox). The default value is false.
|
||||
/// </summary>
|
||||
/// <param name="useUninstallSandbox">boolean useUninstallSandbox.</param>
|
||||
public void setUseUninstallSandbox(bool useUninstallSandbox)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setUseUninstallSandbox(useUninstallSandbox);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// For advertisers who wrap OneLink within another Universal Link.
|
||||
/// An advertiser will be able to deeplink from a OneLink wrapped within another Universal Link and also record this retargeting conversion.
|
||||
/// </summary>
|
||||
/// <param name="resolveDeepLinkURLs">Array of urls.</param>
|
||||
public void setResolveDeepLinkURLs(params string[] resolveDeepLinkURLs)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setResolveDeepLinkURLs(resolveDeepLinkURLs.Length,resolveDeepLinkURLs);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// For advertisers who use vanity OneLinks.
|
||||
/// </summary>
|
||||
/// <param name="oneLinkCustomDomains">Array of domains.</param>
|
||||
public void setOneLinkCustomDomain(params string[] oneLinkCustomDomains)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setOneLinkCustomDomains(oneLinkCustomDomains.Length, oneLinkCustomDomains);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the user emails and encrypt them.
|
||||
/// cryptMethod Encryption method:
|
||||
/// EmailCryptType.EmailCryptTypeMD5
|
||||
/// EmailCryptType.EmailCryptTypeSHA1
|
||||
/// EmailCryptType.EmailCryptTypeSHA256
|
||||
/// EmailCryptType.EmailCryptTypeNone
|
||||
/// </summary>
|
||||
/// <param name="cryptType">type Hash algoritm.</param>
|
||||
/// <param name="length">length of userEmails array.</param>
|
||||
/// <param name="userEmails">userEmails The list of strings that hold mails.</param>}
|
||||
|
||||
public void setUserEmails(EmailCryptType cryptType, params string[] userEmails)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setUserEmails(cryptType, userEmails.Length, userEmails);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the user phone number.
|
||||
/// </summary>
|
||||
/// <param name="phoneNumber">User phoneNumber.</param>
|
||||
public void setPhoneNumber(string phoneNumber){
|
||||
#if !UNITY_EDITOR
|
||||
_setPhoneNumber(phoneNumber);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// To send and validate in app purchases you can call this method from the processPurchase method - please use v2.
|
||||
/// </summary>
|
||||
/// <param name="productIdentifier">The product identifier.</param>
|
||||
/// <param name="price">The product price.</param>
|
||||
/// <param name="currency">The product currency.</param>
|
||||
/// <param name="transactionId">The purchase transaction Id.</param>
|
||||
/// <param name="additionalParameters">The additional param, which you want to receive it in the raw reports.</param>
|
||||
public void validateAndSendInAppPurchase(string productIdentifier, string price, string currency, string transactionId, Dictionary<string, string> additionalParameters, MonoBehaviour gameObject)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_validateAndSendInAppPurchase(productIdentifier, price, currency, transactionId, AFMiniJSON.Json.Serialize(additionalParameters), gameObject ? gameObject.name : null);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// V2
|
||||
/// To send and validate in app purchases you can call this method from the processPurchase method.
|
||||
/// </summary>
|
||||
/// <param name="details">The AFSDKPurchaseDetailsIOS instance.</param>
|
||||
/// <param name="extraEventValues">The extra params, which you want to receive it in the raw reports.</param>
|
||||
public void validateAndSendInAppPurchase(AFSDKPurchaseDetailsIOS details, Dictionary<string, string> extraEventValues, MonoBehaviour gameObject)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_validateAndSendInAppPurchaseV2(details.productId, details.price, details.currency, details.transactionId, AFMiniJSON.Json.Serialize(extraEventValues), gameObject ? gameObject.name : null);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// To record location for geo-fencing. Does the same as code below.
|
||||
/// </summary>
|
||||
/// <param name="longitude">The location longitude.</param>
|
||||
/// <param name="latitude">The location latitude.</param>
|
||||
public void recordLocation(double longitude, double latitude)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_recordLocation(longitude, latitude);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get AppsFlyer's unique device ID, which is created for every new install of an app.
|
||||
/// </summary>
|
||||
public string getAppsFlyerId()
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
return _getAppsFlyerId();
|
||||
#else
|
||||
return "";
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Register uninstall - you should register for remote notification and provide AppsFlyer the push device token.
|
||||
/// </summary>
|
||||
/// <param name="deviceToken">deviceToken The `deviceToken` from `-application:didRegisterForRemoteNotificationsWithDeviceToken:`.</param>
|
||||
public void registerUninstall(byte[] deviceToken)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_registerUninstall(deviceToken);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enable AppsFlyer to handle a push notification.
|
||||
/// </summary>
|
||||
/// <param name="pushPayload">pushPayload The `userInfo` from received remote notification. One of root keys should be @"af"..</param>
|
||||
public void handlePushNotification(Dictionary<string, string> pushPayload)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_handlePushNotification(AFMiniJSON.Json.Serialize(pushPayload));
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get SDK version.
|
||||
/// </summary>
|
||||
public string getSdkVersion()
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
return _getSDKVersion();
|
||||
#else
|
||||
return "";
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This property accepts a string value representing the host name for all endpoints.
|
||||
/// Can be used to Zero rate your application’s data usage.Contact your CSM for more information.
|
||||
/// </summary>
|
||||
/// <param name="host">Host Name.</param>
|
||||
/// <param name="host">Host prefix.</param>
|
||||
public void setHost(string hostPrefix, string host)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setHost(host, hostPrefix);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This property is responsible for timeout between sessions in seconds.
|
||||
/// Default value is 5 seconds.
|
||||
/// </summary>
|
||||
/// <param name="minTimeBetweenSessions">minimum time between 2 separate sessions in seconds.</param>
|
||||
public void setMinTimeBetweenSessions(int minTimeBetweenSessions)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setMinTimeBetweenSessions(minTimeBetweenSessions);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Once this API is invoked, our SDK no longer communicates with our servers and stops functioning.
|
||||
/// In some extreme cases you might want to shut down all SDK activity due to legal and privacy compliance.
|
||||
/// This can be achieved with the stopSDK API.
|
||||
/// </summary>
|
||||
/// <param name="isSDKStopped">boolean isSDKStopped.</param>
|
||||
public void stopSDK(bool isSDKStopped)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_stopSDK(isSDKStopped);
|
||||
#endif
|
||||
}
|
||||
|
||||
// <summary>
|
||||
/// Was the stopSDK(boolean) API set to true.
|
||||
/// </summary>
|
||||
/// <returns>boolean isSDKStopped.</returns>
|
||||
public bool isSDKStopped()
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
return _isSDKStopped();
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// In case you want to track deep linking manually call handleOpenUrl.
|
||||
/// The continueUserActivity and onOpenURL are implemented in the AppsFlyerAppController.mm class, so
|
||||
/// only use this method if the other methods do not cover your apps deeplinking needs.
|
||||
/// </summary>
|
||||
/// <param name="url">The URL to be passed to your AppDelegate.</param>
|
||||
/// <param name="sourceApplication">The sourceApplication to be passed to your AppDelegate.</param>
|
||||
/// <param name="annotation">The annotation to be passed to your app delegate.</param>
|
||||
public void handleOpenUrl(string url, string sourceApplication, string annotation)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_handleOpenUrl(url, sourceApplication, annotation);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Used by advertisers to exclude all networks/integrated partners from getting data.
|
||||
/// </summary>
|
||||
public void setSharingFilterForAllPartners()
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setSharingFilterForAllPartners();
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Used by advertisers to set some (one or more) networks/integrated partners to exclude from getting data.
|
||||
/// </summary>
|
||||
/// <param name="partners">partners to exclude from getting data</param>
|
||||
public void setSharingFilter(params string[] partners)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setSharingFilter(partners.Length, partners);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Lets you configure how which partners should the SDK exclude from data-sharing.
|
||||
/// <param name="partners">partners to exclude from getting data</param>
|
||||
public static void setSharingFilterForPartners(params string[] partners)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_setSharingFilterForPartners(partners.Length, partners);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// To record an impression use the following API call.
|
||||
/// Make sure to use the promoted App ID as it appears within the AppsFlyer dashboard.
|
||||
/// </summary>
|
||||
/// <param name="appID">promoted App ID.</param>
|
||||
/// <param name="campaign">cross promotion campaign.</param>
|
||||
/// <param name="parameters">parameters Dictionary.</param>
|
||||
public void recordCrossPromoteImpression(string appID, string campaign, Dictionary<string, string> parameters)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_recordCrossPromoteImpression(appID, campaign, AFMiniJSON.Json.Serialize(parameters));
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Use the following API to attribute the click and launch the app store's app page.
|
||||
/// </summary>
|
||||
/// <param name="appID">promoted App ID</param>
|
||||
/// <param name="campaign">cross promotion campaign</param>
|
||||
/// <param name="parameters">additional user params</param>
|
||||
public void attributeAndOpenStore(string appID, string campaign, Dictionary<string, string> parameters, MonoBehaviour gameObject)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_attributeAndOpenStore(appID, campaign, AFMiniJSON.Json.Serialize(parameters), gameObject ? gameObject.name : null);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The LinkGenerator class builds the invite URL according to various setter methods which allow passing on additional information on the click.
|
||||
/// See - https://support.appsflyer.com/hc/en-us/articles/115004480866-User-invite-attribution-
|
||||
/// </summary>
|
||||
/// <param name="parameters">parameters Dictionary.</param>
|
||||
public void generateUserInviteLink(Dictionary<string, string> parameters, MonoBehaviour gameObject)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_generateUserInviteLink(AFMiniJSON.Json.Serialize(parameters), gameObject ? gameObject.name : null);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// It is recommended to generate an in-app event after the invite is sent to record the invites from the senders' perspective.
|
||||
/// This enables you to find the users that tend most to invite friends, and the media sources that get you these users.
|
||||
/// </summary>
|
||||
/// <param name="channel">channel string.</param>
|
||||
/// <param name="parameters">parameters Dictionary..</param>
|
||||
public void recordInvite(string channel, Dictionary<string, string> parameters)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_recordInvite(channel, AFMiniJSON.Json.Serialize(parameters));
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Waits for request user authorization to access app-related data
|
||||
/// </summary>
|
||||
/// <param name="timeoutInterval">time to wait until session starts</param>
|
||||
public void waitForATTUserAuthorizationWithTimeoutInterval(int timeoutInterval)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_waitForATTUserAuthorizationWithTimeoutInterval(timeoutInterval);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
/// <param name="isDisabled">bool should diable</param>
|
||||
public void disableSKAdNetwork(bool isDisabled)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_disableSKAdNetwork(isDisabled);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Use this method if you’re integrating your app with push providers
|
||||
/// that don’t use the default push notification JSON schema the SDK expects.
|
||||
/// See docs for more info.
|
||||
/// </summary>
|
||||
/// <param name="paths">array of nested json path</param>
|
||||
public void addPushNotificationDeepLinkPath(params string[] paths)
|
||||
{
|
||||
#if !UNITY_EDITOR
|
||||
_addPushNotificationDeepLinkPath(paths.Length, paths);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// subscribe to unified deep link callbacks
|
||||
/// </summary>
|
||||
public void subscribeForDeepLink(string objectName){
|
||||
#if !UNITY_EDITOR
|
||||
_subscribeForDeepLink(objectName);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the language of the device.
|
||||
/// </summary>
|
||||
public void setCurrentDeviceLanguage(string language){
|
||||
#if !UNITY_EDITOR
|
||||
_setCurrentDeviceLanguage(language);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Allows sending custom data for partner integration purposes.
|
||||
/// </summary>
|
||||
public void setPartnerData(string partnerId, Dictionary<string, string> partnerInfo){
|
||||
#if !UNITY_EDITOR
|
||||
_setPartnerData(partnerId, AFMiniJSON.Json.Serialize(partnerInfo));
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Use to disable app vendor identifier (IDFV) collection, 'true' to disable.
|
||||
/// </summary>
|
||||
public void disableIDFVCollection(bool isDisabled){
|
||||
#if !UNITY_EDITOR
|
||||
_disableIDFVCollection(isDisabled);
|
||||
#endif
|
||||
}
|
||||
|
||||
delegate void unityCallBack(string message);
|
||||
|
||||
[AOT.MonoPInvokeCallback(typeof(unityCallBack))]
|
||||
public static void getCallback(string gameObjectName, string callbackName, string message)
|
||||
{
|
||||
GameObject go = GameObject.Find("AppsFlyerObject");
|
||||
var afscript = go.GetComponent("AppsFlyerObjectScript") as AppsFlyerObjectScript;
|
||||
Type type = typeof(AppsFlyerObjectScript);
|
||||
MethodInfo info = type.GetMethod(callbackName);
|
||||
info.Invoke(afscript, new[] { message });
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* AppsFlyer ios method mapping
|
||||
*/
|
||||
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
private static extern void _startSDK(bool shouldCallback, string objectName);
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
private static extern void _startSDK(bool shouldCallback, string objectName, Action<string, string, string> getCallback);
|
||||
|
||||
#endif
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _getConversionData(string objectName);
|
||||
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setCustomerUserID(string customerUserID);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setAdditionalData(string customData);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setAppsFlyerDevKey(string appsFlyerDevKey);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setAppleAppID(string appleAppID);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setCurrencyCode(string currencyCode);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setDisableCollectAppleAdSupport(bool disableCollectAppleAdSupport);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setIsDebug(bool isDebug);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setShouldCollectDeviceName(bool shouldCollectDeviceName);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setAppInviteOneLinkID(string appInviteOneLinkID);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setDeepLinkTimeout(long deepLinkTimeout);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _anonymizeUser(bool shouldAnonymizeUser);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _enableTCFDataCollection(bool shouldCollectTcfData);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setConsentData(bool isUserSubjectToGDPR, bool hasConsentForDataUsage, bool hasConsentForAdsPersonalization);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setDisableCollectIAd(bool disableCollectIAd);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setUseReceiptValidationSandbox(bool useReceiptValidationSandbox);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setUseUninstallSandbox(bool useUninstallSandbox);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setResolveDeepLinkURLs(int length, params string[] resolveDeepLinkURLs);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setOneLinkCustomDomains(int length, params string[] oneLinkCustomDomains);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setUserEmails(EmailCryptType cryptType, int length, params string[] userEmails);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setPhoneNumber(string phoneNumber);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _afSendEvent(string eventName, string eventValues, bool shouldCallback, string objectName);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _validateAndSendInAppPurchase(string productIdentifier, string price, string currency, string transactionId, string additionalParameters, string objectName);
|
||||
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _validateAndSendInAppPurchaseV2(string product, string price, string currency, string transactionId, string extraEventValues, string objectName);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _recordLocation(double longitude, double latitude);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern string _getAppsFlyerId();
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _registerUninstall(byte[] deviceToken);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _handlePushNotification(string pushPayload);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern string _getSDKVersion();
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setHost(string host, string hostPrefix);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setMinTimeBetweenSessions(int minTimeBetweenSessions);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _stopSDK(bool isStopSDK);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern bool _isSDKStopped();
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _handleOpenUrl(string url, string sourceApplication, string annotation);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setSharingFilterForAllPartners();
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setSharingFilter(int length, params string[] partners);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setSharingFilterForPartners(int length, params string[] partners);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _recordCrossPromoteImpression(string appID, string campaign, string parameters);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _attributeAndOpenStore(string appID, string campaign, string parameters, string gameObject);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _generateUserInviteLink(string parameters, string gameObject);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _recordInvite(string channel, string parameters);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _waitForATTUserAuthorizationWithTimeoutInterval(int timeoutInterval);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _disableSKAdNetwork(bool isDisabled);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _addPushNotificationDeepLinkPath(int length, params string[] paths);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _subscribeForDeepLink(string objectName);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setCurrentDeviceLanguage(string language);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _setPartnerData(string partnerId, string partnerInfo);
|
||||
|
||||
#if UNITY_IOS
|
||||
[DllImport("__Internal")]
|
||||
#elif UNITY_STANDALONE_OSX
|
||||
[DllImport("AppsFlyerBundle")]
|
||||
#endif
|
||||
private static extern void _disableIDFVCollection(bool isDisabled);
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b34371b3cc09641ebb007ffc4e9500f0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9f84c02aa78da4ac9b444d98d97f7cc4
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "AppsFlyer.Editor",
|
||||
"references": [
|
||||
"AppsFlyer"
|
||||
],
|
||||
"includePlatforms": [
|
||||
"Editor"
|
||||
],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"noEngineReferences": false
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d008146f00dea44d38752b4289e5f65b
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<dependencies>
|
||||
|
||||
<androidPackages>
|
||||
<androidPackage spec="com.appsflyer:af-android-sdk:6.14.2">
|
||||
</androidPackage>
|
||||
<androidPackage spec="com.appsflyer:unity-wrapper:6.14.4">
|
||||
</androidPackage>
|
||||
<androidPackage spec="com.android.installreferrer:installreferrer:2.1">
|
||||
</androidPackage>
|
||||
</androidPackages>
|
||||
|
||||
<iosPods>
|
||||
<iosPod name="AppsFlyerFramework" version="6.14.4" minTargetSdk="12.0">
|
||||
</iosPod>
|
||||
</iosPods>
|
||||
|
||||
</dependencies>
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a03558dbbfeac45db9afe9e9c2df5a85
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,84 @@
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
[CustomEditor(typeof(AppsFlyerObjectScript))]
|
||||
[CanEditMultipleObjects]
|
||||
public class AppsFlyerObjectEditor : Editor
|
||||
{
|
||||
|
||||
SerializedProperty devKey;
|
||||
SerializedProperty appID;
|
||||
SerializedProperty UWPAppID;
|
||||
SerializedProperty macOSAppID;
|
||||
SerializedProperty isDebug;
|
||||
SerializedProperty getConversionData;
|
||||
|
||||
|
||||
void OnEnable()
|
||||
{
|
||||
devKey = serializedObject.FindProperty("devKey");
|
||||
appID = serializedObject.FindProperty("appID");
|
||||
UWPAppID = serializedObject.FindProperty("UWPAppID");
|
||||
macOSAppID = serializedObject.FindProperty("macOSAppID");
|
||||
isDebug = serializedObject.FindProperty("isDebug");
|
||||
getConversionData = serializedObject.FindProperty("getConversionData");
|
||||
}
|
||||
|
||||
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
serializedObject.Update();
|
||||
|
||||
GUILayout.Box((Texture)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(AssetDatabase.FindAssets("appsflyer_logo")[0]), typeof(Texture)), new GUILayoutOption[] { GUILayout.Width(600) });
|
||||
|
||||
EditorGUILayout.Separator();
|
||||
EditorGUILayout.HelpBox("Set your devKey and appID to init the AppsFlyer SDK and start tracking. You must modify these fields and provide:\ndevKey - Your application devKey provided by AppsFlyer.\nappId - For iOS only. Your iTunes Application ID.\nUWP app id - For UWP only. Your application app id \nMac OS app id - For MacOS app only.", MessageType.Info);
|
||||
|
||||
EditorGUILayout.PropertyField(devKey);
|
||||
EditorGUILayout.PropertyField(appID);
|
||||
EditorGUILayout.PropertyField(UWPAppID);
|
||||
EditorGUILayout.PropertyField(macOSAppID);
|
||||
EditorGUILayout.Separator();
|
||||
EditorGUILayout.HelpBox("Enable get conversion data to allow your app to recive deeplinking callbacks", MessageType.None);
|
||||
EditorGUILayout.PropertyField(getConversionData);
|
||||
EditorGUILayout.Separator();
|
||||
EditorGUILayout.HelpBox("Debugging should be restricted to development phase only.\n Do not distribute the app to app stores with debugging enabled", MessageType.Warning);
|
||||
EditorGUILayout.PropertyField(isDebug);
|
||||
EditorGUILayout.Separator();
|
||||
|
||||
EditorGUILayout.HelpBox("For more information on setting up AppsFlyer check out our relevant docs.", MessageType.None);
|
||||
|
||||
|
||||
if (GUILayout.Button("AppsFlyer Unity Docs", new GUILayoutOption[] { GUILayout.Width(200) }))
|
||||
{
|
||||
Application.OpenURL("https://support.appsflyer.com/hc/en-us/articles/213766183-Unity-SDK-integration-for-developers");
|
||||
}
|
||||
|
||||
if (GUILayout.Button("AppsFlyer Android Docs", new GUILayoutOption[] { GUILayout.Width(200) }))
|
||||
{
|
||||
Application.OpenURL("https://support.appsflyer.com/hc/en-us/articles/207032126-Android-SDK-integration-for-developers");
|
||||
}
|
||||
|
||||
if (GUILayout.Button("AppsFlyer iOS Docs", new GUILayoutOption[] { GUILayout.Width(200) }))
|
||||
{
|
||||
Application.OpenURL("https://support.appsflyer.com/hc/en-us/articles/207032066-AppsFlyer-SDK-Integration-iOS");
|
||||
}
|
||||
|
||||
if (GUILayout.Button("AppsFlyer Deeplinking Docs", new GUILayoutOption[] { GUILayout.Width(200) }))
|
||||
{
|
||||
Application.OpenURL("https://support.appsflyer.com/hc/en-us/articles/208874366-OneLink-deep-linking-guide#Setups");
|
||||
}
|
||||
|
||||
if (GUILayout.Button("AppsFlyer Windows Docs", new GUILayoutOption[] { GUILayout.Width(200) }))
|
||||
{
|
||||
Application.OpenURL("https://support.appsflyer.com/hc/en-us/articles/207032026-Windows-and-Xbox-SDK-integration-for-developers");
|
||||
}
|
||||
|
||||
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d248a134cf494486fb1d6a2e95a05d87
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 9.2 KiB |
@@ -0,0 +1,92 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bc7fa5a6b64b944a4b2900fd877acb8b
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,31 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace AppsFlyerSDK
|
||||
{
|
||||
|
||||
public interface IAppsFlyerAndroidBridge : IAppsFlyerNativeBridge
|
||||
{
|
||||
void updateServerUninstallToken(string token);
|
||||
void setImeiData(string imei);
|
||||
void setAndroidIdData(string androidId);
|
||||
void waitForCustomerUserId(bool wait);
|
||||
void setCustomerIdAndStartSDK(string id);
|
||||
string getOutOfStore();
|
||||
void setOutOfStore(string sourceName);
|
||||
void setCollectAndroidID(bool isCollect);
|
||||
void setCollectIMEI(bool isCollect);
|
||||
void setIsUpdate(bool isUpdate);
|
||||
void setPreinstallAttribution(string mediaSource, string campaign, string siteId);
|
||||
bool isPreInstalledApp();
|
||||
string getAttributionId();
|
||||
void handlePushNotifications();
|
||||
void validateAndSendInAppPurchase(string publicKey, string signature, string purchaseData, string price, string currency, Dictionary<string, string> additionalParameters, MonoBehaviour gameObject);
|
||||
void validateAndSendInAppPurchase(AFPurchaseDetailsAndroid details, Dictionary<string, string> additionalParameters, MonoBehaviour gameObject);
|
||||
void setCollectOaid(bool isCollect);
|
||||
void setDisableAdvertisingIdentifiers(bool disable);
|
||||
void setDisableNetworkData(bool disable);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cdf9d1bc41a8244b3bc2d249fb6cd7aa
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,31 @@
|
||||
namespace AppsFlyerSDK
|
||||
{
|
||||
public interface IAppsFlyerConversionData
|
||||
{
|
||||
/// <summary>
|
||||
/// `conversionData` contains information about install. Organic/non-organic, etc.
|
||||
/// <see>https://support.appsflyer.com/hc/en-us/articles/360000726098-Conversion-Data-Scenarios#Introduction</see>
|
||||
/// </summary>
|
||||
/// <param name="conversionData">JSON string of the returned conversion data.</param>
|
||||
void onConversionDataSuccess(string conversionData);
|
||||
|
||||
/// <summary>
|
||||
/// Any errors that occurred during the conversion request.
|
||||
/// </summary>
|
||||
/// <param name="error">A string describing the error.</param>
|
||||
void onConversionDataFail(string error);
|
||||
|
||||
/// <summary>
|
||||
/// `attributionData` contains information about OneLink, deeplink.
|
||||
/// <see>https://support.appsflyer.com/hc/en-us/articles/208874366-OneLink-Deep-Linking-Guide#Intro</see>
|
||||
/// </summary>
|
||||
/// <param name="attributionData">JSON string of the returned deeplink data.</param>
|
||||
void onAppOpenAttribution(string attributionData);
|
||||
|
||||
/// <summary>
|
||||
/// Any errors that occurred during the attribution request.
|
||||
/// </summary>
|
||||
/// <param name="error">A string describing the error.</param>
|
||||
void onAppOpenAttributionFailure(string error);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d2f1d4dadb7cb44628f25f1ffd8fc104
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,26 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
namespace AppsFlyerSDK
|
||||
{
|
||||
|
||||
public interface IAppsFlyerIOSBridge : IAppsFlyerNativeBridge
|
||||
{
|
||||
void setDisableCollectAppleAdSupport(bool disable);
|
||||
void setShouldCollectDeviceName(bool shouldCollectDeviceName);
|
||||
void setDisableCollectIAd(bool disableCollectIAd);
|
||||
void setUseReceiptValidationSandbox(bool useReceiptValidationSandbox);
|
||||
void setUseUninstallSandbox(bool useUninstallSandbox);
|
||||
void validateAndSendInAppPurchase(string productIdentifier, string price, string currency, string transactionId, Dictionary<string, string> additionalParameters, MonoBehaviour gameObject);
|
||||
void validateAndSendInAppPurchase(AFSDKPurchaseDetailsIOS details, Dictionary<string, string> extraEventValues, MonoBehaviour gameObject);
|
||||
void registerUninstall(byte[] deviceToken);
|
||||
void handleOpenUrl(string url, string sourceApplication, string annotation);
|
||||
void waitForATTUserAuthorizationWithTimeoutInterval(int timeoutInterval);
|
||||
void setCurrentDeviceLanguage(string language);
|
||||
void disableSKAdNetwork(bool isDisabled);
|
||||
void disableIDFVCollection(bool isDisabled);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6847fb337898040288c165e3667101a3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,74 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace AppsFlyerSDK
|
||||
{
|
||||
|
||||
public interface IAppsFlyerNativeBridge
|
||||
{
|
||||
bool isInit { get; set; }
|
||||
|
||||
void startSDK(bool onRequestResponse, string CallBackObjectName);
|
||||
|
||||
void sendEvent(string eventName, Dictionary<string, string> eventValues, bool onInAppResponse, string CallBackObjectName);
|
||||
|
||||
void stopSDK(bool isSDKStopped);
|
||||
|
||||
bool isSDKStopped();
|
||||
|
||||
string getSdkVersion();
|
||||
|
||||
void setCustomerUserId(string id);
|
||||
|
||||
void setAppInviteOneLinkID(string oneLinkId);
|
||||
|
||||
void setAdditionalData(Dictionary<string, string> customData);
|
||||
|
||||
void setDeepLinkTimeout(long deepLinkTimeout);
|
||||
|
||||
void setResolveDeepLinkURLs(params string[] urls);
|
||||
|
||||
void setOneLinkCustomDomain(params string[] domains);
|
||||
|
||||
void setCurrencyCode(string currencyCode);
|
||||
|
||||
void recordLocation(double latitude, double longitude);
|
||||
|
||||
void anonymizeUser(bool shouldAnonymizeUser);
|
||||
|
||||
string getAppsFlyerId();
|
||||
|
||||
void enableTCFDataCollection(bool shouldCollectTcfData);
|
||||
|
||||
void setConsentData(AppsFlyerConsent appsFlyerConsent);
|
||||
|
||||
void setMinTimeBetweenSessions(int seconds);
|
||||
|
||||
void setHost(string hostPrefixName, string hostName);
|
||||
|
||||
void setPhoneNumber(string phoneNumber);
|
||||
|
||||
void setSharingFilterForAllPartners();
|
||||
|
||||
void setSharingFilter(params string[] partners);
|
||||
|
||||
void getConversionData(string objectName);
|
||||
|
||||
void attributeAndOpenStore(string appID, string campaign, Dictionary<string, string> userParams, MonoBehaviour gameObject);
|
||||
|
||||
void recordCrossPromoteImpression(string appID, string campaign, Dictionary<string, string> parameters);
|
||||
|
||||
void generateUserInviteLink(Dictionary<string, string> parameters, MonoBehaviour gameObject);
|
||||
|
||||
void addPushNotificationDeepLinkPath(params string[] paths);
|
||||
|
||||
void setUserEmails(EmailCryptType cryptType, params string[] userEmails);
|
||||
|
||||
void subscribeForDeepLink(string objectName);
|
||||
|
||||
void setIsDebug(bool shouldEnable);
|
||||
|
||||
void setPartnerData(string partnerId, Dictionary<string, string> partnerInfo);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 409b8302434664a3785ce55d075e7f58
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,26 @@
|
||||
namespace AppsFlyerSDK
|
||||
{
|
||||
public interface IAppsFlyerUserInvite
|
||||
{
|
||||
/// <summary>
|
||||
/// The success callback for generating OneLink URLs.
|
||||
/// </summary>
|
||||
/// <param name="link">A string of the newly created url.</param>
|
||||
void onInviteLinkGenerated(string link);
|
||||
|
||||
/// <summary>
|
||||
/// The error callback for generating OneLink URLs
|
||||
/// </summary>
|
||||
/// <param name="error">A string describing the error.</param>
|
||||
void onInviteLinkGeneratedFailure(string error);
|
||||
|
||||
/// <summary>
|
||||
/// (ios only) iOS allows you to utilize the StoreKit component to open
|
||||
/// the App Store while remaining in the context of your app.
|
||||
/// More details at <see>https://support.appsflyer.com/hc/en-us/articles/115004481946-Cross-Promotion-Tracking#tracking-cross-promotion-impressions</see>
|
||||
/// </summary>
|
||||
/// <param name="link">openStore callback Contains promoted `clickURL`</param>
|
||||
void onOpenStoreLinkGenerated(string link);
|
||||
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user