From 76f58a38686d419b74f316ac4c362d5475f89421 Mon Sep 17 00:00:00 2001 From: a-maurice Date: Tue, 1 Jul 2025 16:57:40 -0700 Subject: [PATCH] [Dynamic Links] Remove the Dynamic Links library --- .github/ISSUE_TEMPLATE/feature-request.yml | 2 +- .github/ISSUE_TEMPLATE/general-question.yml | 4 +- .github/ISSUE_TEMPLATE/issue.yml | 4 +- .github/workflows/build_android.yml | 2 +- .github/workflows/build_ios.yml | 2 +- .github/workflows/build_linux.yml | 2 +- .github/workflows/build_macos.yml | 2 +- .github/workflows/build_starter.yml | 4 +- .github/workflows/build_windows.yml | 2 +- .github/workflows/generate_swig.yml | 2 +- .github/workflows/integration_tests.yml | 2 +- .github/workflows/package.yml | 4 +- CMakeLists.txt | 14 - README.md | 5 +- app/platform/Unity/AssemblyInfo.cs | 2 - app/src/swig/app.i | 8 - app/src/unity_main.cpp | 3 - .../ProjectSettings/ProjectSettings.asset | 4 +- cmake/android_dependencies.cmake | 5 - .../ProjectSettings/ProjectSettings.asset | 4 +- docs/dynamic_links/DynamicLinksReadme.md | 46 - docs/dynamic_links/DynamicLinks_icon.png | Bin 8371 -> 0 bytes docs/dynamic_links/DynamicLinks_large.png | Bin 31051 -> 0 bytes docs/dynamic_links/DynamicLinks_small.png | Bin 7637 -> 0 bytes docs/readme.md | 8 +- dynamic_links/CMakeLists.txt | 102 -- dynamic_links/src/AndroidParameters.cs | 45 - dynamic_links/src/DynamicLinkComponents.cs | 123 -- dynamic_links/src/DynamicLinkOptions.cs | 32 - dynamic_links/src/DynamicLinkPathLength.cs | 50 - dynamic_links/src/DynamicLinks.cs | 157 -- .../src/GoogleAnalyticsParameters.cs | 37 - dynamic_links/src/IOSParameters.cs | 56 - .../src/ITunesConnectAnalyticsParameters.cs | 31 - dynamic_links/src/ReceivedDynamicLink.cs | 27 - .../src/ReceivedDynamicLinkEventArgs.cs | 28 - dynamic_links/src/ShortDynamicLink.cs | 45 - dynamic_links/src/SocialMetaTagParameters.cs | 29 - dynamic_links/src/swig/dynamic_links.i | 339 ---- .../Sample/DynamicLinks/MainScene.unity | 214 --- .../Sample/DynamicLinks/MainScene.unity.meta | 8 - .../DynamicLinks/MainSceneAutomated.unity | 215 --- .../MainSceneAutomated.unity.meta | 8 - .../Firebase/Sample/DynamicLinks/UIHandler.cs | 260 --- .../Sample/DynamicLinks/UIHandler.cs.meta | 12 - .../Sample/DynamicLinks/UIHandlerAutomated.cs | 151 -- .../DynamicLinks/UIHandlerAutomated.cs.meta | 12 - .../Assets/Firebase/Sample/GuiSkin.guiskin | 1427 ----------------- .../Firebase/Sample/GuiSkin.guiskin.meta | 8 - .../GameLoops.androidlib/AndroidManifest.xml | 13 - .../AndroidManifest.xml.meta | 7 - .../GameLoops.androidlib/project.properties | 7 - .../project.properties.meta | 7 - .../ProjectSettings/AudioManager.asset | 15 - .../ProjectSettings/ClusterInputManager.asset | 6 - .../ProjectSettings/DynamicsManager.asset | 15 - .../ProjectSettings/EditorBuildSettings.asset | 7 - .../ProjectSettings/EditorSettings.asset | 15 - .../ProjectSettings/GraphicsSettings.asset | 67 - .../ProjectSettings/InputManager.asset | 295 ---- .../ProjectSettings/NavMeshAreas.asset | 71 - .../ProjectSettings/NetworkManager.asset | 8 - .../PackageManagerSettings.asset | 38 - .../ProjectSettings/Physics2DSettings.asset | 25 - .../ProjectSettings/PresetManager.asset | 7 - .../ProjectSettings/ProjectSettings.asset | 1052 ------------ .../ProjectSettings/ProjectVersion.txt | 2 - .../ProjectSettings/QualitySettings.asset | 185 --- .../testapp/ProjectSettings/TagManager.asset | 43 - .../testapp/ProjectSettings/TimeManager.asset | 8 - .../UnityConnectSettings.asset | 34 - .../testapp/ProjectSettings/VFXManager.asset | 12 - .../testapp/ProjectSettings/XRSettings.asset | 10 - dynamic_links/testapp/readme.md | 261 --- editor/app/assets/fb_dynamic_links.png | Bin 468 -> 0 bytes editor/app/assets/fb_dynamic_links.png.meta | 58 - editor/app/assets/fb_dynamic_links_dark.png | Bin 470 -> 0 bytes .../app/assets/fb_dynamic_links_dark.png.meta | 58 - editor/app/assets/fb_invites.png | Bin 390 -> 0 bytes editor/app/assets/fb_invites.png.meta | 58 - editor/app/assets/fb_invites_dark.png | Bin 424 -> 0 bytes editor/app/assets/fb_invites_dark.png.meta | 58 - editor/app/src/ApiInfo.cs | 11 - editor/app/src/AssemblyInfo.cs | 1 - editor/app/src/DocRef.Designer.cs | 54 - editor/app/src/DocRef.resx | 18 - editor/app/src/Link.Designer.cs | 36 - editor/app/src/Link.resx | 12 - editor/app/src/SettingsWindow.cs | 1 - editor/app/src/XcodeProjectPatcher.cs | 13 +- proxy/AssemblyInfoApp.cs | 2 - release_build_files/CMakeLists.txt | 5 - scripts/build_scripts/build_package.py | 2 +- scripts/build_scripts/build_zips.py | 7 +- scripts/create_debug_export.py | 1 - .../GoogleService-Info.plist.gpg | Bin 683 -> 0 bytes .../dynamic_links/google-services.json.gpg | Bin 1628 -> 0 bytes .../gha-encrypted/dynamic_links/uri.txt.gpg | 1 - scripts/gha/build_testapps.py | 2 +- .../integration_testing/build_testapps.json | 18 - scripts/gha/print_matrix_configuration.py | 2 +- scripts/gha/restore_secrets.py | 11 +- .../dynamic_links.json | 319 ---- unity_packer/exports.json | 103 -- 104 files changed, 33 insertions(+), 6575 deletions(-) delete mode 100644 docs/dynamic_links/DynamicLinksReadme.md delete mode 100644 docs/dynamic_links/DynamicLinks_icon.png delete mode 100644 docs/dynamic_links/DynamicLinks_large.png delete mode 100644 docs/dynamic_links/DynamicLinks_small.png delete mode 100644 dynamic_links/CMakeLists.txt delete mode 100644 dynamic_links/src/AndroidParameters.cs delete mode 100644 dynamic_links/src/DynamicLinkComponents.cs delete mode 100644 dynamic_links/src/DynamicLinkOptions.cs delete mode 100644 dynamic_links/src/DynamicLinkPathLength.cs delete mode 100644 dynamic_links/src/DynamicLinks.cs delete mode 100644 dynamic_links/src/GoogleAnalyticsParameters.cs delete mode 100644 dynamic_links/src/IOSParameters.cs delete mode 100644 dynamic_links/src/ITunesConnectAnalyticsParameters.cs delete mode 100644 dynamic_links/src/ReceivedDynamicLink.cs delete mode 100644 dynamic_links/src/ReceivedDynamicLinkEventArgs.cs delete mode 100644 dynamic_links/src/ShortDynamicLink.cs delete mode 100644 dynamic_links/src/SocialMetaTagParameters.cs delete mode 100644 dynamic_links/src/swig/dynamic_links.i delete mode 100644 dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/MainScene.unity delete mode 100644 dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/MainScene.unity.meta delete mode 100644 dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/MainSceneAutomated.unity delete mode 100644 dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/MainSceneAutomated.unity.meta delete mode 100644 dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandler.cs delete mode 100644 dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandler.cs.meta delete mode 100644 dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandlerAutomated.cs delete mode 100644 dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandlerAutomated.cs.meta delete mode 100644 dynamic_links/testapp/Assets/Firebase/Sample/GuiSkin.guiskin delete mode 100644 dynamic_links/testapp/Assets/Firebase/Sample/GuiSkin.guiskin.meta delete mode 100644 dynamic_links/testapp/Assets/Plugins/Android/GameLoops.androidlib/AndroidManifest.xml delete mode 100644 dynamic_links/testapp/Assets/Plugins/Android/GameLoops.androidlib/AndroidManifest.xml.meta delete mode 100755 dynamic_links/testapp/Assets/Plugins/Android/GameLoops.androidlib/project.properties delete mode 100644 dynamic_links/testapp/Assets/Plugins/Android/GameLoops.androidlib/project.properties.meta delete mode 100644 dynamic_links/testapp/ProjectSettings/AudioManager.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/ClusterInputManager.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/DynamicsManager.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/EditorBuildSettings.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/EditorSettings.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/GraphicsSettings.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/InputManager.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/NavMeshAreas.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/NetworkManager.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/PackageManagerSettings.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/Physics2DSettings.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/PresetManager.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/ProjectSettings.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/ProjectVersion.txt delete mode 100644 dynamic_links/testapp/ProjectSettings/QualitySettings.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/TagManager.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/TimeManager.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/UnityConnectSettings.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/VFXManager.asset delete mode 100644 dynamic_links/testapp/ProjectSettings/XRSettings.asset delete mode 100644 dynamic_links/testapp/readme.md delete mode 100644 editor/app/assets/fb_dynamic_links.png delete mode 100644 editor/app/assets/fb_dynamic_links.png.meta delete mode 100644 editor/app/assets/fb_dynamic_links_dark.png delete mode 100644 editor/app/assets/fb_dynamic_links_dark.png.meta delete mode 100644 editor/app/assets/fb_invites.png delete mode 100644 editor/app/assets/fb_invites.png.meta delete mode 100644 editor/app/assets/fb_invites_dark.png delete mode 100644 editor/app/assets/fb_invites_dark.png.meta delete mode 100644 scripts/gha-encrypted/dynamic_links/GoogleService-Info.plist.gpg delete mode 100644 scripts/gha-encrypted/dynamic_links/google-services.json.gpg delete mode 100644 scripts/gha-encrypted/dynamic_links/uri.txt.gpg delete mode 100644 unity_packer/debug_single_export_json/dynamic_links.json diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml index 893212bf2..d3acdfdcf 100644 --- a/.github/ISSUE_TEMPLATE/feature-request.yml +++ b/.github/ISSUE_TEMPLATE/feature-request.yml @@ -47,7 +47,7 @@ body: - Authentication - Crashlytics - Database - - DynamicLinks + - Firebase AI Logic - Firestore - Functions - In-App Messaging diff --git a/.github/ISSUE_TEMPLATE/general-question.yml b/.github/ISSUE_TEMPLATE/general-question.yml index 93548a67a..cfecf4620 100644 --- a/.github/ISSUE_TEMPLATE/general-question.yml +++ b/.github/ISSUE_TEMPLATE/general-question.yml @@ -48,7 +48,7 @@ body: - Authentication - Crashlytics - Database - - DynamicLinks + - Firebase AI Logic - Firestore - Functions - In-App Messaging @@ -72,7 +72,7 @@ body: - Authentication - Crashlytics - Database - - DynamicLinks + - Firebase AI Logic - Firestore - Functions - In-App Messaging diff --git a/.github/ISSUE_TEMPLATE/issue.yml b/.github/ISSUE_TEMPLATE/issue.yml index 8fcec5edb..b35287eed 100644 --- a/.github/ISSUE_TEMPLATE/issue.yml +++ b/.github/ISSUE_TEMPLATE/issue.yml @@ -78,7 +78,7 @@ body: - Authentication - Crashlytics - Database - - DynamicLinks + - Firebase AI Logic - Firestore - Functions - In-App Messaging @@ -104,7 +104,7 @@ body: - Authentication - Crashlytics - Database - - DynamicLinks + - Firebase AI Logic - Firestore - Functions - In-App Messaging diff --git a/.github/workflows/build_android.yml b/.github/workflows/build_android.yml index 217d8050e..4ebe573d4 100644 --- a/.github/workflows/build_android.yml +++ b/.github/workflows/build_android.yml @@ -20,7 +20,7 @@ on: type: string apis: description: 'CSV of apis to build and test' - default: 'analytics,app_check,auth,crashlytics,database,dynamic_links,firebaseai,firestore,functions,installations,messaging,remote_config,storage' + default: 'analytics,app_check,auth,crashlytics,database,firebaseai,firestore,functions,installations,messaging,remote_config,storage' required: true type: string unity_platform_name: diff --git a/.github/workflows/build_ios.yml b/.github/workflows/build_ios.yml index 66b237b4b..31ac0e14f 100644 --- a/.github/workflows/build_ios.yml +++ b/.github/workflows/build_ios.yml @@ -20,7 +20,7 @@ on: type: string apis: description: 'CSV of apis to build and test' - default: 'analytics,app_check,auth,crashlytics,database,dynamic_links,firebaseai,firestore,functions,installations,messaging,remote_config,storage' + default: 'analytics,app_check,auth,crashlytics,database,firebaseai,firestore,functions,installations,messaging,remote_config,storage' required: true type: string unity_platform_name: diff --git a/.github/workflows/build_linux.yml b/.github/workflows/build_linux.yml index 63a65a18f..a5fcfc2b4 100644 --- a/.github/workflows/build_linux.yml +++ b/.github/workflows/build_linux.yml @@ -20,7 +20,7 @@ on: type: string apis: description: 'CSV of apis to build and test' - default: 'analytics,app_check,auth,crashlytics,database,dynamic_links,firebaseai,firestore,functions,installations,messaging,remote_config,storage' + default: 'analytics,app_check,auth,crashlytics,database,firebaseai,firestore,functions,installations,messaging,remote_config,storage' required: true type: string unity_platform_name: diff --git a/.github/workflows/build_macos.yml b/.github/workflows/build_macos.yml index 7512cdb2d..ea17ef846 100644 --- a/.github/workflows/build_macos.yml +++ b/.github/workflows/build_macos.yml @@ -20,7 +20,7 @@ on: type: string apis: description: 'CSV of apis to build and test' - default: 'analytics,app_check,auth,crashlytics,database,dynamic_links,firebaseai,firestore,functions,installations,messaging,remote_config,storage' + default: 'analytics,app_check,auth,crashlytics,database,firebaseai,firestore,functions,installations,messaging,remote_config,storage' required: true type: string unity_platform_name: diff --git a/.github/workflows/build_starter.yml b/.github/workflows/build_starter.yml index 6725b4c31..eea1c96ae 100644 --- a/.github/workflows/build_starter.yml +++ b/.github/workflows/build_starter.yml @@ -28,7 +28,7 @@ on: required: true apis: description: 'CSV of apis to build and test' - default: 'analytics,app_check,auth,crashlytics,database,dynamic_links,firebaseai,firestore,functions,installations,messaging,remote_config,storage' + default: 'analytics,app_check,auth,crashlytics,database,firebaseai,firestore,functions,installations,messaging,remote_config,storage' required: true # Additional CMake flags to use additional_cmake_flags: @@ -104,7 +104,7 @@ jobs: echo "platform='Android,iOS,tvOS,Windows,macOS,Linux,Playmode'" >> $GITHUB_OUTPUT echo "release_label=nightly-$(date "+%Y%m%d-%H%M%S")" >> $GITHUB_OUTPUT echo "release_version=NoVersion" >> $GITHUB_OUTPUT - echo "apis='analytics,app_check,auth,crashlytics,database,dynamic_links,firebaseai,firestore,functions,installations,messaging,remote_config,storage'" >> $GITHUB_OUTPUT + echo "apis='analytics,app_check,auth,crashlytics,database,firebaseai,firestore,functions,installations,messaging,remote_config,storage'" >> $GITHUB_OUTPUT echo "unity_version=2021" >> $GITHUB_OUTPUT echo "should_trigger_package=true" >> $GITHUB_OUTPUT echo "firebase_cpp_sdk_version=" >> $GITHUB_OUTPUT diff --git a/.github/workflows/build_windows.yml b/.github/workflows/build_windows.yml index 62e0b63dc..bd174a6c0 100644 --- a/.github/workflows/build_windows.yml +++ b/.github/workflows/build_windows.yml @@ -20,7 +20,7 @@ on: type: string apis: description: 'CSV of apis to build and test' - default: 'analytics,app_check,auth,crashlytics,database,dynamic_links,firebaseai,firestore,functions,installations,messaging,remote_config,storage' + default: 'analytics,app_check,auth,crashlytics,database,firebaseai,firestore,functions,installations,messaging,remote_config,storage' required: true type: string unity_platform_name: diff --git a/.github/workflows/generate_swig.yml b/.github/workflows/generate_swig.yml index 14bfdbb53..dbda1d246 100644 --- a/.github/workflows/generate_swig.yml +++ b/.github/workflows/generate_swig.yml @@ -16,7 +16,7 @@ on: type: string apis: description: 'CSV of apis to build and test' - default: 'analytics,app_check,auth,crashlytics,database,dynamic_links,firebaseai,firestore,functions,installations,messaging,remote_config,storage' + default: 'analytics,app_check,auth,crashlytics,database,firebaseai,firestore,functions,installations,messaging,remote_config,storage' required: true type: string # Additional CMake flags to use diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index bc188394a..a8a6ecd22 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -18,7 +18,7 @@ on: required: true apis: description: 'CSV of apis to build and test' - default: 'analytics,app_check,auth,crashlytics,database,dynamic_links,firebaseai,firestore,functions,installations,messaging,remote_config,storage' + default: 'analytics,app_check,auth,crashlytics,database,firebaseai,firestore,functions,installations,messaging,remote_config,storage' required: true mobile_test_on: description: 'Run mobile tests on real and/or virtual devices? (value: real, virtual. separated by commas)' diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 43b4170d5..a66dc7221 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -33,7 +33,7 @@ on: type: string apis: description: 'CSV of apis to build and test' - default: 'analytics,app_check,auth,crashlytics,database,dynamic_links,firebaseai,firestore,functions,installations,messaging,remote_config,storage' + default: 'analytics,app_check,auth,crashlytics,database,firebaseai,firestore,functions,installations,messaging,remote_config,storage' required: true type: string @@ -42,7 +42,7 @@ permissions: write-all env: # Use SHA256 for hashing files. hashCommand: "sha256sum" - default_apis: 'analytics,app_check,auth,crashlytics,database,dynamic_links,firebaseai,firestore,functions,installations,messaging,remote_config,storage' + default_apis: 'analytics,app_check,auth,crashlytics,database,firebaseai,firestore,functions,installations,messaging,remote_config,storage' jobs: package_sdks: diff --git a/CMakeLists.txt b/CMakeLists.txt index 6b622871b..cddb5e6f5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,9 +48,6 @@ option(FIREBASE_INCLUDE_CRASHLYTICS option(FIREBASE_INCLUDE_DATABASE "Include the Firebase Realtime Database library." ${FIREBASE_INCLUDE_LIBRARY_DEFAULT}) -option(FIREBASE_INCLUDE_DYNAMIC_LINKS - "Include the Firebase Dynamic Links library." - ${FIREBASE_INCLUDE_LIBRARY_DEFAULT}) option(FIREBASE_INCLUDE_INSTALLATIONS "Include the Firebase Installations library." ${FIREBASE_INCLUDE_LIBRARY_DEFAULT}) @@ -268,11 +265,6 @@ if (DESKTOP AND APPLE AND FIREBASE_INCLUDE_EDITOR_TOOL AND NOT FIREBASE_GENERATE add_subdirectory(editor) endif() -if (PLATFORM STREQUAL TVOS OR PLATFORM STREQUAL SIMULATOR_TVOS) - # Dynamic Links is not supported on tvOS. - set(FIREBASE_INCLUDE_DYNAMIC_LINKS OFF) -endif() - if (FIREBASE_INCLUDE_ANALYTICS) add_subdirectory(analytics) list(APPEND TARGET_LINK_LIB_NAMES "firebase_analytics" "firebase_analytics_swig") @@ -303,12 +295,6 @@ if (FIREBASE_INCLUDE_DATABASE) list(APPEND DOCUMENTATION_ONLY_LIB_NAMES "firebase_database_swig") list(APPEND PROJECT_LIST_HEADER " X(Database)") endif() -if (FIREBASE_INCLUDE_DYNAMIC_LINKS) - add_subdirectory(dynamic_links) - list(APPEND TARGET_LINK_LIB_NAMES "firebase_dynamic_links" "firebase_dynamic_links_swig") - list(APPEND DOCUMENTATION_ONLY_LIB_NAMES "firebase_dynamic_links_swig") - list(APPEND PROJECT_LIST_HEADER " X(DynamicLinks)") -endif() if (FIREBASE_INCLUDE_INSTALLATIONS) add_subdirectory(installations) list(APPEND TARGET_LINK_LIB_NAMES "firebase_installations" "firebase_installations_swig") diff --git a/README.md b/README.md index 11f3f4b6e..da9196cc6 100644 --- a/README.md +++ b/README.md @@ -4,15 +4,14 @@ The repository contains the Firebase Unity SDK source, with support for Android, iOS, and desktop platforms. Note that desktop is ***only supported for development purposes***. It includes the following Firebase libraries: +- [Firebase AI Logic](https://firebase.google.com/docs/ai-logic/) - [Google Analytics for Firebase](https://firebase.google.com/docs/analytics/) - [Firebase App Check](https://firebase.google.com/docs/app-check/) - [Firebase Authentication](https://firebase.google.com/docs/auth/) - [Firebase Crashlytics](https://firebase.google.com/docs/crashlytics) - [Firebase Realtime Database](https://firebase.google.com/docs/database/) -- [Firebase Dynamic Links](https://firebase.google.com/docs/dynamic-links/) - [Cloud Firestore](https://firebase.google.com/docs/firestore/) - [Cloud Functions for Firebase](https://firebase.google.com/docs/functions/) -- [Firebase Invites](https://firebase.google.com/docs/invites/) - [Firebase Cloud Messaging](https://firebase.google.com/docs/cloud-messaging/) - [Firebase Remote Config](https://firebase.google.com/docs/remote-config/) - [Cloud Storage for Firebase](https://firebase.google.com/docs/storage/) @@ -86,7 +85,7 @@ Expected output artifact is python scripts/build_scripts/build_zips.py --platform= --targets= --targets= ``` -> **Note:** Supported library names: analytics, app_check, auth, crashlytics, database, dynamic_links, firebaseai, firestore, functions, installations, messaging, remote_config, storage +> **Note:** Supported library names: analytics, app_check, auth, crashlytics, database, firebaseai, firestore, functions, installations, messaging, remote_config, storage ## Packaging diff --git a/app/platform/Unity/AssemblyInfo.cs b/app/platform/Unity/AssemblyInfo.cs index bf852bacc..29e610b80 100644 --- a/app/platform/Unity/AssemblyInfo.cs +++ b/app/platform/Unity/AssemblyInfo.cs @@ -35,12 +35,10 @@ [assembly: InternalsVisibleTo("Firebase.Auth")] [assembly: InternalsVisibleTo("Firebase.Crashlytics")] [assembly: InternalsVisibleTo("Firebase.Database")] -[assembly: InternalsVisibleTo("Firebase.DynamicLinks")] [assembly: InternalsVisibleTo("Firebase.Firestore")] [assembly: InternalsVisibleTo("Firebase.Functions")] [assembly: InternalsVisibleTo("Firebase.Installations")] [assembly: InternalsVisibleTo("Firebase.InstanceId")] -[assembly: InternalsVisibleTo("Firebase.Invites")] [assembly: InternalsVisibleTo("Firebase.Messaging")] [assembly: InternalsVisibleTo("Firebase.RemoteConfig")] [assembly: InternalsVisibleTo("Firebase.Storage")] diff --git a/app/src/swig/app.i b/app/src/swig/app.i index ca54e6ac9..ca2321ae8 100644 --- a/app/src/swig/app.i +++ b/app/src/swig/app.i @@ -688,10 +688,6 @@ static firebase::AppOptions* AppOptionsLoadFromJsonConfig(const char* config) { "Firebase.Database.FirebaseDatabase, Firebase.Database", "database" ), - new EnableModuleParams( - "Firebase.DynamicLinks.DynamicLinks, Firebase.DynamicLinks", - "dynamic_links" - ), new EnableModuleParams( "Firebase.Functions.FirebaseFunctions, Firebase.Functions", "functions" @@ -700,10 +696,6 @@ static firebase::AppOptions* AppOptionsLoadFromJsonConfig(const char* config) { "Firebase.Installations.FirebaseInstallations, Firebase.Installations", "installations" ), - new EnableModuleParams( - "Firebase.Invites.FirebaseInvites, Firebase.Invites", - "invites" - ), new EnableModuleParams( "Firebase.Messaging.FirebaseMessaging, Firebase.Messaging", "messaging" diff --git a/app/src/unity_main.cpp b/app/src/unity_main.cpp index f60975328..bce9f880b 100644 --- a/app/src/unity_main.cpp +++ b/app/src/unity_main.cpp @@ -109,12 +109,9 @@ jint JNI_OnLoad(JavaVM *jvm, void *reserved) { {"com/google/firebase/auth/FirebaseAuth", "auth"}, {"com/google/firebase/crashlytics/FirebaseCrashlytics", "crashlytics"}, {"com/google/firebase/database/FirebaseDatabase", "database"}, - {"com/google/firebase/dynamiclinks/FirebaseDynamicLinks", - "dynamic_links"}, {"com/google/firebase/functions/FirebaseFunctions", "functions"}, {"com/google/firebase/installations/FirebaseInstallations", "installations"}, - {"com/google/android/gms/appinvite/AppInvite", "invites"}, {"com/google/firebase/messaging/FirebaseMessaging", "messaging"}, {"com/google/firebase/perf/FirebasePerformance", "performance"}, {"com/google/firebase/remoteconfig/FirebaseRemoteConfigInfo", diff --git a/auth/testapp/ProjectSettings/ProjectSettings.asset b/auth/testapp/ProjectSettings/ProjectSettings.asset index e00c78b8e..1349ff689 100644 --- a/auth/testapp/ProjectSettings/ProjectSettings.asset +++ b/auth/testapp/ProjectSettings/ProjectSettings.asset @@ -887,14 +887,14 @@ PlayerSettings: apiCompatibilityLevelPerPlatform: {} m_RenderingPath: 1 m_MobileRenderingPath: 1 - metroPackageName: InvitesUnityTestApp + metroPackageName: AuthUnityTestApp metroPackageVersion: metroCertificatePath: metroCertificatePassword: metroCertificateSubject: metroCertificateIssuer: metroCertificateNotAfter: 0000000000000000 - metroApplicationDescription: InvitesUnityTestApp + metroApplicationDescription: AuthUnityTestApp wsaImages: {} metroTileShortName: metroTileShowName: 0 diff --git a/cmake/android_dependencies.cmake b/cmake/android_dependencies.cmake index fa976acc0..b791811ec 100644 --- a/cmake/android_dependencies.cmake +++ b/cmake/android_dependencies.cmake @@ -47,11 +47,6 @@ set(FIREBASE_DATABASE_ANDROID_DEPS "com.google.android.gms:play-services-base:18.6.0" ) -set(FIREBASE_DYNAMIC_LINKS_ANDROID_DEPS - "com.google.firebase:firebase-dynamic-links:22.1.0" - "com.google.firebase:firebase-analytics:22.4.0" -) - set(FIREBASE_FIRESTORE_ANDROID_DEPS "com.google.firebase:firebase-firestore:25.1.3" "com.google.firebase:firebase-analytics:22.4.0" diff --git a/database/testapp/ProjectSettings/ProjectSettings.asset b/database/testapp/ProjectSettings/ProjectSettings.asset index 45f5aa4fb..aaec72ebf 100644 --- a/database/testapp/ProjectSettings/ProjectSettings.asset +++ b/database/testapp/ProjectSettings/ProjectSettings.asset @@ -924,14 +924,14 @@ PlayerSettings: apiCompatibilityLevelPerPlatform: {} m_RenderingPath: 1 m_MobileRenderingPath: 1 - metroPackageName: InvitesUnityTestApp + metroPackageName: DatabaseUnityTestApp metroPackageVersion: metroCertificatePath: metroCertificatePassword: metroCertificateSubject: metroCertificateIssuer: metroCertificateNotAfter: 0000000000000000 - metroApplicationDescription: InvitesUnityTestApp + metroApplicationDescription: DatabaseUnityTestApp wsaImages: {} metroTileShortName: metroTileShowName: 0 diff --git a/docs/dynamic_links/DynamicLinksReadme.md b/docs/dynamic_links/DynamicLinksReadme.md deleted file mode 100644 index eaeb5252c..000000000 --- a/docs/dynamic_links/DynamicLinksReadme.md +++ /dev/null @@ -1,46 +0,0 @@ -Get Started with Firebase Dynamic Links -======================================== - -Thank you for installing the Firebase Dynamic Links Unity SDK. The -[Dynamic Links guide](https://firebase.google.com/docs/dynamic-links/unity/create) -provides instructions to configure a Unity project. - -# Overview - -You can use -[Firebase Dynamic Links](https://firebase.google.com/products/dynamic-links/) -to create short or long Dynamic Links. The API takes several optional parameter -structures to build links. Short links can also be created from a previously -generated long link. The Dynamic Links API will generate a URL like -https://example.page.link/aSDf. - - -# Using the Sample - -This SDK is distributed with a sample project under the -`Assets/Firebase/Sample/DynamicLinks` directory. To configure and run the -sample, follow the instructions in -`Assets/Firebase/Sample/DynamicLinks/readme.md`. - -# Demos - -[Mecha Hamster](https://github.com/google/mechahamster) is provided as a demo -which showcases the integration of multiple Firebase features within a single -game. The source is available on -[GitHub](https://github.com/google/mechahamster), and the live application -is available for iOS on the -[App Store](https://itunes.apple.com/us/app/mechahamster/id1286046770?mt=8&ign-mpt=uo%3D4) -and for Android on the -(Google Play Store)[https://play.google.com/store/apps/details?id=com.google.fpl.mechahamster&hl=en]. - -# Links - -* [Homepage](https://firebase.google.com/games/) -* [Contact](https://firebase.google.com/support/contact/) -* [Unity Quickstart Samples](https://github.com/firebase/quickstart-unity) - -# Discussion - -* [Stack overflow](https://stackoverflow.com/questions/tagged/firebase) -* [Slack community](https://firebase-community.slack.com/) -* [Google groups](https://groups.google.com/forum/#!forum/firebase-talk) diff --git a/docs/dynamic_links/DynamicLinks_icon.png b/docs/dynamic_links/DynamicLinks_icon.png deleted file mode 100644 index 739e463a6cd8ac17482fd448c5c95bf85f72f38e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8371 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 diff --git a/docs/dynamic_links/DynamicLinks_small.png b/docs/dynamic_links/DynamicLinks_small.png deleted file mode 100644 index 1f3a449b05cf6bc4cb8ed514a366fef490432800..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7637 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 diff --git a/docs/readme.md b/docs/readme.md index 25df89e2a..50499ceff 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -4,15 +4,13 @@ Firebase Unity SDK The Firebase Unity SDK provides Unity packages for the following Firebase features on *iOS*, *tvOS* and *Android*. -Note: Firebase Dynamic Links is not supported on tvOS. - | Feature | Unity Package | |:-----------------------------------:|:---------------------------------:| +| Firebase AI Logic | FirebaseAI.unitypackage | | Firebase Analytics | FirebaseAnalytics.unitypackage | | Firebase App Check | FirebaseAppCheck.unitypackage | | Firebase Authentication | FirebaseAuth.unitypackage | | Firebase Crashlytics | FirebaseCrashlytics.unitypackage | -| Firebase Dynamic Links (deprecated) | FirebaseDynamicLinks.unitypackage | | Cloud Firestore | FirebaseFirestore.unitypackage | | Firebase Functions | FirebaseFunctions.unitypackage | | Firebase Installations | FirebaseInstallations.unitypackage| @@ -31,6 +29,7 @@ desktop builds on Windows, OS X, and Linux: | Feature | Unity Package | |:----------------------------------:|:---------------------------------:| +| Firebase AI Logic | FirebaseAI.unitypackage | | Firebase Authentication | FirebaseAuth.unitypackage | | Firebase App Check | FirebaseAppCheck.unitypackage | | Firebase Realtime Database* | FirebaseDatabase.unitypackage | @@ -115,6 +114,9 @@ Release Notes - Analytics: Removed deprecated `FirebaseAnalytics.ParameterGroupId` and `Parameter.Dispose` methods. - Auth: Removed deprecated `FirebaseUser.UpdateEmailAsync`. + - Dynamic Links: Removed the Dynamic Links SDK. See the [support + documentation](https://firebase.google.com/support/dynamic-links-faq) + for more information. - Messaging: Removed deprecated `FirebaseMessage.Dispose`, `FirebaseNotification.Dispose`, and `MessagingOptions.Dispose` methods. diff --git a/dynamic_links/CMakeLists.txt b/dynamic_links/CMakeLists.txt deleted file mode 100644 index 18d7b7859..000000000 --- a/dynamic_links/CMakeLists.txt +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright 2019 Google -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# CMake file for the firebase dynamic_links library - -include(build_shared) - -# Firebase DynamicLinks Swig input files -set(firebase_dynamic_links_swig - src/swig/dynamic_links.i -) - -# Firebase DynamicLinks CSharp files -set(firebase_dynamic_links_src - src/AndroidParameters.cs - src/DynamicLinkComponents.cs - src/DynamicLinkOptions.cs - src/DynamicLinkPathLength.cs - src/DynamicLinks.cs - src/GoogleAnalyticsParameters.cs - src/IOSParameters.cs - src/ITunesConnectAnalyticsParameters.cs - src/ReceivedDynamicLink.cs - src/ReceivedDynamicLinkEventArgs.cs - src/ShortDynamicLink.cs - src/SocialMetaTagParameters.cs -) - -firebase_swig_add_library(firebase_dynamic_links_swig - NAMESPACE - Firebase.DynamicLinks - MODULE - FirebaseCppDynamicLinks - SOURCES - ${firebase_dynamic_links_swig} - DEPENDS - firebase_dynamic_links -) - -unity_pack_documentation_sources(dynamic_links - DOCUMENTATION_SOURCES - ${firebase_dynamic_links_src} - ${firebase_dynamic_links_swig_gen_src} -) -if (FIREBASE_GENERATE_SWIG_ONLY) - unity_pack_documentation_sources(dynamic_links - DOCUMENTATION_SOURCES - ${firebase_dynamic_links_swig_gen_cpp_src} - ) - return() -endif() - -mono_add_library(firebase_dynamic_links_cs - MODULE - Firebase.DynamicLinks - SOURCES - ${firebase_dynamic_links_src} - ${firebase_dynamic_links_swig_gen_src} - REFERENCES - ${FIREBASE_PLATFORM_REF} - DEPENDS - firebase_dynamic_links_swig -) - -if(FIREBASE_IOS_BUILD) - ios_pack(firebase_lib_dynamic_links libFirebaseCppDynamicLinks DEPS firebase_dynamic_links firebase_dynamic_links_swig) -else() - build_firebase_shared( - dynamic_links - dynamic-links - FirebaseCppDynamicLinks - ) -endif() - -unity_pack_cs(firebase_dynamic_links_cs) - -if (FIREBASE_INCLUDE_UNITY) - generate_dependencies_xml(DynamicLinks - IOS_DEPS - "Firebase/DynamicLinks" - ANDROID_DEPS - ${FIREBASE_DYNAMIC_LINKS_ANDROID_DEPS} - ANDROID_SPEC - "dynamic-links" - ) -endif() - -set_property(TARGET firebase_dynamic_links_cs - PROPERTY FOLDER - "Firebase ${FIREBASE_PLATFORM_NAME}" -) diff --git a/dynamic_links/src/AndroidParameters.cs b/dynamic_links/src/AndroidParameters.cs deleted file mode 100644 index 18d820e85..000000000 --- a/dynamic_links/src/AndroidParameters.cs +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2017 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Firebase.DynamicLinks { - -/// @brief Android Parameters. -public class AndroidParameters { - /// Creates an Android Parameters object with the given package name. - /// - /// @param packageName The package name of the Android app to use to open - /// the link. The app must be connected to your project from the Overview - /// page of the Firebase console. - public AndroidParameters(string packageName) { - PackageName = packageName; - } - - /// The package name of the Android app to use to open the link. The app - /// must be connected to your project from the Overview page of the - /// Firebase console. - public string PackageName { get; set; } - /// The link to open when the app isn't installed. - /// - /// Specify this to do something other than install your app from the - /// Play Store when the app isn't installed, such as open the mobile web - /// version of the content, or display a promotional page for your app. - public System.Uri FallbackUrl { get; set; } - /// The versionCode of the minimum version of your app that can open the - /// link. - public int MinimumVersion { get; set; } -} - -} diff --git a/dynamic_links/src/DynamicLinkComponents.cs b/dynamic_links/src/DynamicLinkComponents.cs deleted file mode 100644 index ad772c8bd..000000000 --- a/dynamic_links/src/DynamicLinkComponents.cs +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright 2017 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -using System; - -namespace Firebase.DynamicLinks { - -/// @brief The information needed to generate a Dynamic Link. -public class DynamicLinkComponents { - // Keep a reference to FirebaseApp as it initializes this SDK. - private Firebase.FirebaseApp app; - - /// Creates a new Dynamic Link Components object with the given link - /// and dynamic link domain. - /// - /// @param link The base link that your app will open. - /// @param uriPrefix The URI prefix (of the form "https://xyz.app.goo.gl") to - /// use for this Dynamic Link. You can find this value in the Dynamic Links - /// section of the Firebase console. If you have set up custom domains on your - /// project, set this to your project's custom domain as listed in the - /// Firebase console. Note: If you do not specify "https://" as the URI - /// scheme, it will be added. - public DynamicLinkComponents(System.Uri link, string uriPrefix) { - app = Firebase.FirebaseApp.DefaultInstance; - Link = link; - if (!uriPrefix.StartsWith("https://")) { - uriPrefix = "https://" + uriPrefix; - } - DomainUriPrefix = uriPrefix; - } - - /// The long Dynamic Link, generated from the other parameters. - public System.Uri LongDynamicLink { - get { - return ShortDynamicLink.ConvertFromInternal( - FirebaseDynamicLinks.GetLongLinkInternal(ConvertToInternal())).Url; - } - } - - /// The link your app will open. You can specify any URL your app can - /// handle, such as a link to your app's content, or a URL that initiates - /// some app-specific logic such as crediting the user with a coupon, or - /// displaying a specific welcome screen. This link must be a well-formatted - /// URL, be properly URL-encoded, and use the HTTP or HTTPS scheme. - public System.Uri Link { get; set; } - /// The domain (of the form "https://xyz.app.goo.gl") to use for this Dynamic - /// Link. You can find this value in the Dynamic Links section of the Firebase - /// console. - /// - /// If you have set up custom domains on your project, set this to your - /// project's custom domain as listed in the Firebase console. - /// - /// Only https:// links are supported. - public string DomainUriPrefix { get; set; } - /// The Google Analytics parameters. - public GoogleAnalyticsParameters GoogleAnalyticsParameters { get; set; } - /// The iOS parameters. - public IOSParameters IOSParameters { get; set; } - /// The iTunes Connect App Analytics parameters. - public ITunesConnectAnalyticsParameters ITunesConnectAnalyticsParameters { get; set; } - /// The Android parameters. - public AndroidParameters AndroidParameters { get; set; } - /// The social meta-tag parameters. - public SocialMetaTagParameters SocialMetaTagParameters { get; set; } - - // Convert this object to DynamicLinkComponentsInternal. - internal DynamicLinkComponentsInternal ConvertToInternal() { - return new DynamicLinkComponentsInternal { - link = Firebase.FirebaseApp.UriToUrlString(Link), - domain_uri_prefix = DomainUriPrefix, - google_analytics_parameters = GoogleAnalyticsParameters == null ? - null : new GoogleAnalyticsParametersInternal { - source = GoogleAnalyticsParameters.Source, - medium = GoogleAnalyticsParameters.Medium, - campaign = GoogleAnalyticsParameters.Campaign, - term = GoogleAnalyticsParameters.Term, - content = GoogleAnalyticsParameters.Content - }, - ios_parameters = IOSParameters == null ? null : new IOSParametersInternal { - bundle_id = IOSParameters.BundleId, - fallback_url = Firebase.FirebaseApp.UriToUrlString(IOSParameters.FallbackUrl), - custom_scheme = IOSParameters.CustomScheme, - ipad_fallback_url = Firebase.FirebaseApp.UriToUrlString(IOSParameters.IPadFallbackUrl), - ipad_bundle_id = IOSParameters.IPadBundleId, - app_store_id = IOSParameters.AppStoreId, - minimum_version = IOSParameters.MinimumVersion - }, - itunes_connect_analytics_parameters = ITunesConnectAnalyticsParameters == null ? - null : new ITunesConnectAnalyticsParametersInternal { - provider_token = ITunesConnectAnalyticsParameters.ProviderToken, - affiliate_token = ITunesConnectAnalyticsParameters.AffiliateToken, - campaign_token = ITunesConnectAnalyticsParameters.CampaignToken - }, - android_parameters = AndroidParameters == null ? - null : new AndroidParametersInternal { - package_name = AndroidParameters.PackageName, - fallback_url = Firebase.FirebaseApp.UriToUrlString(AndroidParameters.FallbackUrl), - minimum_version = AndroidParameters.MinimumVersion - }, - social_meta_tag_parameters = SocialMetaTagParameters == null ? - null : new SocialMetaTagParametersInternal { - title = SocialMetaTagParameters.Title, - description = SocialMetaTagParameters.Description, - image_url = Firebase.FirebaseApp.UriToUrlString(SocialMetaTagParameters.ImageUrl), - } - }; - } -} - -} diff --git a/dynamic_links/src/DynamicLinkOptions.cs b/dynamic_links/src/DynamicLinkOptions.cs deleted file mode 100644 index 1ebe43a3c..000000000 --- a/dynamic_links/src/DynamicLinkOptions.cs +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2017 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Firebase.DynamicLinks { - -/// @brief Additional options for Dynamic Link creation. -public class DynamicLinkOptions { - /// The desired path length for shortened Dynamic Link URLs. - public DynamicLinkPathLength PathLength { get; set; } - - // Convert to DynamicLinkOptionsInternal. - internal DynamicLinkOptionsInternal ConvertToInternal() { - return new DynamicLinkOptionsInternal { - path_length = PathLength.ConvertToInternal() - }; - } -} - -} diff --git a/dynamic_links/src/DynamicLinkPathLength.cs b/dynamic_links/src/DynamicLinkPathLength.cs deleted file mode 100644 index 89a97fd6a..000000000 --- a/dynamic_links/src/DynamicLinkPathLength.cs +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2017 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Firebase.DynamicLinks { - -using System; - -/// @brief The desired path length for shortened Dynamic Link URLs. -public enum DynamicLinkPathLength { - /// Uses the server-default for the path length. - /// See https://goo.gl/8yDAqC for more information. - Default = 0, - /// Typical short link for non-sensitive links. - Short, - /// Short link that uses a very long path to make it more difficult to - /// guess. Useful for sensitive links. - Unguessable, -} - -internal static class DynamicLinkPathLengthExtensions { - // Convert DynamicLinkPathLength to PathLengthInternal. - internal static PathLengthInternal ConvertToInternal(this DynamicLinkPathLength pathLength) { - switch (pathLength) { - case DynamicLinkPathLength.Default: - return PathLengthInternal.PathLengthDefault; - case DynamicLinkPathLength.Short: - return PathLengthInternal.PathLengthShort; - case DynamicLinkPathLength.Unguessable: - return PathLengthInternal.PathLengthUnguessable; - default: - throw new Firebase.FirebaseException(0, String.Format("Invalid path length {0}", - pathLength)); - } - } -} - -} diff --git a/dynamic_links/src/DynamicLinks.cs b/dynamic_links/src/DynamicLinks.cs deleted file mode 100644 index b3029c556..000000000 --- a/dynamic_links/src/DynamicLinks.cs +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright 2017 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Firebase.DynamicLinks { - -using System.Threading.Tasks; - -/// @brief Firebase Dynamic Links API. -/// -/// Firebase Dynamic Links is a cross-platform solution for generating and -/// receiving links, whether or not the app is already installed. -[System.Obsolete("Firebase Dynamic Links is deprecated and will be removed in a future release..", false)] -public sealed class DynamicLinks { - // Keep a reference to FirebaseApp as it initializes this SDK. - private static Firebase.FirebaseApp app; - - // The class is not meant to be instantiated in that way. - private DynamicLinks() {} - - // Initialize this module. - static DynamicLinks() { - app = Firebase.FirebaseApp.DefaultInstance; - } - -#if DOXYGEN - /// Called on the client when a Dynamic Link is received. - public static event System.EventHandler DynamicLinkReceived; -#else - public static event System.EventHandler DynamicLinkReceived { - add { - lock (typeof(FirebaseDynamicLinks.Listener)) { - DynamicLinkReceivedInternal += value; - CreateOrDestroyListener(); - } - } - - remove { - lock (typeof(FirebaseDynamicLinks.Listener)) { - DynamicLinkReceivedInternal -= value; - CreateOrDestroyListener(); - } - } - } -#endif // DOXYGEN - - // Backing store for the DynamicLinkReceived event. - // This is called from FirebaseDynamicLinks.DynamicLinkReceivedMethod(). - internal static event System.EventHandler - DynamicLinkReceivedInternal; - - // Pass a dynamic link to the DynamicLinkReceivedInternal event. - internal static void NotifyDynamicLinkReceived(ReceivedDynamicLink dynamicLink) { - if (DynamicLinkReceivedInternal != null) { - DynamicLinkReceivedInternal(null, new ReceivedDynamicLinkEventArgs { - ReceivedDynamicLink = dynamicLink - }); - } - } - - /// Creates a shortened Dynamic Link from the given parameters. - /// - /// @param components The components that define the Dynamic Link to create - /// and shorten. - /// @param options Optionally provided options to tweak the short link generation. - /// If this is not specified the default behavior is for PathLength = PathLength.Unguessable. - /// - /// @deprecated Dynamic Links is now deprecated. Please see the support - /// documentation at https://firebase.google.com/support/dynamic-links-faq - /// for more information. - public static Task GetShortLinkAsync(DynamicLinkComponents components, - DynamicLinkOptions options) { - return ConvertFromInternalTask(FirebaseDynamicLinks.GetShortLinkInternalAsync( - components.ConvertToInternal(), options.ConvertToInternal())); - } - - /// Creates a shortened Dynamic Link from the given parameters. - /// - /// @param components The components that define the Dynamic Link to create - /// and shorten. - /// - /// @deprecated Dynamic Links is now deprecated. Please see the support - /// documentation at https://firebase.google.com/support/dynamic-links-faq - /// for more information. - public static Task GetShortLinkAsync(DynamicLinkComponents components) { - return GetShortLinkAsync(components, new DynamicLinkOptions()); - } - - /// Creates a shortened Dynamic Link from the given long dynamic link. - /// - /// @param url A properly-formatted long Dynamic Link to shorten. - /// @param options Optionally provided options to tweak the short link generation. - /// If this is not specified the default behavior is for PathLength = PathLength.Unguessable. - /// - /// @deprecated Dynamic Links is now deprecated. Please see the support - /// documentation at https://firebase.google.com/support/dynamic-links-faq - /// for more information. - public static Task GetShortLinkAsync(System.Uri longDynamicLink, - DynamicLinkOptions options) { - return ConvertFromInternalTask(FirebaseDynamicLinks.GetShortLinkInternalAsync( - Firebase.FirebaseApp.UriToUrlString(longDynamicLink), - options.ConvertToInternal())); - } - - /// Creates a shortened Dynamic Link from the given long dynamic link. - /// - /// @param url A properly-formatted long Dynamic Link to shorten. - /// - /// @deprecated Dynamic Links is now deprecated. Please see the support - /// documentation at https://firebase.google.com/support/dynamic-links-faq - /// for more information. - public static Task GetShortLinkAsync(System.Uri long_dynamic_link) { - return GetShortLinkAsync(long_dynamic_link, new DynamicLinkOptions()); - } - - // Generate a Task from Task. - private static Task ConvertFromInternalTask( - Task generatedDynamicLinkInternalTask) { - var taskCompletionSource = new System.Threading.Tasks.TaskCompletionSource(); - generatedDynamicLinkInternalTask.ContinueWith((taskInternal) => { - if (taskInternal.IsCanceled) { - taskCompletionSource.SetCanceled(); - } else if (taskInternal.IsFaulted) { - Firebase.Internal.TaskCompletionSourceCompat.SetException( - taskCompletionSource, taskInternal.Exception); - } else { - taskCompletionSource.SetResult(ShortDynamicLink.ConvertFromInternal(taskInternal.Result)); - } - }); - return taskCompletionSource.Task; - } - - // Create the listener if messaging events are set, otherwise destroy it. - private static void CreateOrDestroyListener() { - lock (typeof(FirebaseDynamicLinks.Listener)) { - if (DynamicLinkReceivedInternal != null) { - FirebaseDynamicLinks.Listener.Create(); - } else { - FirebaseDynamicLinks.Listener.Destroy(); - } - } - } -} - -} diff --git a/dynamic_links/src/GoogleAnalyticsParameters.cs b/dynamic_links/src/GoogleAnalyticsParameters.cs deleted file mode 100644 index 25bb7f47f..000000000 --- a/dynamic_links/src/GoogleAnalyticsParameters.cs +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2017 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Firebase.DynamicLinks { - -/// @brief Google Analytics Parameters. -public class GoogleAnalyticsParameters { - /// The campaign source; used to identify a search engine, newsletter, - /// or other source. - public string Source { get; set; } - /// The campaign medium; used to identify a medium such as email or - /// cost-per-click (cpc). - public string Medium { get; set; } - /// The campaign name; The individual campaign name, slogan, promo code, - /// etc. for a product. - public string Campaign { get; set; } - /// The campaign term; used with paid search to supply the keywords for ads. - public string Term { get; set; } - /// The campaign content; used for A/B testing and content-targeted ads to - /// differentiate ads or links that point to the same URL. - public string Content { get; set; } -} - -} diff --git a/dynamic_links/src/IOSParameters.cs b/dynamic_links/src/IOSParameters.cs deleted file mode 100644 index 145ba8ee1..000000000 --- a/dynamic_links/src/IOSParameters.cs +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2017 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Firebase.DynamicLinks { - -/// @brief iOS Parameters. -public class IOSParameters { - /// Constructs an IOS Parameters object with the given bundle id. - /// - /// @param bundleId The bundle ID of the iOS app to use to open the link. - /// The app must be connected to your project from the Overview page of the - /// Firebase console. - public IOSParameters(string bundleId) { - BundleId = bundleId; - } - - /// The parameters ID of the iOS app to use to open the link. The app must - /// be connected to your project from the Overview page of the Firebase - /// console. - public string BundleId { get; set; } - /// The link to open on iOS if the app is not installed. - /// - /// Specify this to do something other than install your app from the - /// App Store when the app isn't installed, such as open the mobile - /// web version of the content, or display a promotional page for your app. - public System.Uri FallbackUrl { get; set; } - /// The app's custom URL scheme, if defined to be something other than your - /// app's parameters ID. - public string CustomScheme { get; set; } - /// The link to open on iPad if the app is not installed. - /// - /// Overrides fallback_url when on iPad. - public System.Uri IPadFallbackUrl { get; set; } - /// The iPad parameters ID of the app. - public string IPadBundleId { get; set; } - /// The App Store ID, used to send users to the App Store when the app - /// isn't installed. - public string AppStoreId { get; set; } - /// The minimum version of your app that can open the link. - public string MinimumVersion { get; set; } -} - -} diff --git a/dynamic_links/src/ITunesConnectAnalyticsParameters.cs b/dynamic_links/src/ITunesConnectAnalyticsParameters.cs deleted file mode 100644 index 0bf45d3fe..000000000 --- a/dynamic_links/src/ITunesConnectAnalyticsParameters.cs +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2017 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Firebase.DynamicLinks { - -/// @brief iTunes Connect App Analytics Parameters. -public class ITunesConnectAnalyticsParameters { - /// The provider token that enables analytics for Dynamic Links from - /// within iTunes Connect. - public string ProviderToken { get; set; } - /// The affiliate token used to create affiliate-coded links. - public string AffiliateToken { get; set; } - /// The campaign token that developers can add to any link in order to - /// track sales from a specific marketing campaign. - public string CampaignToken { get; set; } -} - -} diff --git a/dynamic_links/src/ReceivedDynamicLink.cs b/dynamic_links/src/ReceivedDynamicLink.cs deleted file mode 100644 index 79e2a9f6d..000000000 --- a/dynamic_links/src/ReceivedDynamicLink.cs +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2017 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Firebase.DynamicLinks { - -/// @brief The received Dynamic Link. -public sealed class ReceivedDynamicLink { - /// The URL that was passed to the app. - public System.Uri Url { get; internal set; } - /// The strength of the match for the link. - public LinkMatchStrength MatchStrength {get; internal set; } -} - -} diff --git a/dynamic_links/src/ReceivedDynamicLinkEventArgs.cs b/dynamic_links/src/ReceivedDynamicLinkEventArgs.cs deleted file mode 100644 index 174fea3a8..000000000 --- a/dynamic_links/src/ReceivedDynamicLinkEventArgs.cs +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2017 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Firebase.DynamicLinks { - -/// @brief Passed to the DynamicLinks.DynamicLinkReceived event. -/// -/// The dynamic link received by the application is passed via these arguments to the -/// Firebase.DynamicLinks.DynamicLinks.DynamicLinkReceived event. -public sealed class ReceivedDynamicLinkEventArgs : System.EventArgs { - /// Dynamic link received by the application. - public ReceivedDynamicLink ReceivedDynamicLink { get; internal set; } -} - -} diff --git a/dynamic_links/src/ShortDynamicLink.cs b/dynamic_links/src/ShortDynamicLink.cs deleted file mode 100644 index fc691fa14..000000000 --- a/dynamic_links/src/ShortDynamicLink.cs +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2017 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -using System; -using System.Collections.Generic; - -namespace Firebase.DynamicLinks { - -/// @brief The returned value from creating a shortened Dynamic Link. -public sealed class ShortDynamicLink { - /// The short Dynamic Link value. - public System.Uri Url { get; private set; } - /// Information about potential warnings on link creation. - /// - /// Usually presence of warnings means parameter format errors, parameter - /// value errors, or missing parameters. - public IEnumerable Warnings { get; private set; } - - // Convert from GeneratedDynamicLinkInternal to a ShortDynamicLink. - internal static ShortDynamicLink ConvertFromInternal( - GeneratedDynamicLinkInternal generatedDynamicLink) { - if (!String.IsNullOrEmpty(generatedDynamicLink.error)) { - throw new Firebase.FirebaseException(0, generatedDynamicLink.error); - } - return new ShortDynamicLink { - Url = Firebase.FirebaseApp.UrlStringToUri(generatedDynamicLink.url), - Warnings = new List(generatedDynamicLink.warnings) - }; - } -} - -} diff --git a/dynamic_links/src/SocialMetaTagParameters.cs b/dynamic_links/src/SocialMetaTagParameters.cs deleted file mode 100644 index aa5b306c6..000000000 --- a/dynamic_links/src/SocialMetaTagParameters.cs +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2017 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Firebase.DynamicLinks { - -/// @brief Social meta-tag Parameters. -public class SocialMetaTagParameters { - /// The title to use when the Dynamic Link is shared in a social post. - public string Title { get; set; } - /// The description to use when the Dynamic Link is shared in a social post. - public string Description { get; set; } - /// The URL to an image related to this link. - public System.Uri ImageUrl { get; set; } -} - -} diff --git a/dynamic_links/src/swig/dynamic_links.i b/dynamic_links/src/swig/dynamic_links.i deleted file mode 100644 index 5d82944ec..000000000 --- a/dynamic_links/src/swig/dynamic_links.i +++ /dev/null @@ -1,339 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// C# bindings for the Dynamic Links C++ interface. - -%module FirebaseDynamicLinks - -#ifdef USE_EXPORT_FIX -// Generate a function that we can reference to force linker -// to include the generated swig library symbols correctly -// see export_fix.cc for more details -%include "app/src/export_fix.h" -%{#include "app/src/export_fix.h"%} -#endif - -%pragma(csharp) moduleclassmodifiers="internal sealed class" -%feature("flatnested"); - -%import "app/src/swig/app.i" -%include "app/src/swig/future.i" -%include "app/src/swig/null_check_this.i" -%include "app/src/swig/serial_dispose.i" - -// Include require headers for the generated C++ module. -%{ -#include "app/src/callback.h" -#include "dynamic_links/src/include/firebase/dynamic_links.h" -#include "dynamic_links/src/include/firebase/dynamic_links/components.h" -%} - -// Rename all C# proxy classes for C++ objects and methods to *Internal so -// they're not exposed in the public interface. This leaves them available to -// use by the implementation in firebase/dynamic_links/client/unity/src. -%rename("AndroidParametersInternal") - firebase::dynamic_links::AndroidParameters; -%rename("DynamicLinkComponentsInternal") - firebase::dynamic_links::DynamicLinkComponents; -%rename("DynamicLinkOptionsInternal") - firebase::dynamic_links::DynamicLinkOptions; -%rename("GeneratedDynamicLinkInternal") - firebase::dynamic_links::GeneratedDynamicLink; -%rename("GoogleAnalyticsParametersInternal") - firebase::dynamic_links::GoogleAnalyticsParameters; -%rename("IOSParametersInternal") - firebase::dynamic_links::IOSParameters; -%rename("ITunesConnectAnalyticsParametersInternal") - firebase::dynamic_links::ITunesConnectAnalyticsParameters; -%rename("PathLengthInternal") - firebase::dynamic_links::PathLength; -%rename("SocialMetaTagParametersInternal") - firebase::dynamic_links::SocialMetaTagParameters; -%rename("GetShortLinkInternal") - firebase::dynamic_links::GetShortLink; -%rename("GetLongLinkInternal") - firebase::dynamic_links::GetLongLink; - -// SWIG's default typemaps for const char* properties is to allocate a string -// when assigning a value to them but to never deallocate the string. Override -// this behavior for all structures in dynamic links so that strings are -// deallocated we a new value is assigned. -%typemap(memberin) const char * { - delete[] ((char*)$1); - if ($input) { - $1 = ($1_type) (new char[strlen((const char *)$input)+1]); - strcpy((char *)$1, (const char *)$input); - } else { - $1 = 0; - } -} - -// Deallocate all strings in the dynamic links structures. -namespace firebase { -namespace dynamic_links { - -%extend AndroidParameters { - ~AndroidParameters() { - if ($self) { - delete[] ((char*)$self->package_name); - delete[] ((char*)$self->fallback_url); - delete $self; - } - } -} - -%extend DynamicLinkComponents { - ~DynamicLinkComponents() { - if ($self) { - delete[] ((char*)$self->link); - // Don't delete domain_uri_prefix if it points to the internal string. - if ($self->domain_uri_prefix != $self->domain_uri_prefix_with_scheme.c_str()) { - delete[] ((char*)$self->domain_uri_prefix); - } - delete $self; - } - } -} - -%extend GoogleAnalyticsParameters { - ~GoogleAnalyticsParameters() { - if ($self) { - delete[] ((char*)$self->source); - delete[] ((char*)$self->medium); - delete[] ((char*)$self->campaign); - delete[] ((char*)$self->term); - delete[] ((char*)$self->content); - delete $self; - } - } -} - -%extend IOSParameters { - ~IOSParameters() { - if ($self) { - delete[] ((char*)$self->bundle_id); - delete[] ((char*)$self->fallback_url); - delete[] ((char*)$self->custom_scheme); - delete[] ((char*)$self->ipad_fallback_url); - delete[] ((char*)$self->ipad_bundle_id); - delete[] ((char*)$self->app_store_id); - delete[] ((char*)$self->minimum_version); - delete $self; - } - } -} - -%extend ITunesConnectAnalyticsParameters { - ~ITunesConnectAnalyticsParameters() { - if ($self) { - delete[] ((char*)($self->provider_token)); - delete[] ((char*)($self->affiliate_token)); - delete[] ((char*)($self->campaign_token)); - delete $self; - } - } -} - -%extend SocialMetaTagParameters { - ~SocialMetaTagParameters() { - if ($self) { - delete[] ((char*)($self->title)); - delete[] ((char*)($self->description)); - delete[] ((char*)($self->image_url)); - delete $self; - } - } -} - -} // namespace dynamic_links -} // namespace firebase - -// Generate a Task wrapper around Future. -%SWIG_FUTURE(Future_GeneratedDynamicLinkInternal, GeneratedDynamicLinkInternal, - internal, firebase::dynamic_links::GeneratedDynamicLink, - FirebaseException) - -%include "dynamic_links/src/include/firebase/dynamic_links/components.h" - -%pragma(csharp) modulecode=%{ - internal class Listener : System.IDisposable { - internal delegate void DynamicLinkReceivedDelegate( - System.IntPtr dynamic_link_ptr); - - private DynamicLinkReceivedDelegate dynamicLinkReceivedDelegate = - new DynamicLinkReceivedDelegate(DynamicLinkReceivedMethod); - // Hold a reference to the default app until this object is finalized. - private FirebaseApp app = Firebase.FirebaseApp.DefaultInstance; - - // Listener singleton. - private static Listener listener; - - // Create the listener singleton. - internal static Listener Create() { - lock (typeof(Listener)) { - if (listener != null) return listener; - listener = new Listener(); - Platform.FirebaseHandler.DefaultInstance.ApplicationFocusChanged += - OnApplicationFocus; - return listener; - } - } - - // Destroy the listener singleton. - internal static void Destroy() { - lock (typeof(Listener)) { - if (listener == null) return; - Platform.FirebaseHandler.DefaultInstance.ApplicationFocusChanged -= - OnApplicationFocus; - listener.Dispose(); - listener = null; - } - } - - // Fetch invites when the application focus changes. - internal static void OnApplicationFocus( - object sender, - Platform.FirebaseHandler.ApplicationFocusChangedEventArgs - eventArgs) { - if (eventArgs.HasFocus) { - LogUtil.LogMessage(Firebase.LogLevel.Debug, - "Fetch Pending Dynamic Links"); - FirebaseDynamicLinks.Fetch(); - } - } - - // Setup callbacks from the ListenerImplC ++ class to this object. - private Listener() { - FirebaseDynamicLinks.SetListenerCallbacks(dynamicLinkReceivedDelegate); - } - - // Disconnect callbacks from ListenerImpl. - public void Dispose() { - lock (typeof(Listener)) { - if (listener == this) { - System.Diagnostics.Debug.Assert(app != null); - app = null; - FirebaseDynamicLinks.SetListenerCallbacks(null); - listener = null; - } - } - } - - // Called from ListenerImpl::OnDynamicLinkReceived() via the - // dynamicLinkReceivedDelegate. - [MonoPInvokeCallback(typeof(DynamicLinkReceivedDelegate))] - private static void DynamicLinkReceivedMethod( - System.IntPtr dynamic_link_ptr) { - ExceptionAggregator.Wrap(() => { - Firebase.DynamicLinks.DynamicLinks.NotifyDynamicLinkReceived( - new ReceivedDynamicLink { - Url = Firebase.FirebaseApp.UrlStringToUri( - DynamicLinkGetUrl(dynamic_link_ptr)), - MatchStrength = DynamicLinkGetMatchStrength(dynamic_link_ptr) - }); - }); - } - } -%} - -%{ -namespace firebase { -namespace dynamic_links { - -// C++ implementation of the Listener interface that forwards links to the -// C# layer via the main thread. -class ListenerImpl : public Listener { - public: - // Function which is used to reference a C# delegate called from the - // OnDynamicLinkReceived() method of this class. SWIGSTDCALL is used here as - // C# delegates *must* be called using the stdcall calling convention rather - // than whatever the compiler defines. - typedef void (SWIGSTDCALL *DynamicLinkReceivedCallback)( - const DynamicLink* dynamic_link); - - // Called when a dynamic link arrives. - void OnDynamicLinkReceived(const DynamicLink* dynamic_link) override { - if (g_dynamic_link_received_callback) { - callback::AddCallback(new callback::Callback1( - *dynamic_link, DynamicLinkReceived)); - } - } - - // Set C# delegates that should be called by this class. - // This should only be called on the main thread. - static void SetCallbacks(DynamicLinkReceivedCallback dynamic_link_received) { - g_dynamic_link_received_callback = dynamic_link_received; - auto *previous_listener = firebase::dynamic_links::SetListener( - g_dynamic_link_received_callback ? new ListenerImpl : nullptr); - if (previous_listener) delete previous_listener; - } - - private: - // Called on the main thread. This method is called prior to the C# delegate - // as we need to convert the calling convention to stdcall. - static void DynamicLinkReceived(void* dynamic_link) { - if (g_dynamic_link_received_callback) { - g_dynamic_link_received_callback( - reinterpret_cast(dynamic_link)); - } - } - private: - // C# delegate. - static DynamicLinkReceivedCallback g_dynamic_link_received_callback; -}; - -ListenerImpl::DynamicLinkReceivedCallback - ListenerImpl::g_dynamic_link_received_callback = nullptr; - -// Accessors for the DynamicLink struct. -// These methods are used in preference to generating a complete proxy object -// to just read the fields of the struct. -static std::string DynamicLinkGetUrl(const void* dynamic_link) { - return reinterpret_cast(dynamic_link)->url; -} - -static dynamic_links::LinkMatchStrength DynamicLinkGetMatchStrength(const void* dynamic_link) { - return reinterpret_cast(dynamic_link)->match_strength; -} - -static void SetListenerCallbacks( - firebase::dynamic_links::ListenerImpl::DynamicLinkReceivedCallback - received_callback) { - ListenerImpl::SetCallbacks(received_callback); -} - -} // namespace dynamic_links -} // namespace firebase -%} - -// Tell swig that the callbacks and delegates are equivalent. -SWIG_MAP_CFUNC_TO_CSDELEGATE( - firebase::dynamic_links::ListenerImpl::DynamicLinkReceivedCallback, - Firebase.DynamicLinks.FirebaseDynamicLinks.Listener.DynamicLinkReceivedDelegate) - -// All classes and methods of the dynamic links API do not need to be exposed to -// the end user. -%ignore firebase::dynamic_links::DynamicLink; -%ignore firebase::dynamic_links::Listener; -%ignore firebase::dynamic_links::Initialize; -%ignore firebase::dynamic_links::Terminate; -%ignore firebase::dynamic_links::SetListener; - -namespace firebase { -namespace dynamic_links { -// Expose this via FirebaseDynamicLinks.Fetch(). -%csmethodmodifiers Fetch "internal"; - -%csmethodmodifiers SetListenerCallbacks "internal"; -void SetListenerCallbacks( - firebase::dynamic_links::ListenerImpl::DynamicLinkReceivedCallback - received_callback); - -%csmethodmodifiers DynamicLinkGetUrl "internal"; -static std::string DynamicLinkGetUrl(const void* dynamic_link); - -%csmethodmodifiers DynamicLinkGetMatchStrength "internal"; -static dynamic_links::LinkMatchStrength DynamicLinkGetMatchStrength(const void* dynamic_link); -} // namespace invites -} // namespace firebase - -%include "dynamic_links/src/include/firebase/dynamic_links.h" diff --git a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/MainScene.unity b/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/MainScene.unity deleted file mode 100644 index 3ca78a29c..000000000 --- a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/MainScene.unity +++ /dev/null @@ -1,214 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -SceneSettings: - m_ObjectHideFlags: 0 - m_PVSData: - m_PVSObjectsArray: [] - m_PVSPortalsArray: [] - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 7 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} - m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} - m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 0 - m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} ---- !u!157 &3 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 7 - m_GIWorkflowMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 1 - m_LightmapEditorSettings: - serializedVersion: 4 - m_Resolution: 2 - m_BakeResolution: 40 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 1 - m_DirectLightInLightProbes: 1 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 256 - m_ReflectionCompression: 2 - m_LightingDataAsset: {fileID: 0} - m_RuntimeCPUUsage: 25 ---- !u!196 &4 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - accuratePlacement: 0 - minRegionArea: 2 - cellSize: 0.16666667 - manualCellSize: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &313059688 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 313059689} - - 114: {fileID: 313059690} - m_Layer: 0 - m_Name: UIHandler - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &313059689 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 313059688} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 1 ---- !u!114 &313059690 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 313059688} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 552814c88c97f5b43aa5620a0617749b, type: 3} - m_Name: - m_EditorClassIdentifier: - fb_GUISkin: {fileID: 11400000, guid: 14ab14e9b97f743dca62b51e1e369f07, type: 2} - firebaseInitialized: 0 - kDynamicLinksDomain: fwk68.app.goo.gl ---- !u!1 &1408554385 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1408554390} - - 20: {fileID: 1408554389} - - 124: {fileID: 1408554387} - - 81: {fileID: 1408554386} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &1408554386 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408554385} - m_Enabled: 1 ---- !u!124 &1408554387 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408554385} - m_Enabled: 1 ---- !u!20 &1408554389 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408554385} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 2 - m_BackGroundColor: {r: 0.9063581, g: 0.93133646, b: 0.9705882, a: 0.019607844} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 1 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 - m_StereoMirrorMode: 0 ---- !u!4 &1408554390 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1408554385} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 diff --git a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/MainScene.unity.meta b/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/MainScene.unity.meta deleted file mode 100644 index 7ab6a1960..000000000 --- a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/MainScene.unity.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2178d4f32b4f57f46bbc1d01a49f38f4 -timeCreated: 1534893676 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/MainSceneAutomated.unity b/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/MainSceneAutomated.unity deleted file mode 100644 index 90a0f380d..000000000 --- a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/MainSceneAutomated.unity +++ /dev/null @@ -1,215 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -SceneSettings: - m_ObjectHideFlags: 0 - m_PVSData: - m_PVSObjectsArray: [] - m_PVSPortalsArray: [] - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 7 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} - m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} - m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 0 - m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} ---- !u!157 &3 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 7 - m_GIWorkflowMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 1 - m_LightmapEditorSettings: - serializedVersion: 4 - m_Resolution: 2 - m_BakeResolution: 40 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 1 - m_DirectLightInLightProbes: 1 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 256 - m_ReflectionCompression: 2 - m_LightingDataAsset: {fileID: 0} - m_RuntimeCPUUsage: 25 ---- !u!196 &4 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - accuratePlacement: 0 - minRegionArea: 2 - cellSize: 0.16666667 - manualCellSize: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &685799119 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 685799124} - - 20: {fileID: 685799123} - - 124: {fileID: 685799121} - - 81: {fileID: 685799120} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &685799120 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 685799119} - m_Enabled: 1 ---- !u!124 &685799121 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 685799119} - m_Enabled: 1 ---- !u!20 &685799123 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 685799119} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 2 - m_BackGroundColor: {r: 0.6903655, g: 0.8076244, b: 0.8308824, a: 0.019607844} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 1 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 - m_StereoMirrorMode: 0 ---- !u!4 &685799124 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 685799119} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 ---- !u!1 &1389047818 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1389047819} - - 114: {fileID: 1389047820} - m_Layer: 0 - m_Name: UIHandlerAutomated - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1389047819 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1389047818} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 1 ---- !u!114 &1389047820 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1389047818} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 278a46f295f22004fbdd444eaddab230, type: 3} - m_Name: - m_EditorClassIdentifier: - fb_GUISkin: {fileID: 11400000, guid: 14ab14e9b97f743dca62b51e1e369f07, type: 2} - firebaseInitialized: 0 - kDynamicLinksDomain: fwk68.app.goo.gl - kAutomatedDynamicLinksDomain: fwk68.app.goo.gl diff --git a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/MainSceneAutomated.unity.meta b/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/MainSceneAutomated.unity.meta deleted file mode 100644 index 30dea2077..000000000 --- a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/MainSceneAutomated.unity.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 23fe06b4c27798045a1bacb0969ddb9e -timeCreated: 1534893686 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandler.cs b/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandler.cs deleted file mode 100644 index de1e704e6..000000000 --- a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandler.cs +++ /dev/null @@ -1,260 +0,0 @@ -// Copyright 2017 Google Inc. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -namespace Firebase.Sample.DynamicLinks { - using Firebase; - using Firebase.DynamicLinks; - using Firebase.Extensions; - using System; - using System.Collections; - using System.Threading.Tasks; - using UnityEngine; - - // Handler for UI buttons on the scene. Also performs some - // necessary setup (initializing the firebase app, etc) on - // startup. - public class UIHandler : MonoBehaviour { - - public GUISkin fb_GUISkin; - private Vector2 controlsScrollViewVector = Vector2.zero; - private Vector2 scrollViewVector = Vector2.zero; - bool UIEnabled = true; - private string logText = ""; - const int kMaxLogSize = 16382; - DependencyStatus dependencyStatus = DependencyStatus.UnavailableOther; - const string kInvalidDomainUriPrefix = "THIS_IS_AN_INVALID_DOMAIN"; - const string kDomainUriPrefixInvalidError = - "kDomainUriPrefix is not valid, link shortening will fail.\n" + - "To resolve this:\n" + - "* Goto the Firebase console https://firebase.google.com/console/\n" + - "* Click on the Dynamic Links tab\n" + - "* Copy the domain e.g x20yz.app.goo.gl\n" + - "* Replace the value of kDomainUriPrefix with the copied domain.\n"; - public bool firebaseInitialized = false; - - // IMPORTANT: You need to set this to a valid domain from the Firebase - // console (see kDomainUriPrefixInvalidError for the details). - public string kDomainUriPrefix = "REPLACE_WITH_YOUR_URI_PREFIX"; - - // When the app starts, check to make sure that we have - // the required dependencies to use Firebase, and if not, - // add them if possible. - public virtual void Start() { - FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task => { - dependencyStatus = task.Result; - if (dependencyStatus == DependencyStatus.Available) { - InitializeFirebase(); - } else { - Debug.LogError( - "Could not resolve all Firebase dependencies: " + dependencyStatus); - } - }); - } - - // Exit if escape (or back, on mobile) is pressed. - public virtual void Update() { - if (Input.GetKeyDown(KeyCode.Escape)) { - Application.Quit(); - } - } - - // Handle initialization of the necessary firebase modules: - void InitializeFirebase() { - DynamicLinks.DynamicLinkReceived += OnDynamicLink; - firebaseInitialized = true; - } - - void OnDestroy() { - DynamicLinks.DynamicLinkReceived -= OnDynamicLink; - } - - // Display the dynamic link received by the application. - void OnDynamicLink(object sender, EventArgs args) { - var dynamicLinkEventArgs = args as ReceivedDynamicLinkEventArgs; - DebugLog(String.Format("Received dynamic link {0}", - dynamicLinkEventArgs.ReceivedDynamicLink.Url.OriginalString)); - } - - // Output text to the debug log text field, as well as the console. - public void DebugLog(string s) { - print(s); - logText += s + "\n"; - - while (logText.Length > kMaxLogSize) { - int index = logText.IndexOf("\n"); - logText = logText.Substring(index + 1); - } - - scrollViewVector.y = int.MaxValue; - } - - public void DisableUI() { - UIEnabled = false; - } - - public void EnableUI() { - UIEnabled = true; - } - - // Render the log output in a scroll view. - void GUIDisplayLog() { - scrollViewVector = GUILayout.BeginScrollView(scrollViewVector); - GUILayout.Label(logText); - GUILayout.EndScrollView(); - } - - DynamicLinkComponents CreateDynamicLinkComponents() { -#if UNITY_5_6_OR_NEWER - string appIdentifier = Application.identifier; -#else - string appIdentifier = Application.bundleIdentifier; -#endif - - return new DynamicLinkComponents( - // The base Link. This should be in your allowlist in the Firebase console. - new System.Uri("https://google.com/abc"), - // The dynamic link domain. - kDomainUriPrefix) { - GoogleAnalyticsParameters = new Firebase.DynamicLinks.GoogleAnalyticsParameters() { - Source = "mysource", - Medium = "mymedium", - Campaign = "mycampaign", - Term = "myterm", - Content = "mycontent" - }, - IOSParameters = new Firebase.DynamicLinks.IOSParameters(appIdentifier) { - FallbackUrl = new System.Uri("https://google.com/fallback"), - CustomScheme = "mycustomscheme", - MinimumVersion = "1.2.3", - IPadBundleId = appIdentifier, - IPadFallbackUrl = new System.Uri("https://google.com/fallbackipad") - }, - ITunesConnectAnalyticsParameters = - new Firebase.DynamicLinks.ITunesConnectAnalyticsParameters() { - AffiliateToken = "abcdefg", - CampaignToken = "hijklmno", - ProviderToken = "pq-rstuv" - }, - AndroidParameters = new Firebase.DynamicLinks.AndroidParameters(appIdentifier) { - FallbackUrl = new System.Uri("https://google.com/fallback"), - MinimumVersion = 12 - }, - SocialMetaTagParameters = new Firebase.DynamicLinks.SocialMetaTagParameters() { - Title = "My App!", - Description = "My app is awesome!", - ImageUrl = new System.Uri("https://google.com/someimage.jpg") - }, - }; - } - - public Uri CreateAndDisplayLongLink() { - var longLink = CreateDynamicLinkComponents().LongDynamicLink; - DebugLog(String.Format("Long dynamic link {0}", longLink)); - return longLink; - } - - public Task CreateAndDisplayShortLinkAsync() { - return CreateAndDisplayShortLinkAsync(new DynamicLinkOptions()); - } - - public Task CreateAndDisplayUnguessableShortLinkAsync() { - return CreateAndDisplayShortLinkAsync(new DynamicLinkOptions { - PathLength = DynamicLinkPathLength.Unguessable - }); - } - - private Task CreateAndDisplayShortLinkAsync(DynamicLinkOptions options) { - if (kDomainUriPrefix == kInvalidDomainUriPrefix) { - DebugLog(kDomainUriPrefixInvalidError); - var source = new TaskCompletionSource(); - source.TrySetException(new Exception(kDomainUriPrefixInvalidError)); - return source.Task; - } - - var components = CreateDynamicLinkComponents(); - return DynamicLinks.GetShortLinkAsync(components, options) - .ContinueWithOnMainThread((task) => { - if (task.IsCanceled) { - DebugLog("Short link creation canceled"); - } else if (task.IsFaulted) { - DebugLog(String.Format("Short link creation failed {0}", task.Exception.ToString())); - } else { - ShortDynamicLink link = task.Result; - DebugLog(String.Format("Generated short link {0}", link.Url)); - var warnings = new System.Collections.Generic.List(link.Warnings); - if (warnings.Count > 0) { - DebugLog("Warnings:"); - foreach (var warning in warnings) { - DebugLog(" " + warning); - } - } - } - return task.Result; - }); - } - - // Render the buttons and other controls. - void GUIDisplayControls() { - if (UIEnabled) { - controlsScrollViewVector = - GUILayout.BeginScrollView(controlsScrollViewVector); - GUILayout.BeginVertical(); - - if (GUILayout.Button("Display Long Link")) { - CreateAndDisplayLongLink(); - } - - if (GUILayout.Button("Create Short Link")) { - CreateAndDisplayShortLinkAsync(); - } - - if (GUILayout.Button("Create Unguessable Short Link")) { - CreateAndDisplayUnguessableShortLinkAsync(); - } - - GUILayout.EndVertical(); - GUILayout.EndScrollView(); - } - } - - // Render the GUI: - void OnGUI() { - GUI.skin = fb_GUISkin; - if (dependencyStatus != DependencyStatus.Available) { - GUILayout.Label("One or more Firebase dependencies are not present."); - GUILayout.Label("Current dependency status: " + dependencyStatus.ToString()); - return; - } - Rect logArea, controlArea; - - if (Screen.width < Screen.height) { - // Portrait mode - controlArea = new Rect(0.0f, 0.0f, Screen.width, Screen.height * 0.5f); - logArea = new Rect(0.0f, Screen.height * 0.5f, Screen.width, Screen.height * 0.5f); - } else { - // Landscape mode - controlArea = new Rect(0.0f, 0.0f, Screen.width * 0.5f, Screen.height); - logArea = new Rect(Screen.width * 0.5f, 0.0f, Screen.width * 0.5f, Screen.height); - } - - GUILayout.BeginArea(logArea); - GUIDisplayLog(); - GUILayout.EndArea(); - - GUILayout.BeginArea(controlArea); - GUIDisplayControls(); - GUILayout.EndArea(); - } - } -} diff --git a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandler.cs.meta b/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandler.cs.meta deleted file mode 100644 index 41ece7554..000000000 --- a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandler.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 552814c88c97f5b43aa5620a0617749b -timeCreated: 1534893606 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandlerAutomated.cs b/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandlerAutomated.cs deleted file mode 100644 index 6723b55cf..000000000 --- a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandlerAutomated.cs +++ /dev/null @@ -1,151 +0,0 @@ -// Copyright 2017 Google Inc. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -namespace Firebase.Sample.DynamicLinks { - using Firebase.Extensions; - using System; - using System.Collections.Generic; - using System.Linq; - using System.Text.RegularExpressions; - using System.Threading.Tasks; - using UnityEngine; - - using Firebase.DynamicLinks; - - public class UIHandlerAutomated : UIHandler { - public string kAutomatedDomainUriPrefix = "REPLACE_WITH_YOUR_URI_PREFIX"; - - private string urlHost; - private Firebase.Sample.AutomatedTestRunner testRunner; - - public override void Start() { - Func[] tests = { - TestCreateLongLinkAsync, -// TODO(b/264533368) Enable theses tests when the issue has been fixed. -#if (UNITY_ANDROID || UNITY_IOS) - // Link shortening does not work on desktop builds, so only test that for mobile. - TestCreateShortLinkAsync, - TestCreateUnguessableShortLinkAsync, -#endif // !UNITY_EDITOR - }; - testRunner = AutomatedTestRunner.CreateTestRunner( - testsToRun: tests, - logFunc: DebugLog - ); - - urlHost = kAutomatedDomainUriPrefix; - base.kDomainUriPrefix = kAutomatedDomainUriPrefix; - base.DisableUI(); - base.Start(); - } - - public override void Update() { - base.Update(); - if (firebaseInitialized) testRunner.Update(); - } - - Task TestCreateLongLinkAsync() { - Func> extractUrlParams = (url) => { - var pattern = new Regex("[?&](?[^=]+)=(?[^&]+)"); - var result = new Dictionary(); - foreach (Match m in pattern.Matches(url)) { - result.Add(m.Groups["name"].Value, m.Groups["value"].Value); - } - return result; - }; - - // Dynamic Links uses the Application identifier for some of the fields. - // Note that on Windows and Linux desktop, this field will likely be empty. - string identifier = Application.identifier; - - // This is taken from the values given in UIHandler. - var expected = - urlHost + "/?afl=https://google.com/fallback&" + - "amv=12&apn=" + identifier + "&at=abcdefg&ct=hijklmno&" + - "ibi=" + identifier + "&ifl=https://google.com/fallback&imv=1.2.3&" + - "ipbi=" + identifier + "&" + - "ipfl=https://google.com/fallbackipad&ius=mycustomscheme&link=https://google.com/abc&" + - "pt=pq-rstuv&sd=My app is awesome!&si=https://google.com/someimage.jpg&st=My App!&" + - "utm_campaign=mycampaign&utm_content=mycontent&utm_medium=mymedium&utm_source=mysource&" + - "utm_term=myterm"; - // The order of URL parameters is different between desktop and mobile implementations, and - // can't be relied upon. - var expectedParams = extractUrlParams(expected); - - var source = new TaskCompletionSource(); - try { - var result = Uri.UnescapeDataString(CreateAndDisplayLongLink().ToString()); - var resultHost = new Regex("/\\?").Split(result)[0]; - var sameHost = resultHost == urlHost; - var resultParams = extractUrlParams(result); - var sameParams = expectedParams.Keys.All(k => resultParams.ContainsKey(k) && - object.Equals(expectedParams[k], resultParams[k])); - - if (sameHost && sameParams) { - source.TrySetResult(result); - } else { - List differences = new List(); - differences.Add("The generated long link doesn't match the expected result."); - if (!sameHost) { - differences.Add(String.Format( - "Url Host:\n" + - " Expected: {0}\n" + - " Actual: {1}", urlHost, resultHost)); - } - if (!sameParams) { - var diffParams = expectedParams.Keys.Where(k => !(resultParams.ContainsKey(k) && - object.Equals(expectedParams[k], resultParams[k]))); - foreach (var key in diffParams) { - differences.Add(String.Format( - "{0}: \n" + - " Expected: {1}\n" + - " Actual: {2}", key, expectedParams[key], - resultParams.ContainsKey(key) ? resultParams[key] : "(missing key)")); - } - } - source.TrySetException(new Exception(String.Join("\n", differences.ToArray()))); - } - } catch (Exception e) { - source.TrySetException(e); - } - - return source.Task; - } - - // This is an ad-hoc sanity check that the shortened URL looks like the correct host followed - // by a bunch of alphanumeric characters as path. - void CheckShortLinkIsValid(string result) { - if (!Regex.IsMatch(result, urlHost + "/[a-zA-Z0-9]+")) { - throw new Exception( - String.Format("The generated link {0} doesn't look right", result)); - } - } - - Task TestCreateShortLinkAsync() { - return CreateAndDisplayShortLinkAsync().ContinueWithOnMainThread(task => { - var result = task.Result.Url.ToString(); - CheckShortLinkIsValid(result); - DebugLog(String.Format("TestCreateShortLink: {0}", result)); - }); - } - - Task TestCreateUnguessableShortLinkAsync() { - return CreateAndDisplayUnguessableShortLinkAsync().ContinueWithOnMainThread(task => { - var result = task.Result.Url.ToString(); - CheckShortLinkIsValid(result); - DebugLog(String.Format("TestCreateUnguessableShortLink: {0}", result)); - }); - } - } -} diff --git a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandlerAutomated.cs.meta b/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandlerAutomated.cs.meta deleted file mode 100644 index 6b57461ca..000000000 --- a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandlerAutomated.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 278a46f295f22004fbdd444eaddab230 -timeCreated: 1534893606 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/dynamic_links/testapp/Assets/Firebase/Sample/GuiSkin.guiskin b/dynamic_links/testapp/Assets/Firebase/Sample/GuiSkin.guiskin deleted file mode 100644 index cdde0ea99..000000000 --- a/dynamic_links/testapp/Assets/Firebase/Sample/GuiSkin.guiskin +++ /dev/null @@ -1,1427 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12001, guid: 0000000000000000e000000000000000, type: 0} - m_Name: GuiSkin - m_EditorClassIdentifier: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_box: - m_Name: box - m_Normal: - m_Background: {fileID: 11001, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0.79999995, g: 0.79999995, b: 0.79999995, a: 1} - m_Hover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Active: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 6 - m_Right: 6 - m_Top: 6 - m_Bottom: 6 - m_Margin: - m_Left: 4 - m_Right: 4 - m_Top: 4 - m_Bottom: 4 - m_Padding: - m_Left: 4 - m_Right: 4 - m_Top: 4 - m_Bottom: 4 - m_Overflow: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 1 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 1 - m_ImagePosition: 0 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 0 - m_FixedHeight: 0 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_button: - m_Name: button - m_Normal: - m_Background: {fileID: 11006, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0.9, g: 0.9, b: 0.9, a: 1} - m_Hover: - m_Background: {fileID: 11003, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 1, g: 1, b: 1, a: 1} - m_Active: - m_Background: {fileID: 11002, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0.9, g: 0.9, b: 0.9, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 1, g: 1, b: 1, a: 1} - m_OnNormal: - m_Background: {fileID: 11005, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0.9019608, g: 0.9019608, b: 0.9019608, a: 1} - m_OnHover: - m_Background: {fileID: 11004, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 1, g: 1, b: 1, a: 1} - m_OnActive: - m_Background: {fileID: 11002, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0.9, g: 0.9, b: 0.9, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 6 - m_Right: 6 - m_Top: 6 - m_Bottom: 4 - m_Margin: - m_Left: 15 - m_Right: 15 - m_Top: 15 - m_Bottom: 15 - m_Padding: - m_Left: 6 - m_Right: 6 - m_Top: 30 - m_Bottom: 30 - m_Overflow: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 45 - m_FontStyle: 0 - m_Alignment: 4 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 1 - m_ImagePosition: 0 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 0 - m_FixedHeight: 0 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_toggle: - m_Name: toggle - m_Normal: - m_Background: {fileID: 11018, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0.89112896, g: 0.89112896, b: 0.89112896, a: 1} - m_Hover: - m_Background: {fileID: 11014, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 1, g: 1, b: 1, a: 1} - m_Active: - m_Background: {fileID: 11013, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 1, g: 1, b: 1, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 11016, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0.8901961, g: 0.8901961, b: 0.8901961, a: 1} - m_OnHover: - m_Background: {fileID: 11015, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 1, g: 1, b: 1, a: 1} - m_OnActive: - m_Background: {fileID: 11017, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 1, g: 1, b: 1, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 14 - m_Right: 0 - m_Top: 14 - m_Bottom: 0 - m_Margin: - m_Left: 4 - m_Right: 4 - m_Top: 4 - m_Bottom: 4 - m_Padding: - m_Left: 15 - m_Right: 0 - m_Top: 3 - m_Bottom: 0 - m_Overflow: - m_Left: -1 - m_Right: 0 - m_Top: -4 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 1 - m_ImagePosition: 0 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 0 - m_FixedHeight: 0 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_label: - m_Name: label - m_Normal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Hover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Active: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Margin: - m_Left: 4 - m_Right: 4 - m_Top: 4 - m_Bottom: 4 - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 3 - m_Bottom: 3 - m_Overflow: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 45 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 1 - m_RichText: 1 - m_TextClipping: 1 - m_ImagePosition: 0 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 0 - m_FixedHeight: 0 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_textField: - m_Name: textfield - m_Normal: - m_Background: {fileID: 11024, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0.79999995, g: 0.79999995, b: 0.79999995, a: 1} - m_Hover: - m_Background: {fileID: 11026, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0.9, g: 0.9, b: 0.9, a: 1} - m_Active: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 11026, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 1, g: 1, b: 1, a: 1} - m_OnNormal: - m_Background: {fileID: 11025, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 1, g: 1, b: 1, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 4 - m_Right: 4 - m_Top: 4 - m_Bottom: 4 - m_Margin: - m_Left: 3 - m_Right: 3 - m_Top: 3 - m_Bottom: 3 - m_Padding: - m_Left: 10 - m_Right: 10 - m_Top: 10 - m_Bottom: 10 - m_Overflow: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 60 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 0 - m_RichText: 0 - m_TextClipping: 1 - m_ImagePosition: 3 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 0 - m_FixedHeight: 0 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_textArea: - m_Name: textarea - m_Normal: - m_Background: {fileID: 11024, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0.9019608, g: 0.9019608, b: 0.9019608, a: 1} - m_Hover: - m_Background: {fileID: 11026, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0.79999995, g: 0.79999995, b: 0.79999995, a: 1} - m_Active: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 11025, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 1, g: 1, b: 1, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 4 - m_Right: 4 - m_Top: 4 - m_Bottom: 4 - m_Margin: - m_Left: 4 - m_Right: 4 - m_Top: 4 - m_Bottom: 4 - m_Padding: - m_Left: 3 - m_Right: 3 - m_Top: 3 - m_Bottom: 3 - m_Overflow: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 1 - m_RichText: 0 - m_TextClipping: 1 - m_ImagePosition: 0 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 0 - m_FixedHeight: 0 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_window: - m_Name: window - m_Normal: - m_Background: {fileID: 11023, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 1, g: 1, b: 1, a: 1} - m_Hover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Active: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 11022, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 1, g: 1, b: 1, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 8 - m_Right: 8 - m_Top: 18 - m_Bottom: 8 - m_Margin: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Padding: - m_Left: 10 - m_Right: 10 - m_Top: 20 - m_Bottom: 10 - m_Overflow: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 1 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 1 - m_ImagePosition: 0 - m_ContentOffset: {x: 0, y: -18} - m_FixedWidth: 0 - m_FixedHeight: 0 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_horizontalSlider: - m_Name: horizontalslider - m_Normal: - m_Background: {fileID: 11009, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Hover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Active: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 3 - m_Right: 3 - m_Top: 0 - m_Bottom: 0 - m_Margin: - m_Left: 4 - m_Right: 4 - m_Top: 4 - m_Bottom: 4 - m_Padding: - m_Left: -1 - m_Right: -1 - m_Top: 0 - m_Bottom: 0 - m_Overflow: - m_Left: 0 - m_Right: 0 - m_Top: -2 - m_Bottom: -3 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 1 - m_ImagePosition: 2 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 0 - m_FixedHeight: 12 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_horizontalSliderThumb: - m_Name: horizontalsliderthumb - m_Normal: - m_Background: {fileID: 11011, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Hover: - m_Background: {fileID: 11012, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Active: - m_Background: {fileID: 11010, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 4 - m_Right: 4 - m_Top: 0 - m_Bottom: 0 - m_Margin: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Padding: - m_Left: 7 - m_Right: 7 - m_Top: 0 - m_Bottom: 0 - m_Overflow: - m_Left: -1 - m_Right: -1 - m_Top: 0 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 1 - m_ImagePosition: 2 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 0 - m_FixedHeight: 12 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_verticalSlider: - m_Name: verticalslider - m_Normal: - m_Background: {fileID: 11021, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Hover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Active: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 0 - m_Right: 0 - m_Top: 3 - m_Bottom: 3 - m_Margin: - m_Left: 4 - m_Right: 4 - m_Top: 4 - m_Bottom: 4 - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: -1 - m_Bottom: -1 - m_Overflow: - m_Left: -2 - m_Right: -3 - m_Top: 0 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 0 - m_ImagePosition: 0 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 12 - m_FixedHeight: 0 - m_StretchWidth: 0 - m_StretchHeight: 1 - m_verticalSliderThumb: - m_Name: verticalsliderthumb - m_Normal: - m_Background: {fileID: 11011, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Hover: - m_Background: {fileID: 11012, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Active: - m_Background: {fileID: 11010, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Margin: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 7 - m_Bottom: 7 - m_Overflow: - m_Left: 0 - m_Right: 0 - m_Top: -1 - m_Bottom: -1 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 1 - m_ImagePosition: 0 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 12 - m_FixedHeight: 0 - m_StretchWidth: 0 - m_StretchHeight: 1 - m_horizontalScrollbar: - m_Name: horizontalscrollbar - m_Normal: - m_Background: {fileID: 11008, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Hover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Active: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 9 - m_Right: 9 - m_Top: 0 - m_Bottom: 0 - m_Margin: - m_Left: 4 - m_Right: 4 - m_Top: 1 - m_Bottom: 4 - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Overflow: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 1 - m_ImagePosition: 2 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 0 - m_FixedHeight: 60 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_horizontalScrollbarThumb: - m_Name: horizontalscrollbarthumb - m_Normal: - m_Background: {fileID: 11007, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Hover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Active: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 6 - m_Right: 6 - m_Top: 6 - m_Bottom: 6 - m_Margin: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Padding: - m_Left: 6 - m_Right: 6 - m_Top: 0 - m_Bottom: 0 - m_Overflow: - m_Left: 0 - m_Right: 0 - m_Top: -1 - m_Bottom: 1 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 1 - m_ImagePosition: 0 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 0 - m_FixedHeight: 0 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_horizontalScrollbarLeftButton: - m_Name: horizontalscrollbarleftbutton - m_Normal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Hover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Active: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Margin: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Overflow: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 1 - m_ImagePosition: 0 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 0 - m_FixedHeight: 0 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_horizontalScrollbarRightButton: - m_Name: horizontalscrollbarrightbutton - m_Normal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Hover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Active: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Margin: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Overflow: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 1 - m_ImagePosition: 0 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 0 - m_FixedHeight: 0 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_verticalScrollbar: - m_Name: verticalscrollbar - m_Normal: - m_Background: {fileID: 11020, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Hover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Active: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 0 - m_Right: 0 - m_Top: 9 - m_Bottom: 9 - m_Margin: - m_Left: 1 - m_Right: 4 - m_Top: 4 - m_Bottom: 4 - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 1 - m_Bottom: 1 - m_Overflow: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 1 - m_ImagePosition: 0 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 60 - m_FixedHeight: 0 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_verticalScrollbarThumb: - m_Name: verticalscrollbarthumb - m_Normal: - m_Background: {fileID: 11019, guid: 0000000000000000e000000000000000, type: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Hover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Active: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 6 - m_Right: 6 - m_Top: 6 - m_Bottom: 6 - m_Margin: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 6 - m_Bottom: 6 - m_Overflow: - m_Left: -1 - m_Right: -1 - m_Top: 0 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 1 - m_ImagePosition: 2 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 0 - m_FixedHeight: 0 - m_StretchWidth: 0 - m_StretchHeight: 1 - m_verticalScrollbarUpButton: - m_Name: verticalscrollbarupbutton - m_Normal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Hover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Active: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Margin: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Overflow: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 1 - m_ImagePosition: 0 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 0 - m_FixedHeight: 0 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_verticalScrollbarDownButton: - m_Name: verticalscrollbardownbutton - m_Normal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Hover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Active: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Margin: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Overflow: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 1 - m_ImagePosition: 0 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 0 - m_FixedHeight: 0 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_ScrollView: - m_Name: scrollview - m_Normal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Hover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Active: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Margin: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Overflow: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 1 - m_ImagePosition: 0 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 0 - m_FixedHeight: 0 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_CustomStyles: - - m_Name: - m_Normal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Hover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Active: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Focused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnNormal: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnHover: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnActive: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_OnFocused: - m_Background: {fileID: 0} - m_ScaledBackgrounds: [] - m_TextColor: {r: 0, g: 0, b: 0, a: 1} - m_Border: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Margin: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Overflow: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_Font: {fileID: 0} - m_FontSize: 0 - m_FontStyle: 0 - m_Alignment: 0 - m_WordWrap: 0 - m_RichText: 1 - m_TextClipping: 0 - m_ImagePosition: 0 - m_ContentOffset: {x: 0, y: 0} - m_FixedWidth: 0 - m_FixedHeight: 0 - m_StretchWidth: 1 - m_StretchHeight: 0 - m_Settings: - m_DoubleClickSelectsWord: 1 - m_TripleClickSelectsLine: 1 - m_CursorColor: {r: 1, g: 1, b: 1, a: 1} - m_CursorFlashSpeed: -1 - m_SelectionColor: {r: 1, g: 0.38403907, b: 0, a: 0.7} diff --git a/dynamic_links/testapp/Assets/Firebase/Sample/GuiSkin.guiskin.meta b/dynamic_links/testapp/Assets/Firebase/Sample/GuiSkin.guiskin.meta deleted file mode 100644 index 520fae49d..000000000 --- a/dynamic_links/testapp/Assets/Firebase/Sample/GuiSkin.guiskin.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 14ab14e9b97f743dca62b51e1e369f07 -timeCreated: 1474935020 -licenseType: Pro -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/dynamic_links/testapp/Assets/Plugins/Android/GameLoops.androidlib/AndroidManifest.xml b/dynamic_links/testapp/Assets/Plugins/Android/GameLoops.androidlib/AndroidManifest.xml deleted file mode 100644 index 208d18614..000000000 --- a/dynamic_links/testapp/Assets/Plugins/Android/GameLoops.androidlib/AndroidManifest.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/dynamic_links/testapp/Assets/Plugins/Android/GameLoops.androidlib/AndroidManifest.xml.meta b/dynamic_links/testapp/Assets/Plugins/Android/GameLoops.androidlib/AndroidManifest.xml.meta deleted file mode 100644 index b9311b893..000000000 --- a/dynamic_links/testapp/Assets/Plugins/Android/GameLoops.androidlib/AndroidManifest.xml.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 60cc569d252584c2f87d60e217eb1a2c -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/dynamic_links/testapp/Assets/Plugins/Android/GameLoops.androidlib/project.properties b/dynamic_links/testapp/Assets/Plugins/Android/GameLoops.androidlib/project.properties deleted file mode 100755 index 6a402b0cf..000000000 --- a/dynamic_links/testapp/Assets/Plugins/Android/GameLoops.androidlib/project.properties +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright (C) 2019 Google Inc. All Rights Reserved. -# -# Together with an AndroidManifest, placing this file into a directory tells Unity -# that the directory is an Android library. Unity will then merge the manifest into -# the main manifest. - -android.library=true diff --git a/dynamic_links/testapp/Assets/Plugins/Android/GameLoops.androidlib/project.properties.meta b/dynamic_links/testapp/Assets/Plugins/Android/GameLoops.androidlib/project.properties.meta deleted file mode 100644 index dcd462066..000000000 --- a/dynamic_links/testapp/Assets/Plugins/Android/GameLoops.androidlib/project.properties.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 60bff5e3ec31645e19c842d1b1ae7ddf -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/dynamic_links/testapp/ProjectSettings/AudioManager.asset b/dynamic_links/testapp/ProjectSettings/AudioManager.asset deleted file mode 100644 index faf901c3e..000000000 --- a/dynamic_links/testapp/ProjectSettings/AudioManager.asset +++ /dev/null @@ -1,15 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!11 &1 -AudioManager: - m_ObjectHideFlags: 0 - m_Volume: 1 - Rolloff Scale: 1 - Doppler Factor: 1 - Default Speaker Mode: 2 - m_SampleRate: 0 - m_DSPBufferSize: 0 - m_VirtualVoiceCount: 512 - m_RealVoiceCount: 32 - m_SpatializerPlugin: - m_DisableAudio: 0 diff --git a/dynamic_links/testapp/ProjectSettings/ClusterInputManager.asset b/dynamic_links/testapp/ProjectSettings/ClusterInputManager.asset deleted file mode 100644 index e7886b266..000000000 --- a/dynamic_links/testapp/ProjectSettings/ClusterInputManager.asset +++ /dev/null @@ -1,6 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!236 &1 -ClusterInputManager: - m_ObjectHideFlags: 0 - m_Inputs: [] diff --git a/dynamic_links/testapp/ProjectSettings/DynamicsManager.asset b/dynamic_links/testapp/ProjectSettings/DynamicsManager.asset deleted file mode 100644 index 3534236e5..000000000 --- a/dynamic_links/testapp/ProjectSettings/DynamicsManager.asset +++ /dev/null @@ -1,15 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!55 &1 -PhysicsManager: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Gravity: {x: 0, y: -9.81, z: 0} - m_DefaultMaterial: {fileID: 0} - m_BounceThreshold: 2 - m_SleepThreshold: 0.005 - m_DefaultContactOffset: 0.01 - m_SolverIterationCount: 6 - m_QueriesHitTriggers: 1 - m_EnableAdaptiveForce: 0 - m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/dynamic_links/testapp/ProjectSettings/EditorBuildSettings.asset b/dynamic_links/testapp/ProjectSettings/EditorBuildSettings.asset deleted file mode 100644 index 6dc24f7df..000000000 --- a/dynamic_links/testapp/ProjectSettings/EditorBuildSettings.asset +++ /dev/null @@ -1,7 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1045 &1 -EditorBuildSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Scenes: [] diff --git a/dynamic_links/testapp/ProjectSettings/EditorSettings.asset b/dynamic_links/testapp/ProjectSettings/EditorSettings.asset deleted file mode 100644 index 529a05c41..000000000 --- a/dynamic_links/testapp/ProjectSettings/EditorSettings.asset +++ /dev/null @@ -1,15 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!159 &1 -EditorSettings: - m_ObjectHideFlags: 0 - serializedVersion: 3 - m_ExternalVersionControlSupport: Visible Meta Files - m_SerializationMode: 2 - m_WebSecurityEmulationEnabled: 0 - m_WebSecurityEmulationHostUrl: http://www.mydomain.com/mygame.unity3d - m_DefaultBehaviorMode: 0 - m_SpritePackerMode: 2 - m_SpritePackerPaddingPower: 1 - m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd - m_ProjectGenerationRootNamespace: diff --git a/dynamic_links/testapp/ProjectSettings/GraphicsSettings.asset b/dynamic_links/testapp/ProjectSettings/GraphicsSettings.asset deleted file mode 100644 index 127711209..000000000 --- a/dynamic_links/testapp/ProjectSettings/GraphicsSettings.asset +++ /dev/null @@ -1,67 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!30 &1 -GraphicsSettings: - m_ObjectHideFlags: 0 - serializedVersion: 7 - m_Deferred: - m_Mode: 1 - m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} - m_DeferredReflections: - m_Mode: 1 - m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} - m_ScreenSpaceShadows: - m_Mode: 1 - m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} - m_LegacyDeferred: - m_Mode: 1 - m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} - m_DepthNormals: - m_Mode: 1 - m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} - m_MotionVectors: - m_Mode: 1 - m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} - m_LightHalo: - m_Mode: 1 - m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} - m_LensFlare: - m_Mode: 1 - m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} - m_AlwaysIncludedShaders: - - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0} - m_PreloadedShaders: [] - m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, - type: 0} - m_ShaderSettings_Tier1: - useCascadedShadowMaps: 0 - standardShaderQuality: 0 - useReflectionProbeBoxProjection: 0 - useReflectionProbeBlending: 0 - m_ShaderSettings_Tier2: - useCascadedShadowMaps: 0 - standardShaderQuality: 1 - useReflectionProbeBoxProjection: 0 - useReflectionProbeBlending: 0 - m_ShaderSettings_Tier3: - useCascadedShadowMaps: 0 - standardShaderQuality: 1 - useReflectionProbeBoxProjection: 0 - useReflectionProbeBlending: 0 - m_BuildTargetShaderSettings: [] - m_LightmapStripping: 0 - m_FogStripping: 0 - m_LightmapKeepPlain: 1 - m_LightmapKeepDirCombined: 1 - m_LightmapKeepDirSeparate: 1 - m_LightmapKeepDynamicPlain: 1 - m_LightmapKeepDynamicDirCombined: 1 - m_LightmapKeepDynamicDirSeparate: 1 - m_FogKeepLinear: 1 - m_FogKeepExp: 1 - m_FogKeepExp2: 1 diff --git a/dynamic_links/testapp/ProjectSettings/InputManager.asset b/dynamic_links/testapp/ProjectSettings/InputManager.asset deleted file mode 100644 index 17c8f538e..000000000 --- a/dynamic_links/testapp/ProjectSettings/InputManager.asset +++ /dev/null @@ -1,295 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!13 &1 -InputManager: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Axes: - - serializedVersion: 3 - m_Name: Horizontal - descriptiveName: - descriptiveNegativeName: - negativeButton: left - positiveButton: right - altNegativeButton: a - altPositiveButton: d - gravity: 3 - dead: 0.001 - sensitivity: 3 - snap: 1 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Vertical - descriptiveName: - descriptiveNegativeName: - negativeButton: down - positiveButton: up - altNegativeButton: s - altPositiveButton: w - gravity: 3 - dead: 0.001 - sensitivity: 3 - snap: 1 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire1 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: left ctrl - altNegativeButton: - altPositiveButton: mouse 0 - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire2 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: left alt - altNegativeButton: - altPositiveButton: mouse 1 - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire3 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: left shift - altNegativeButton: - altPositiveButton: mouse 2 - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Jump - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: space - altNegativeButton: - altPositiveButton: - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Mouse X - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: - altNegativeButton: - altPositiveButton: - gravity: 0 - dead: 0 - sensitivity: 0.1 - snap: 0 - invert: 0 - type: 1 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Mouse Y - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: - altNegativeButton: - altPositiveButton: - gravity: 0 - dead: 0 - sensitivity: 0.1 - snap: 0 - invert: 0 - type: 1 - axis: 1 - joyNum: 0 - - serializedVersion: 3 - m_Name: Mouse ScrollWheel - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: - altNegativeButton: - altPositiveButton: - gravity: 0 - dead: 0 - sensitivity: 0.1 - snap: 0 - invert: 0 - type: 1 - axis: 2 - joyNum: 0 - - serializedVersion: 3 - m_Name: Horizontal - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: - altNegativeButton: - altPositiveButton: - gravity: 0 - dead: 0.19 - sensitivity: 1 - snap: 0 - invert: 0 - type: 2 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Vertical - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: - altNegativeButton: - altPositiveButton: - gravity: 0 - dead: 0.19 - sensitivity: 1 - snap: 0 - invert: 1 - type: 2 - axis: 1 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire1 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: joystick button 0 - altNegativeButton: - altPositiveButton: - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire2 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: joystick button 1 - altNegativeButton: - altPositiveButton: - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire3 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: joystick button 2 - altNegativeButton: - altPositiveButton: - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Jump - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: joystick button 3 - altNegativeButton: - altPositiveButton: - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Submit - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: return - altNegativeButton: - altPositiveButton: joystick button 0 - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Submit - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: enter - altNegativeButton: - altPositiveButton: space - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Cancel - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: escape - altNegativeButton: - altPositiveButton: joystick button 1 - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 diff --git a/dynamic_links/testapp/ProjectSettings/NavMeshAreas.asset b/dynamic_links/testapp/ProjectSettings/NavMeshAreas.asset deleted file mode 100644 index a04f35c79..000000000 --- a/dynamic_links/testapp/ProjectSettings/NavMeshAreas.asset +++ /dev/null @@ -1,71 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!126 &1 -NavMeshAreas: - m_ObjectHideFlags: 0 - serializedVersion: 2 - areas: - - name: Walkable - cost: 1 - - name: Not Walkable - cost: 1 - - name: Jump - cost: 2 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 diff --git a/dynamic_links/testapp/ProjectSettings/NetworkManager.asset b/dynamic_links/testapp/ProjectSettings/NetworkManager.asset deleted file mode 100644 index 5dc6a831d..000000000 --- a/dynamic_links/testapp/ProjectSettings/NetworkManager.asset +++ /dev/null @@ -1,8 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!149 &1 -NetworkManager: - m_ObjectHideFlags: 0 - m_DebugLevel: 0 - m_Sendrate: 15 - m_AssetToPrefab: {} diff --git a/dynamic_links/testapp/ProjectSettings/PackageManagerSettings.asset b/dynamic_links/testapp/ProjectSettings/PackageManagerSettings.asset deleted file mode 100644 index 6920e3adb..000000000 --- a/dynamic_links/testapp/ProjectSettings/PackageManagerSettings.asset +++ /dev/null @@ -1,38 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &1 -MonoBehaviour: - m_ObjectHideFlags: 61 - 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: 13964, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_ScopedRegistriesSettingsExpanded: 1 - oneTimeWarningShown: 0 - m_Registries: - - m_Id: main - m_Name: - m_Url: https://packages.unity.com - m_Scopes: [] - m_IsDefault: 1 - m_UserSelectedRegistryName: - m_UserAddingNewScopedRegistry: 0 - m_RegistryInfoDraft: - m_ErrorMessage: - m_Original: - m_Id: - m_Name: - m_Url: - m_Scopes: [] - m_IsDefault: 0 - m_Modified: 0 - m_Name: - m_Url: - m_Scopes: - - - m_SelectedScopeIndex: 0 diff --git a/dynamic_links/testapp/ProjectSettings/Physics2DSettings.asset b/dynamic_links/testapp/ProjectSettings/Physics2DSettings.asset deleted file mode 100644 index 7e9e664f2..000000000 --- a/dynamic_links/testapp/ProjectSettings/Physics2DSettings.asset +++ /dev/null @@ -1,25 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!19 &1 -Physics2DSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Gravity: {x: 0, y: -9.81} - m_DefaultMaterial: {fileID: 0} - m_VelocityIterations: 8 - m_PositionIterations: 3 - m_VelocityThreshold: 1 - m_MaxLinearCorrection: 0.2 - m_MaxAngularCorrection: 8 - m_MaxTranslationSpeed: 100 - m_MaxRotationSpeed: 360 - m_MinPenetrationForPenalty: 0.01 - m_BaumgarteScale: 0.2 - m_BaumgarteTimeOfImpactScale: 0.75 - m_TimeToSleep: 0.5 - m_LinearSleepTolerance: 0.01 - m_AngularSleepTolerance: 2 - m_QueriesHitTriggers: 1 - m_QueriesStartInColliders: 1 - m_ChangeStopsCallbacks: 0 - m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/dynamic_links/testapp/ProjectSettings/PresetManager.asset b/dynamic_links/testapp/ProjectSettings/PresetManager.asset deleted file mode 100644 index 67a94daef..000000000 --- a/dynamic_links/testapp/ProjectSettings/PresetManager.asset +++ /dev/null @@ -1,7 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1386491679 &1 -PresetManager: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_DefaultPresets: {} diff --git a/dynamic_links/testapp/ProjectSettings/ProjectSettings.asset b/dynamic_links/testapp/ProjectSettings/ProjectSettings.asset deleted file mode 100644 index 03d68a52b..000000000 --- a/dynamic_links/testapp/ProjectSettings/ProjectSettings.asset +++ /dev/null @@ -1,1052 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!129 &1 -PlayerSettings: - m_ObjectHideFlags: 0 - serializedVersion: 24 - productGUID: 8b7d5e9f5e7e04e6c980d1a5558268b4 - AndroidProfiler: 0 - AndroidFilterTouchesWhenObscured: 0 - AndroidEnableSustainedPerformanceMode: 0 - defaultScreenOrientation: 4 - targetDevice: 2 - useOnDemandResources: 0 - accelerometerFrequency: 60 - companyName: Google - productName: Firebase Dynamic Links Unity Testapp - defaultCursor: {fileID: 0} - cursorHotspot: {x: 0, y: 0} - m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} - m_ShowUnitySplashScreen: 1 - m_ShowUnitySplashLogo: 1 - m_SplashScreenOverlayOpacity: 1 - m_SplashScreenAnimation: 1 - m_SplashScreenLogoStyle: 1 - m_SplashScreenDrawMode: 0 - m_SplashScreenBackgroundAnimationZoom: 1 - m_SplashScreenLogoAnimationZoom: 1 - m_SplashScreenBackgroundLandscapeAspect: 1 - m_SplashScreenBackgroundPortraitAspect: 1 - m_SplashScreenBackgroundLandscapeUvs: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - m_SplashScreenBackgroundPortraitUvs: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - m_SplashScreenLogos: [] - m_VirtualRealitySplashScreen: {fileID: 0} - m_HolographicTrackingLossScreen: {fileID: 0} - defaultScreenWidth: 1024 - defaultScreenHeight: 768 - defaultScreenWidthWeb: 960 - defaultScreenHeightWeb: 600 - m_StereoRenderingPath: 0 - m_ActiveColorSpace: 0 - unsupportedMSAAFallback: 0 - m_MTRendering: 1 - mipStripping: 0 - numberOfMipsStripped: 0 - m_StackTraceTypes: 010000000100000001000000010000000100000001000000 - iosShowActivityIndicatorOnLoading: -1 - androidShowActivityIndicatorOnLoading: -1 - iosUseCustomAppBackgroundBehavior: 0 - iosAllowHTTPDownload: 1 - allowedAutorotateToPortrait: 1 - allowedAutorotateToPortraitUpsideDown: 1 - allowedAutorotateToLandscapeRight: 1 - allowedAutorotateToLandscapeLeft: 1 - useOSAutorotation: 1 - use32BitDisplayBuffer: 1 - preserveFramebufferAlpha: 0 - disableDepthAndStencilBuffers: 0 - androidStartInFullscreen: 1 - androidRenderOutsideSafeArea: 1 - androidUseSwappy: 0 - androidBlitType: 0 - androidResizableWindow: 0 - androidDefaultWindowWidth: 1920 - androidDefaultWindowHeight: 1080 - androidMinimumWindowWidth: 400 - androidMinimumWindowHeight: 300 - androidFullscreenMode: 1 - androidAutoRotationBehavior: 1 - defaultIsNativeResolution: 1 - macRetinaSupport: 1 - runInBackground: 1 - captureSingleScreen: 0 - muteOtherAudioSources: 0 - Prepare IOS For Recording: 0 - Force IOS Speakers When Recording: 0 - deferSystemGesturesMode: 0 - hideHomeButton: 0 - submitAnalytics: 1 - usePlayerLog: 1 - bakeCollisionMeshes: 0 - forceSingleInstance: 0 - useFlipModelSwapchain: 1 - resizableWindow: 0 - useMacAppStoreValidation: 0 - macAppStoreCategory: public.app-category.games - gpuSkinning: 0 - xboxPIXTextureCapture: 0 - xboxEnableAvatar: 0 - xboxEnableKinect: 0 - xboxEnableKinectAutoTracking: 0 - xboxEnableFitness: 0 - visibleInBackground: 0 - allowFullscreenSwitch: 1 - fullscreenMode: 1 - xboxSpeechDB: 0 - xboxEnableHeadOrientation: 0 - xboxEnableGuest: 0 - xboxEnablePIXSampling: 0 - metalFramebufferOnly: 0 - xboxOneResolution: 0 - xboxOneSResolution: 0 - xboxOneXResolution: 3 - xboxOneMonoLoggingLevel: 0 - xboxOneLoggingLevel: 1 - xboxOneDisableEsram: 0 - xboxOneEnableTypeOptimization: 0 - xboxOnePresentImmediateThreshold: 0 - switchQueueCommandMemory: 1048576 - switchQueueControlMemory: 16384 - switchQueueComputeMemory: 262144 - switchNVNShaderPoolsGranularity: 33554432 - switchNVNDefaultPoolsGranularity: 16777216 - switchNVNOtherPoolsGranularity: 16777216 - switchNVNMaxPublicTextureIDCount: 0 - switchNVNMaxPublicSamplerIDCount: 0 - switchMaxWorkerMultiple: 8 - stadiaPresentMode: 0 - stadiaTargetFramerate: 0 - vulkanNumSwapchainBuffers: 3 - vulkanEnableSetSRGBWrite: 0 - vulkanEnablePreTransform: 0 - vulkanEnableLateAcquireNextImage: 0 - vulkanEnableCommandBufferRecycling: 1 - m_SupportedAspectRatios: - 4:3: 1 - 5:4: 1 - 16:10: 1 - 16:9: 1 - Others: 1 - bundleVersion: 1.0 - preloadedAssets: [] - metroInputSource: 0 - wsaTransparentSwapchain: 0 - m_HolographicPauseOnTrackingLoss: 1 - xboxOneDisableKinectGpuReservation: 0 - xboxOneEnable7thCore: 0 - vrSettings: - enable360StereoCapture: 0 - isWsaHolographicRemotingEnabled: 0 - enableFrameTimingStats: 0 - enableOpenGLProfilerGPURecorders: 1 - useHDRDisplay: 0 - D3DHDRBitDepth: 0 - m_ColorGamuts: 00000000 - targetPixelDensity: 30 - resolutionScalingMode: 0 - resetResolutionOnWindowResize: 0 - androidSupportedAspectRatio: 1 - androidMaxAspectRatio: 2.1 - applicationIdentifier: - Android: com.google.FirebaseUnityDynamicLinksTestApp.dev - Standalone: com.google.FirebaseUnityDynamicLinksTestApp.dev - Tizen: com.google.FirebaseUnityDynamicLinksTestApp.dev - iPhone: com.google.FirebaseUnityDynamicLinksTestApp.dev - tvOS: com.google.FirebaseUnityDynamicLinksTestApp.dev - buildNumber: - Standalone: 0 - iPhone: 0 - tvOS: 0 - overrideDefaultApplicationIdentifier: 1 - AndroidBundleVersionCode: 1 - AndroidMinSdkVersion: 26 - AndroidTargetSdkVersion: 0 - AndroidPreferredInstallLocation: 1 - aotOptions: - stripEngineCode: 1 - iPhoneStrippingLevel: 0 - iPhoneScriptCallOptimization: 0 - ForceInternetPermission: 0 - ForceSDCardPermission: 0 - CreateWallpaper: 0 - APKExpansionFiles: 0 - keepLoadedShadersAlive: 0 - StripUnusedMeshComponents: 0 - VertexChannelCompressionMask: 214 - iPhoneSdkVersion: 988 - iOSTargetOSVersionString: 13.0 - tvOSSdkVersion: 0 - tvOSRequireExtendedGameController: 0 - tvOSTargetOSVersionString: 13.0 - uIPrerenderedIcon: 0 - uIRequiresPersistentWiFi: 0 - uIRequiresFullScreen: 1 - uIStatusBarHidden: 1 - uIExitOnSuspend: 0 - uIStatusBarStyle: 0 - appleTVSplashScreen: {fileID: 0} - appleTVSplashScreen2x: {fileID: 0} - tvOSSmallIconLayers: [] - tvOSSmallIconLayers2x: [] - tvOSLargeIconLayers: [] - tvOSLargeIconLayers2x: [] - tvOSTopShelfImageLayers: [] - tvOSTopShelfImageLayers2x: [] - tvOSTopShelfImageWideLayers: [] - tvOSTopShelfImageWideLayers2x: [] - iOSLaunchScreenType: 0 - iOSLaunchScreenPortrait: {fileID: 0} - iOSLaunchScreenLandscape: {fileID: 0} - iOSLaunchScreenBackgroundColor: - serializedVersion: 2 - rgba: 0 - iOSLaunchScreenFillPct: 100 - iOSLaunchScreenSize: 100 - iOSLaunchScreenCustomXibPath: - iOSLaunchScreeniPadType: 0 - iOSLaunchScreeniPadImage: {fileID: 0} - iOSLaunchScreeniPadBackgroundColor: - serializedVersion: 2 - rgba: 0 - iOSLaunchScreeniPadFillPct: 100 - iOSLaunchScreeniPadSize: 100 - iOSLaunchScreeniPadCustomXibPath: - iOSLaunchScreenCustomStoryboardPath: - iOSLaunchScreeniPadCustomStoryboardPath: - iOSDeviceRequirements: [] - iOSURLSchemes: - - firebase-game-loop - macOSURLSchemes: [] - iOSBackgroundModes: 0 - iOSMetalForceHardShadows: 0 - metalEditorSupport: 1 - metalAPIValidation: 1 - iOSRenderExtraFrameOnPause: 1 - iosCopyPluginsCodeInsteadOfSymlink: 0 - appleDeveloperTeamID: - iOSManualSigningProvisioningProfileID: - tvOSManualSigningProvisioningProfileID: - iOSManualSigningProvisioningProfileType: 0 - tvOSManualSigningProvisioningProfileType: 0 - appleEnableAutomaticSigning: 0 - iOSRequireARKit: 0 - iOSAutomaticallyDetectAndAddCapabilities: 1 - appleEnableProMotion: 0 - shaderPrecisionModel: 0 - clonedFromGUID: 00000000000000000000000000000000 - templatePackageId: - templateDefaultScene: - useCustomMainManifest: 0 - useCustomLauncherManifest: 0 - useCustomMainGradleTemplate: 0 - useCustomLauncherGradleManifest: 0 - useCustomBaseGradleTemplate: 0 - useCustomGradlePropertiesTemplate: 0 - useCustomGradleSettingsTemplate: 0 - useCustomProguardFile: 0 - AndroidTargetArchitectures: 1 - AndroidTargetDevices: 0 - AndroidSplashScreenScale: 0 - androidSplashScreen: {fileID: 0} - AndroidKeystoreName: '{inproject}: ' - AndroidKeyaliasName: - AndroidBuildApkPerCpuArchitecture: 0 - AndroidTVCompatibility: 1 - AndroidIsGame: 1 - AndroidEnableTango: 0 - androidEnableBanner: 0 - androidUseLowAccuracyLocation: 0 - androidUseCustomKeystore: 0 - m_AndroidBanners: - - width: 320 - height: 180 - banner: {fileID: 0} - androidGamepadSupportLevel: 0 - chromeosInputEmulation: 1 - AndroidMinifyRelease: 0 - AndroidMinifyDebug: 0 - AndroidValidateAppBundleSize: 1 - AndroidAppBundleSizeToValidate: 200 - m_BuildTargetIcons: - - m_BuildTarget: - m_Icons: - - serializedVersion: 2 - m_Icon: {fileID: 0} - m_Width: 128 - m_Height: 128 - m_Kind: 0 - - m_BuildTarget: Android - m_Icons: - - serializedVersion: 2 - m_Icon: {fileID: 2800000, guid: 35f8a50c66c0747188f03b077b16626b, type: 3} - m_Width: 192 - m_Height: 192 - m_Kind: 0 - - serializedVersion: 2 - m_Icon: {fileID: 0} - m_Width: 144 - m_Height: 144 - m_Kind: 0 - - serializedVersion: 2 - m_Icon: {fileID: 0} - m_Width: 96 - m_Height: 96 - m_Kind: 0 - - serializedVersion: 2 - m_Icon: {fileID: 0} - m_Width: 72 - m_Height: 72 - m_Kind: 0 - - serializedVersion: 2 - m_Icon: {fileID: 0} - m_Width: 48 - m_Height: 48 - m_Kind: 0 - - serializedVersion: 2 - m_Icon: {fileID: 0} - m_Width: 36 - m_Height: 36 - m_Kind: 0 - m_BuildTargetPlatformIcons: - - m_BuildTarget: tvOS - m_Icons: - - m_Textures: [] - m_Width: 1280 - m_Height: 768 - m_Kind: 0 - m_SubKind: - - m_Textures: [] - m_Width: 800 - m_Height: 480 - m_Kind: 0 - m_SubKind: - - m_Textures: [] - m_Width: 400 - m_Height: 240 - m_Kind: 0 - m_SubKind: - - m_Textures: [] - m_Width: 4640 - m_Height: 1440 - m_Kind: 1 - m_SubKind: - - m_Textures: [] - m_Width: 2320 - m_Height: 720 - m_Kind: 1 - m_SubKind: - - m_Textures: [] - m_Width: 3840 - m_Height: 1440 - m_Kind: 1 - m_SubKind: - - m_Textures: [] - m_Width: 1920 - m_Height: 720 - m_Kind: 1 - m_SubKind: - - m_BuildTarget: iPhone - m_Icons: - - m_Textures: [] - m_Width: 180 - m_Height: 180 - m_Kind: 0 - m_SubKind: iPhone - - m_Textures: [] - m_Width: 120 - m_Height: 120 - m_Kind: 0 - m_SubKind: iPhone - - m_Textures: [] - m_Width: 167 - m_Height: 167 - m_Kind: 0 - m_SubKind: iPad - - m_Textures: [] - m_Width: 152 - m_Height: 152 - m_Kind: 0 - m_SubKind: iPad - - m_Textures: [] - m_Width: 76 - m_Height: 76 - m_Kind: 0 - m_SubKind: iPad - - m_Textures: [] - m_Width: 120 - m_Height: 120 - m_Kind: 3 - m_SubKind: iPhone - - m_Textures: [] - m_Width: 80 - m_Height: 80 - m_Kind: 3 - m_SubKind: iPhone - - m_Textures: [] - m_Width: 80 - m_Height: 80 - m_Kind: 3 - m_SubKind: iPad - - m_Textures: [] - m_Width: 40 - m_Height: 40 - m_Kind: 3 - m_SubKind: iPad - - m_Textures: [] - m_Width: 87 - m_Height: 87 - m_Kind: 1 - m_SubKind: iPhone - - m_Textures: [] - m_Width: 58 - m_Height: 58 - m_Kind: 1 - m_SubKind: iPhone - - m_Textures: [] - m_Width: 29 - m_Height: 29 - m_Kind: 1 - m_SubKind: iPhone - - m_Textures: [] - m_Width: 58 - m_Height: 58 - m_Kind: 1 - m_SubKind: iPad - - m_Textures: [] - m_Width: 29 - m_Height: 29 - m_Kind: 1 - m_SubKind: iPad - - m_Textures: [] - m_Width: 60 - m_Height: 60 - m_Kind: 2 - m_SubKind: iPhone - - m_Textures: [] - m_Width: 40 - m_Height: 40 - m_Kind: 2 - m_SubKind: iPhone - - m_Textures: [] - m_Width: 40 - m_Height: 40 - m_Kind: 2 - m_SubKind: iPad - - m_Textures: [] - m_Width: 20 - m_Height: 20 - m_Kind: 2 - m_SubKind: iPad - - m_Textures: [] - m_Width: 1024 - m_Height: 1024 - m_Kind: 4 - m_SubKind: App Store - - m_BuildTarget: Android - m_Icons: - - m_Textures: [] - m_Width: 432 - m_Height: 432 - m_Kind: 2 - m_SubKind: - - m_Textures: [] - m_Width: 324 - m_Height: 324 - m_Kind: 2 - m_SubKind: - - m_Textures: [] - m_Width: 216 - m_Height: 216 - m_Kind: 2 - m_SubKind: - - m_Textures: [] - m_Width: 162 - m_Height: 162 - m_Kind: 2 - m_SubKind: - - m_Textures: [] - m_Width: 108 - m_Height: 108 - m_Kind: 2 - m_SubKind: - - m_Textures: [] - m_Width: 81 - m_Height: 81 - m_Kind: 2 - m_SubKind: - - m_Textures: [] - m_Width: 192 - m_Height: 192 - m_Kind: 1 - m_SubKind: - - m_Textures: [] - m_Width: 144 - m_Height: 144 - m_Kind: 1 - m_SubKind: - - m_Textures: [] - m_Width: 96 - m_Height: 96 - m_Kind: 1 - m_SubKind: - - m_Textures: [] - m_Width: 72 - m_Height: 72 - m_Kind: 1 - m_SubKind: - - m_Textures: [] - m_Width: 48 - m_Height: 48 - m_Kind: 1 - m_SubKind: - - m_Textures: [] - m_Width: 36 - m_Height: 36 - m_Kind: 1 - m_SubKind: - - m_Textures: [] - m_Width: 192 - m_Height: 192 - m_Kind: 0 - m_SubKind: - - m_Textures: [] - m_Width: 144 - m_Height: 144 - m_Kind: 0 - m_SubKind: - - m_Textures: [] - m_Width: 96 - m_Height: 96 - m_Kind: 0 - m_SubKind: - - m_Textures: [] - m_Width: 72 - m_Height: 72 - m_Kind: 0 - m_SubKind: - - m_Textures: [] - m_Width: 48 - m_Height: 48 - m_Kind: 0 - m_SubKind: - - m_Textures: [] - m_Width: 36 - m_Height: 36 - m_Kind: 0 - m_SubKind: - m_BuildTargetBatching: - - m_BuildTarget: iPhone - m_StaticBatching: 1 - m_DynamicBatching: 0 - m_BuildTargetShaderSettings: [] - m_BuildTargetGraphicsJobs: - - m_BuildTarget: WindowsStandaloneSupport - m_GraphicsJobs: 0 - - m_BuildTarget: MacStandaloneSupport - m_GraphicsJobs: 0 - - m_BuildTarget: LinuxStandaloneSupport - m_GraphicsJobs: 0 - - m_BuildTarget: AndroidPlayer - m_GraphicsJobs: 0 - - m_BuildTarget: iOSSupport - m_GraphicsJobs: 0 - - m_BuildTarget: PS4Player - m_GraphicsJobs: 0 - - m_BuildTarget: PS5Player - m_GraphicsJobs: 0 - - m_BuildTarget: XboxOnePlayer - m_GraphicsJobs: 0 - - m_BuildTarget: GameCoreXboxOneSupport - m_GraphicsJobs: 0 - - m_BuildTarget: GameCoreScarlettSupport - m_GraphicsJobs: 0 - - m_BuildTarget: Switch - m_GraphicsJobs: 0 - - m_BuildTarget: WebGLSupport - m_GraphicsJobs: 0 - - m_BuildTarget: MetroSupport - m_GraphicsJobs: 0 - - m_BuildTarget: AppleTVSupport - m_GraphicsJobs: 0 - - m_BuildTarget: BJMSupport - m_GraphicsJobs: 0 - - m_BuildTarget: LuminSupport - m_GraphicsJobs: 0 - - m_BuildTarget: CloudRendering - m_GraphicsJobs: 0 - - m_BuildTarget: EmbeddedLinux - m_GraphicsJobs: 0 - m_BuildTargetGraphicsJobMode: - - m_BuildTarget: PS4Player - m_GraphicsJobMode: 0 - - m_BuildTarget: XboxOnePlayer - m_GraphicsJobMode: 0 - m_BuildTargetGraphicsAPIs: - - m_BuildTarget: iOSSupport - m_APIs: 10000000 - m_Automatic: 1 - - m_BuildTarget: AndroidPlayer - m_APIs: 0b00000008000000 - m_Automatic: 0 - m_BuildTargetVRSettings: - - m_BuildTarget: Android - m_Enabled: 0 - m_Devices: - - Oculus - - m_BuildTarget: Windows Store Apps - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: N3DS - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: PS3 - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: PS4 - m_Enabled: 0 - m_Devices: - - PlayStationVR - - m_BuildTarget: PSM - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: PSP2 - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: SamsungTV - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: Standalone - m_Enabled: 0 - m_Devices: - - Oculus - - m_BuildTarget: Tizen - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: WebGL - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: WebPlayer - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: WiiU - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: Xbox360 - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: XboxOne - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: iPhone - m_Enabled: 0 - m_Devices: [] - - m_BuildTarget: tvOS - m_Enabled: 0 - m_Devices: [] - m_DefaultShaderChunkSizeInMB: 16 - m_DefaultShaderChunkCount: 0 - openGLRequireES31: 0 - openGLRequireES31AEP: 0 - openGLRequireES32: 0 - m_TemplateCustomTags: {} - mobileMTRendering: - iPhone: 1 - tvOS: 1 - m_BuildTargetGroupLightmapEncodingQuality: - - m_BuildTarget: Standalone - m_EncodingQuality: 1 - - m_BuildTarget: XboxOne - m_EncodingQuality: 1 - - m_BuildTarget: PS4 - m_EncodingQuality: 1 - m_BuildTargetGroupLightmapSettings: [] - m_BuildTargetNormalMapEncoding: [] - m_BuildTargetDefaultTextureCompressionFormat: [] - playModeTestRunnerEnabled: 0 - runPlayModeTestAsEditModeTest: 0 - actionOnDotNetUnhandledException: 1 - enableInternalProfiler: 0 - logObjCUncaughtExceptions: 1 - enableCrashReportAPI: 0 - cameraUsageDescription: - locationUsageDescription: - microphoneUsageDescription: - bluetoothUsageDescription: - switchNMETAOverride: - switchNetLibKey: - switchSocketMemoryPoolSize: 6144 - switchSocketAllocatorPoolSize: 128 - switchSocketConcurrencyLimit: 14 - switchScreenResolutionBehavior: 2 - switchUseCPUProfiler: 0 - switchEnableFileSystemTrace: 0 - switchLTOSetting: 0 - switchApplicationID: 0x01004b9000490000 - switchNSODependencies: - switchTitleNames_0: - switchTitleNames_1: - switchTitleNames_2: - switchTitleNames_3: - switchTitleNames_4: - switchTitleNames_5: - switchTitleNames_6: - switchTitleNames_7: - switchTitleNames_8: - switchTitleNames_9: - switchTitleNames_10: - switchTitleNames_11: - switchTitleNames_12: - switchTitleNames_13: - switchTitleNames_14: - switchTitleNames_15: - switchPublisherNames_0: - switchPublisherNames_1: - switchPublisherNames_2: - switchPublisherNames_3: - switchPublisherNames_4: - switchPublisherNames_5: - switchPublisherNames_6: - switchPublisherNames_7: - switchPublisherNames_8: - switchPublisherNames_9: - switchPublisherNames_10: - switchPublisherNames_11: - switchPublisherNames_12: - switchPublisherNames_13: - switchPublisherNames_14: - switchPublisherNames_15: - switchIcons_0: {fileID: 0} - switchIcons_1: {fileID: 0} - switchIcons_2: {fileID: 0} - switchIcons_3: {fileID: 0} - switchIcons_4: {fileID: 0} - switchIcons_5: {fileID: 0} - switchIcons_6: {fileID: 0} - switchIcons_7: {fileID: 0} - switchIcons_8: {fileID: 0} - switchIcons_9: {fileID: 0} - switchIcons_10: {fileID: 0} - switchIcons_11: {fileID: 0} - switchIcons_12: {fileID: 0} - switchIcons_13: {fileID: 0} - switchIcons_14: {fileID: 0} - switchIcons_15: {fileID: 0} - switchSmallIcons_0: {fileID: 0} - switchSmallIcons_1: {fileID: 0} - switchSmallIcons_2: {fileID: 0} - switchSmallIcons_3: {fileID: 0} - switchSmallIcons_4: {fileID: 0} - switchSmallIcons_5: {fileID: 0} - switchSmallIcons_6: {fileID: 0} - switchSmallIcons_7: {fileID: 0} - switchSmallIcons_8: {fileID: 0} - switchSmallIcons_9: {fileID: 0} - switchSmallIcons_10: {fileID: 0} - switchSmallIcons_11: {fileID: 0} - switchSmallIcons_12: {fileID: 0} - switchSmallIcons_13: {fileID: 0} - switchSmallIcons_14: {fileID: 0} - switchSmallIcons_15: {fileID: 0} - switchManualHTML: - switchAccessibleURLs: - switchLegalInformation: - switchMainThreadStackSize: 1048576 - switchPresenceGroupId: - switchLogoHandling: 0 - switchReleaseVersion: 0 - switchDisplayVersion: 1.0.0 - switchStartupUserAccount: 0 - switchSupportedLanguagesMask: 0 - switchLogoType: 0 - switchApplicationErrorCodeCategory: - switchUserAccountSaveDataSize: 0 - switchUserAccountSaveDataJournalSize: 0 - switchApplicationAttribute: 0 - switchCardSpecSize: -1 - switchCardSpecClock: -1 - switchRatingsMask: 0 - switchRatingsInt_0: 0 - switchRatingsInt_1: 0 - switchRatingsInt_2: 0 - switchRatingsInt_3: 0 - switchRatingsInt_4: 0 - switchRatingsInt_5: 0 - switchRatingsInt_6: 0 - switchRatingsInt_7: 0 - switchRatingsInt_8: 0 - switchRatingsInt_9: 0 - switchRatingsInt_10: 0 - switchRatingsInt_11: 0 - switchRatingsInt_12: 0 - switchLocalCommunicationIds_0: - switchLocalCommunicationIds_1: - switchLocalCommunicationIds_2: - switchLocalCommunicationIds_3: - switchLocalCommunicationIds_4: - switchLocalCommunicationIds_5: - switchLocalCommunicationIds_6: - switchLocalCommunicationIds_7: - switchParentalControl: 0 - switchAllowsScreenshot: 1 - switchAllowsVideoCapturing: 1 - switchAllowsRuntimeAddOnContentInstall: 0 - switchDataLossConfirmation: 0 - switchUserAccountLockEnabled: 0 - switchSystemResourceMemory: 16777216 - switchSupportedNpadStyles: 3 - switchNativeFsCacheSize: 32 - switchIsHoldTypeHorizontal: 0 - switchSupportedNpadCount: 8 - switchEnableTouchScreen: 1 - switchSocketConfigEnabled: 0 - switchTcpInitialSendBufferSize: 32 - switchTcpInitialReceiveBufferSize: 64 - switchTcpAutoSendBufferSizeMax: 256 - switchTcpAutoReceiveBufferSizeMax: 256 - switchUdpSendBufferSize: 9 - switchUdpReceiveBufferSize: 42 - switchSocketBufferEfficiency: 4 - switchSocketInitializeEnabled: 1 - switchNetworkInterfaceManagerInitializeEnabled: 1 - switchUseNewStyleFilepaths: 0 - switchUseLegacyFmodPriorities: 1 - switchUseMicroSleepForYield: 1 - switchEnableRamDiskSupport: 0 - switchMicroSleepForYieldTime: 25 - switchRamDiskSpaceSize: 12 - ps4NPAgeRating: 12 - ps4NPTitleSecret: - ps4NPTrophyPackPath: - ps4ParentalLevel: 1 - ps4ContentID: ED1633-NPXX51362_00-0000000000000000 - ps4Category: 0 - ps4MasterVersion: 01.00 - ps4AppVersion: 01.00 - ps4AppType: 0 - ps4ParamSfxPath: - ps4VideoOutPixelFormat: 0 - ps4VideoOutInitialWidth: 1920 - ps4VideoOutBaseModeInitialWidth: 1920 - ps4VideoOutReprojectionRate: 60 - ps4PronunciationXMLPath: - ps4PronunciationSIGPath: - ps4BackgroundImagePath: - ps4StartupImagePath: - ps4StartupImagesFolder: - ps4IconImagesFolder: - ps4SaveDataImagePath: - ps4SdkOverride: - ps4BGMPath: - ps4ShareFilePath: - ps4ShareOverlayImagePath: - ps4PrivacyGuardImagePath: - ps4ExtraSceSysFile: - ps4NPtitleDatPath: - ps4RemotePlayKeyAssignment: -1 - ps4RemotePlayKeyMappingDir: - ps4PlayTogetherPlayerCount: 0 - ps4EnterButtonAssignment: 1 - ps4ApplicationParam1: 0 - ps4ApplicationParam2: 0 - ps4ApplicationParam3: 0 - ps4ApplicationParam4: 0 - ps4DownloadDataSize: 0 - ps4GarlicHeapSize: 2048 - ps4ProGarlicHeapSize: 2560 - playerPrefsMaxSize: 32768 - ps4Passcode: N2qmWqBlQ9wQj99nsQzldVI5ZuGXbEWR - ps4pnSessions: 1 - ps4pnPresence: 1 - ps4pnFriends: 1 - ps4pnGameCustomData: 1 - playerPrefsSupport: 0 - enableApplicationExit: 0 - resetTempFolder: 1 - restrictedAudioUsageRights: 0 - ps4UseResolutionFallback: 0 - ps4ReprojectionSupport: 0 - ps4UseAudio3dBackend: 0 - ps4UseLowGarlicFragmentationMode: 1 - ps4SocialScreenEnabled: 0 - ps4ScriptOptimizationLevel: 0 - ps4Audio3dVirtualSpeakerCount: 14 - ps4attribCpuUsage: 0 - ps4PatchPkgPath: - ps4PatchLatestPkgPath: - ps4PatchChangeinfoPath: - ps4PatchDayOne: 0 - ps4attribUserManagement: 0 - ps4attribMoveSupport: 0 - ps4attrib3DSupport: 0 - ps4attribShareSupport: 0 - ps4attribExclusiveVR: 0 - ps4disableAutoHideSplash: 0 - ps4videoRecordingFeaturesUsed: 0 - ps4contentSearchFeaturesUsed: 0 - ps4CompatibilityPS5: 0 - ps4AllowPS5Detection: 0 - ps4GPU800MHz: 1 - ps4attribEyeToEyeDistanceSettingVR: 0 - ps4IncludedModules: [] - ps4attribVROutputEnabled: 0 - monoEnv: - splashScreenBackgroundSourceLandscape: {fileID: 0} - splashScreenBackgroundSourcePortrait: {fileID: 0} - blurSplashScreenBackground: 1 - spritePackerPolicy: - webGLMemorySize: 256 - webGLExceptionSupport: 1 - webGLNameFilesAsHashes: 0 - webGLDataCaching: 0 - webGLDebugSymbols: 0 - webGLEmscriptenArgs: - webGLModulesDirectory: - webGLTemplate: APPLICATION:Default - webGLAnalyzeBuildSize: 0 - webGLUseEmbeddedResources: 0 - webGLCompressionFormat: 1 - webGLWasmArithmeticExceptions: 0 - webGLLinkerTarget: 1 - webGLThreadsSupport: 0 - webGLDecompressionFallback: 0 - webGLPowerPreference: 2 - scriptingDefineSymbols: {} - additionalCompilerArguments: {} - platformArchitecture: - iPhone: 2 - scriptingBackend: - Android: 0 - Standalone: 0 - WebGL: 1 - WebPlayer: 0 - iPhone: 1 - il2cppCompilerConfiguration: {} - managedStrippingLevel: - EmbeddedLinux: 1 - GameCoreScarlett: 1 - GameCoreXboxOne: 1 - Lumin: 1 - Nintendo Switch: 1 - PS4: 1 - PS5: 1 - Stadia: 1 - WebGL: 1 - Windows Store Apps: 1 - XboxOne: 1 - iPhone: 1 - tvOS: 1 - incrementalIl2cppBuild: - iPhone: 1 - suppressCommonWarnings: 1 - allowUnsafeCode: 0 - useDeterministicCompilation: 1 - enableRoslynAnalyzers: 1 - additionalIl2CppArgs: - scriptingRuntimeVersion: 1 - gcIncremental: 1 - assemblyVersionValidation: 1 - gcWBarrierValidation: 0 - apiCompatibilityLevelPerPlatform: {} - m_RenderingPath: 1 - m_MobileRenderingPath: 1 - metroPackageName: FirebaseSample - metroPackageVersion: - metroCertificatePath: - metroCertificatePassword: - metroCertificateSubject: - metroCertificateIssuer: - metroCertificateNotAfter: 0000000000000000 - metroApplicationDescription: FirebaseSample - wsaImages: {} - metroTileShortName: - metroTileShowName: 0 - metroMediumTileShowName: 0 - metroLargeTileShowName: 0 - metroWideTileShowName: 0 - metroSupportStreamingInstall: 0 - metroLastRequiredScene: 0 - metroDefaultTileSize: 1 - metroTileForegroundText: 1 - metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} - metroSplashScreenBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, - a: 1} - metroSplashScreenUseBackgroundColor: 1 - syncCapabilities: 0 - platformCapabilities: {} - metroTargetDeviceFamilies: {} - metroFTAName: - metroFTAFileTypes: [] - metroProtocolName: - vcxProjDefaultLanguage: - XboxOneProductId: - XboxOneUpdateKey: - XboxOneSandboxId: - XboxOneContentId: - XboxOneTitleId: - XboxOneSCId: - XboxOneGameOsOverridePath: - XboxOnePackagingOverridePath: - XboxOneAppManifestOverridePath: - XboxOneVersion: 1.0.0.0 - XboxOnePackageEncryption: 0 - XboxOnePackageUpdateGranularity: 2 - XboxOneDescription: - XboxOneLanguage: - - enus - XboxOneCapability: [] - XboxOneGameRating: {} - XboxOneIsContentPackage: 0 - XboxOneEnhancedXboxCompatibilityMode: 0 - XboxOneEnableGPUVariability: 0 - XboxOneSockets: {} - XboxOneSplashScreen: {fileID: 0} - XboxOneAllowedProductIds: [] - XboxOnePersistentLocalStorageSize: 0 - XboxOneXTitleMemory: 8 - XboxOneOverrideIdentityName: - XboxOneOverrideIdentityPublisher: - vrEditorSettings: {} - cloudServicesEnabled: - Analytics: 0 - Build: 0 - Collab: 0 - ErrorHub: 0 - Game_Performance: 0 - Hub: 0 - Purchasing: 0 - UNet: 0 - Unity_Ads: 0 - luminIcon: - m_Name: - m_ModelFolderPath: - m_PortalFolderPath: - luminCert: - m_CertPath: - m_SignPackage: 1 - luminIsChannelApp: 0 - luminVersion: - m_VersionCode: 1 - m_VersionName: - apiCompatibilityLevel: 6 - activeInputHandler: 0 - windowsGamepadBackendHint: 0 - cloudProjectId: - framebufferDepthMemorylessMode: 0 - qualitySettingsNames: [] - projectName: - organizationId: - cloudEnabled: 0 - legacyClampBlendShapeWeights: 1 - playerDataPath: - forceSRGBBlit: 1 - virtualTexturingSupportEnabled: 0 diff --git a/dynamic_links/testapp/ProjectSettings/ProjectVersion.txt b/dynamic_links/testapp/ProjectSettings/ProjectVersion.txt deleted file mode 100644 index 1405dc942..000000000 --- a/dynamic_links/testapp/ProjectSettings/ProjectVersion.txt +++ /dev/null @@ -1,2 +0,0 @@ -m_EditorVersion: 2021.3.43f1 -m_EditorVersionWithRevision: 2021.3.43f1 (6f9470916942) diff --git a/dynamic_links/testapp/ProjectSettings/QualitySettings.asset b/dynamic_links/testapp/ProjectSettings/QualitySettings.asset deleted file mode 100644 index 90962e56b..000000000 --- a/dynamic_links/testapp/ProjectSettings/QualitySettings.asset +++ /dev/null @@ -1,185 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!47 &1 -QualitySettings: - m_ObjectHideFlags: 0 - serializedVersion: 5 - m_CurrentQuality: 5 - m_QualitySettings: - - serializedVersion: 2 - name: Fastest - pixelLightCount: 0 - shadows: 0 - shadowResolution: 0 - shadowProjection: 1 - shadowCascades: 1 - shadowDistance: 15 - shadowNearPlaneOffset: 2 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - blendWeights: 1 - textureQuality: 1 - anisotropicTextures: 0 - antiAliasing: 0 - softParticles: 0 - softVegetation: 0 - realtimeReflectionProbes: 0 - billboardsFaceCameraPosition: 0 - vSyncCount: 0 - lodBias: 0.3 - maximumLODLevel: 0 - particleRaycastBudget: 4 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 4 - excludedTargetPlatforms: [] - - serializedVersion: 2 - name: Fast - pixelLightCount: 0 - shadows: 0 - shadowResolution: 0 - shadowProjection: 1 - shadowCascades: 1 - shadowDistance: 20 - shadowNearPlaneOffset: 2 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - blendWeights: 2 - textureQuality: 0 - anisotropicTextures: 0 - antiAliasing: 0 - softParticles: 0 - softVegetation: 0 - realtimeReflectionProbes: 0 - billboardsFaceCameraPosition: 0 - vSyncCount: 0 - lodBias: 0.4 - maximumLODLevel: 0 - particleRaycastBudget: 16 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 4 - excludedTargetPlatforms: [] - - serializedVersion: 2 - name: Simple - pixelLightCount: 1 - shadows: 1 - shadowResolution: 0 - shadowProjection: 1 - shadowCascades: 1 - shadowDistance: 20 - shadowNearPlaneOffset: 2 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - blendWeights: 2 - textureQuality: 0 - anisotropicTextures: 1 - antiAliasing: 0 - softParticles: 0 - softVegetation: 0 - realtimeReflectionProbes: 0 - billboardsFaceCameraPosition: 0 - vSyncCount: 0 - lodBias: 0.7 - maximumLODLevel: 0 - particleRaycastBudget: 64 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 4 - excludedTargetPlatforms: [] - - serializedVersion: 2 - name: Good - pixelLightCount: 2 - shadows: 2 - shadowResolution: 1 - shadowProjection: 1 - shadowCascades: 2 - shadowDistance: 40 - shadowNearPlaneOffset: 2 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - blendWeights: 2 - textureQuality: 0 - anisotropicTextures: 1 - antiAliasing: 0 - softParticles: 0 - softVegetation: 1 - realtimeReflectionProbes: 1 - billboardsFaceCameraPosition: 1 - vSyncCount: 1 - lodBias: 1 - maximumLODLevel: 0 - particleRaycastBudget: 256 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 4 - excludedTargetPlatforms: [] - - serializedVersion: 2 - name: Beautiful - pixelLightCount: 3 - shadows: 2 - shadowResolution: 2 - shadowProjection: 1 - shadowCascades: 2 - shadowDistance: 70 - shadowNearPlaneOffset: 2 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - blendWeights: 4 - textureQuality: 0 - anisotropicTextures: 2 - antiAliasing: 2 - softParticles: 1 - softVegetation: 1 - realtimeReflectionProbes: 1 - billboardsFaceCameraPosition: 1 - vSyncCount: 1 - lodBias: 1.5 - maximumLODLevel: 0 - particleRaycastBudget: 1024 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 4 - excludedTargetPlatforms: [] - - serializedVersion: 2 - name: Fantastic - pixelLightCount: 4 - shadows: 2 - shadowResolution: 2 - shadowProjection: 1 - shadowCascades: 4 - shadowDistance: 150 - shadowNearPlaneOffset: 2 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - blendWeights: 4 - textureQuality: 0 - anisotropicTextures: 2 - antiAliasing: 2 - softParticles: 1 - softVegetation: 1 - realtimeReflectionProbes: 1 - billboardsFaceCameraPosition: 1 - vSyncCount: 1 - lodBias: 2 - maximumLODLevel: 0 - particleRaycastBudget: 4096 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 4 - excludedTargetPlatforms: [] - m_PerPlatformDefaultQuality: - Android: 2 - BlackBerry: 2 - GLES Emulation: 5 - Nintendo 3DS: 5 - PS3: 5 - PS4: 5 - PSM: 5 - PSP2: 2 - Samsung TV: 2 - Standalone: 5 - Tizen: 2 - WP8: 5 - Web: 5 - WebGL: 3 - WiiU: 5 - Windows Store Apps: 5 - XBOX360: 5 - XboxOne: 5 - iPhone: 2 - tvOS: 5 diff --git a/dynamic_links/testapp/ProjectSettings/TagManager.asset b/dynamic_links/testapp/ProjectSettings/TagManager.asset deleted file mode 100644 index 1c92a7840..000000000 --- a/dynamic_links/testapp/ProjectSettings/TagManager.asset +++ /dev/null @@ -1,43 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!78 &1 -TagManager: - serializedVersion: 2 - tags: [] - layers: - - Default - - TransparentFX - - Ignore Raycast - - - - Water - - UI - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - m_SortingLayers: - - name: Default - uniqueID: 0 - locked: 0 diff --git a/dynamic_links/testapp/ProjectSettings/TimeManager.asset b/dynamic_links/testapp/ProjectSettings/TimeManager.asset deleted file mode 100644 index a2dc235c6..000000000 --- a/dynamic_links/testapp/ProjectSettings/TimeManager.asset +++ /dev/null @@ -1,8 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!5 &1 -TimeManager: - m_ObjectHideFlags: 0 - Fixed Timestep: 0.02 - Maximum Allowed Timestep: 0.33333334 - m_TimeScale: 1 diff --git a/dynamic_links/testapp/ProjectSettings/UnityConnectSettings.asset b/dynamic_links/testapp/ProjectSettings/UnityConnectSettings.asset deleted file mode 100644 index 3da14d5ba..000000000 --- a/dynamic_links/testapp/ProjectSettings/UnityConnectSettings.asset +++ /dev/null @@ -1,34 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!310 &1 -UnityConnectSettings: - m_ObjectHideFlags: 0 - m_Enabled: 0 - m_TestMode: 0 - m_TestEventUrl: - m_TestConfigUrl: - m_TestInitMode: 0 - CrashReportingSettings: - m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes - m_NativeEventUrl: https://perf-events.cloud.unity3d.com/symbolicate - m_Enabled: 0 - m_CaptureEditorExceptions: 1 - UnityPurchasingSettings: - m_Enabled: 0 - m_TestMode: 0 - UnityAnalyticsSettings: - m_Enabled: 0 - m_InitializeOnStartup: 1 - m_TestMode: 0 - m_TestEventUrl: - m_TestConfigUrl: - UnityAdsSettings: - m_Enabled: 0 - m_InitializeOnStartup: 1 - m_TestMode: 0 - m_IosGameId: - m_AndroidGameId: - m_GameIds: {} - m_GameId: - PerformanceReportingSettings: - m_Enabled: 0 diff --git a/dynamic_links/testapp/ProjectSettings/VFXManager.asset b/dynamic_links/testapp/ProjectSettings/VFXManager.asset deleted file mode 100644 index 3a95c98be..000000000 --- a/dynamic_links/testapp/ProjectSettings/VFXManager.asset +++ /dev/null @@ -1,12 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!937362698 &1 -VFXManager: - m_ObjectHideFlags: 0 - m_IndirectShader: {fileID: 0} - m_CopyBufferShader: {fileID: 0} - m_SortShader: {fileID: 0} - m_StripUpdateShader: {fileID: 0} - m_RenderPipeSettingsPath: - m_FixedTimeStep: 0.016666668 - m_MaxDeltaTime: 0.05 diff --git a/dynamic_links/testapp/ProjectSettings/XRSettings.asset b/dynamic_links/testapp/ProjectSettings/XRSettings.asset deleted file mode 100644 index 482590c19..000000000 --- a/dynamic_links/testapp/ProjectSettings/XRSettings.asset +++ /dev/null @@ -1,10 +0,0 @@ -{ - "m_SettingKeys": [ - "VR Device Disabled", - "VR Device User Alert" - ], - "m_SettingValues": [ - "False", - "False" - ] -} \ No newline at end of file diff --git a/dynamic_links/testapp/readme.md b/dynamic_links/testapp/readme.md deleted file mode 100644 index 8a7cfe5cf..000000000 --- a/dynamic_links/testapp/readme.md +++ /dev/null @@ -1,261 +0,0 @@ -# Firebase Dynamic Links Quickstart - -The Firebase Dynamic Links Unity Sample demonstrates sending and -receiving -[Firebase Dynamic Links](https://firebase.google.com/docs/dynamic-links/) -using the -[Firebase Unity SDK](https://firebase.google.com/docs/unity/setup). - - -## Requirements - -* [Unity](http://unity3d.com/) The quickstart project requires 2017.4 or higher. -* [Xcode](https://developer.apple.com/xcode/) 10.3 or higher - (when developing for iOS). -* [Android SDK](https://developer.android.com/studio/index.html#downloads) - (when developing for Android). - - -## Building the Sample - -### iOS - - - Register your iOS app with Firebase. - - Create a project in the - [Firebase console](https://firebase.google.com/console/), - and associate your iOS application. - - You should use `com.google.FirebaseUnityDynamicLinksTestApp.dev` as the - bundle identifier when creating the Firebase iOS app in the console. - - If you do not use the prescribed Bundle ID, you will later need to - update the bundle identifier in Unity as described in - `Optional: Update the Project Bundle Identifier` below. - - Download the `GoogleService-Info.plist` file associated with your - Firebase project from the console. - This file identifies your iOS app to the Firebase backend, and will - need to be included in the sample later. - - For further details please refer to the - [general instructions](https://firebase.google.com/docs/ios/setup) - which describes how to configure a Firebase application for iOS. - - Download the - [Firebase Unity SDK](https://firebase.google.com/download/unity) - and unzip it somewhere convenient. - - Open the sample project in the Unity editor. - - Select the `File > Open Project` menu item. - - Click `Open`. - - Navigate to the sample directory `testapp` in the file dialog and click - `Open`. - - You might be prompted to upgrade the project to your version of Unity. - Click `Confirm` to upgrade the project and continue. - - Open the scene `MainScene`. - - Navigate to `Assets/Firebase/Sample/Functions` in the `Project` window. - - Double click on `MainScene` file to open. - - Import the `Firebase Dynamic Links` plugin. - - Select the **Assets > Import Package > Custom Package** menu item. - - From the [Firebase Unity SDK](https://firebase.google.com/download/unity) - downloaded previously, import `FirebaseDynamicLinks.unitypackage`. - - When the **Import Unity Package** window appears, click the **Import** - button. - - Add the `GoogleService-Info.plist` file to the project. - - Navigate to the `Assets/Firebase/Sample/Functions` folder in the `Project` - window. - - Drag the `GoogleService-Info.plist` downloaded from the Firebase console - into the folder. - - NOTE: `GoogleService-Info.plist` can be placed anywhere under the - `Assets` folder. - - Optional: Update the Project Bundle Identifier - - If you did not use `com.google.FirebaseUnityDynamicLinksTestApp.dev` as - the iOS bundle ID when creating your app in the Firebase Console then you - will need to update the sample's Bundle. - - Select the `File > Build Settings` menu option. - - Select `iOS` in the `Platform` list. - - Click `Player Settings`. - - In the `Settings for iOS` panel scroll down to `Bundle Identifier` - and update the value to the `iOS bundle ID` you provided when you - registered your app with Firebase. - - Copy the dynamic links domain URI prefix for your project under the Dynamic - Links tab of the [Firebase console](https://firebase.google.com/console/) - e.g xyz.app.goo.gl and assign it to the string DomainUriPrefix on the - UIHandler object in the MainScene. - - Optional: If you want to use a custom Dynamic Links domain, follow - [these instructions](https://firebase.google.com/docs/dynamic-links/custom-domains) - to set up the domain in Firebase console and in your project's Info.plist. - - Build for iOS - - Select the `File > Build Settings` menu option. - - Select `iOS` in the `Platform` list. - - Click `Switch Platform` to select `iOS` as the target platform. - - Wait for the spinner (compiling) icon to stop in the bottom right corner - of the Unity status bar. - - Click `Build and Run`. - - Configure the iOS project capabilities to send invites and receive links. - - Enable the Keychain Sharing capability on iOS 10 or above (required by - Google Sign-In to send invites). - You can enable this capability on your project in Xcode 8 by going to - your project's settings, Capabilities, and turning on Keychain Sharing. - - Copy the domain URI prefix for your project under the Dynamic Links tab of - the [Firebase console](https://firebase.google.com/console/) Then, in your - project's Capabilities tab: - - Enable the Associated Domains capability. - - Add applinks:YOUR_DYNAMIC_LINKS_DOMAIN - For example "applinks:xyz.app.goo.gl". - - See the *Using the Sample* section below. - - -### Android - - - Register your Android app with Firebase. - - Create a project in the - [Firebase console](https://firebase.google.com/console/), - and attach your Android app to it. - - You should use `com.google.FirebaseUnityDynamicLinksTestApp.dev` as the - `Android package name` while you're testing. - - If you do not use the prescribed package name, you will need to update - the bundle identifier as described in `Optional: Update the Project - Bundle Identifier` below. - - Android apps must be signed by a key, and the key's signature must - be registered to your project in the Firebase Console. To - [generate a SHA1](https://developers.google.com/android/guides/client-auth), - first you will need to set the keystore in the Unity project. - - Locate the `Publishing Settings` under `Player Settings`. - - Select an existing keystore, or create a new keystore using the - toggle. - - Select an existing key, or create a new key using "Create a new key". - - After setting the keystore and key, you can generate a SHA1 by - running this command: - ``` - keytool -list -v -keystore -alias - ``` - - Copy the SHA1 digest string into your clipboard. - - Navigate to your Android App in your firebase console. - - From the main console view, click on your Android App at the top, then - click the gear to open the settings page. - - Scroll down to your apps at the bottom of the page and click on - `Add Fingerprint`. - - Paste the SHA1 digest of your key into the form. The SHA1 box - will illuminate if the string is valid. If it's not valid, check - that you have copied the entire SHA1 digest string. - - Download the `google-services.json` file associated with your - Firebase project from the console. - This file identifies your Android app to the Firebase backend, and will - need to be included in the sample later. - - For further details please refer to the - [general instructions](https://firebase.google.com/docs/android/setup) - which describes how to configure a Firebase application for Android. - - Download the - [Firebase Unity SDK](https://firebase.google.com/download/unity) - and unzip it somewhere convenient. - - Open the sample project in the Unity editor. - - Select the `File > Open Project` menu item. - - Click `Open`. - - You might be prompted to upgrade the project to your version of Unity. - Click `Confirm` to upgrade the project and continue. - - Navigate to the sample directory `testapp` in the file dialog and click - `Open`. - - Open the scene `MainScene`. - - Navigate to `Assets/Firebase/Sample/Functions` in the `Project` window. - - Double click on `MainScene` file to open. - - Import the `Firebase Dynamic Links` plugin. - - Select the **Assets > Import Package > Custom Package** menu item. - - From the [Firebase Unity SDK](https://firebase.google.com/download/unity) - downloaded previously, import `FirebaseDynamicLinks.unitypackage`. - - When the **Import Unity Package** window appears, click the **Import** - button. - - Add the `google-services.json` file to the project. - - Navigate to the `Assets/Firebase/Sample/Functions` folder in the `Project` - window. - - Drag the `google-services.json` downloaded from the Firebase console - into the folder. - - NOTE: `google-services.json` can be placed anywhere under the `Assets` - folder. - - Optional: Update the Project Bundle Identifier - - If you did not use `com.google.FirebaseUnityDynamicLinksTestApp.dev` - as the `Android package name` when you created your app in the Firebase - Console, you will need to update the sample's Bundle Identifier. - - Select the `File > Build Settings` menu option. - - Select `Android` in the `Platform` list. - - Click `Player Settings` - - In the `Settings for Android` panel scroll down to `Bundle Identifier` - and update the value to the Android package name you provided when you - registered your app with Firebase. - - Copy the dynamic links domain URI prefix for your project under the Dynamic - Links tab of the [Firebase console](https://firebase.google.com/console/) - e.g xyz.app.goo.gl and assign it to the string DomainUriPrefix on the - UIHandler object in the MainScene. - - Optional: If you want to use a custom Dynamic Links domain, follow - [these instructions](https://firebase.google.com/docs/dynamic-links/custom-domains) - to set up the domain in Firebase console. - - Build for Android - - Select the `File > Build Settings` menu option. - - Select `Android` in the `Platform` list. - - Click `Switch Platform` to select `Android` as the target platform. - - Wait for the spinner (compiling) icon to stop in the bottom right corner - of the Unity status bar. - - Click `Build and Run`. - - See the *Using the Sample* section below. - - -## Using the Sample - - - Receiving a link - - When you first run the app, it will check for an incoming dynamic link - and report whether it was able to fetch a link. - - To simulate receiving a dynamic link, you can send yourself an email, - uninstall the test app, then click the link in your email. - - This would normally send you to the Play Store or App Store to download - the app. Because this is a test app, it will link to a nonexistent store - page. - - After clicking the dynamic link, re-install and run the app on your - device or emulator, and see the dynamic link fetched on the receiving - side. - - Creating a link - - Clicking the Display Long Link button creates and displays a long - dynamic link. - - Clicking the Create Short Link button creates and displays a short link by - contacting the link shortening service. - - Clicking the Create Unguessable Short Link button creates and displays an - unguessable short link. - - -## Troubleshooting - - - When upgrading to a new Firebase release: import the new firebase - unity package through **Assets > Import Package > Custom Package** as above. - After the import is complete you may need to run the **Assets > Play - Services Resolver** for the changes to be reflected in the editor. If - issues persist, delete the plugin and install it again. - - **Android:** After exiting the editor and returning you will need to - reconfigure the **Project Keystore** in **Player Settings > Publishing - Settings**. Select your **Custom Keystore** from the dropdown list and - enter its password. Then, select your **Project Key** alias and enter - your key's password. - enabled in your project, you'll see compile errors from some types in the - - Please see the - [Known Issues](https://firebase.google.com/docs/unity/setup#known-issues) - section of the - Unity Setup Guide](https://firebase.google.com/docs/unity/setup) for other - troubleshooting topics. - - -## Support - -[https://firebase.google.com/support/](https://firebase.google.com/support/) - - -## License - -Copyright 2016 Google, Inc. - -Licensed to the Apache Software Foundation (ASF) under one or more contributor -license agreements. See the NOTICE file distributed with this work for -additional information regarding copyright ownership. The ASF licenses this -file to you under the Apache License, Version 2.0 (the "License"); you may not -use this file except in compliance with the License. You may obtain a copy of -the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -License for the specific language governing permissions and limitations under -the License. - diff --git a/editor/app/assets/fb_dynamic_links.png b/editor/app/assets/fb_dynamic_links.png deleted file mode 100644 index a06148e07ce319dc510f823e25ebd41abc5043ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 468 zcmV;_0W1EAP);v;l?Dxo$CU_`Lexs1NvRZH00}}u z;uVQXp*Ru>jYm)@JbwSZJ2z_&E}fX5H&YV3nv(Ei>Y52tfGh!>y72df-Z$cjS zUi~!T6w%|5#=l`(hYj%3WQ%X~48Bo#g*8})9e9E=bi+B^fvcCWM9eI_z!Dt6b0A0S zBR$X#Cr~%xJu%_{&LEW=3?tAA+j2JQ@rmeUCYG!X!;l#hty+3%wnd~>vtd|)!(dmk z1?UX>y`cMpz6!cvVFiokOmk%o=wq$l)X6LvOVjm!c-bGQmcpklHmG>gIGep)r~9jm?($Jk)^Hdvanr<%hr;xPP2*0-r>&gkdYnVq5>GcK&mvi%CxsSVI& zlh(se%wSa)uHyE%i5L2LF%00WY1pQ-~a#s M07*qoM6N<$f&(VbB>(^b diff --git a/editor/app/assets/fb_dynamic_links_dark.png.meta b/editor/app/assets/fb_dynamic_links_dark.png.meta deleted file mode 100644 index 00594972b..000000000 --- a/editor/app/assets/fb_dynamic_links_dark.png.meta +++ /dev/null @@ -1,58 +0,0 @@ -fileFormatVersion: 2 -guid: 9355a4671cfe4eef90879863318d1a4b -timeCreated: 1472679009 -licenseType: Pro -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 1 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: 1 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 2 - buildTargetSettings: [] - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/editor/app/assets/fb_invites.png b/editor/app/assets/fb_invites.png deleted file mode 100644 index be9a9b9629c2996a0ab060bb042d9a15bc23d732..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 390 zcmV;10eSw3P)7h2g zglbgOVZ4J2_=YY_AynK@N4I|TiHlH&eYk}im_edkLzy*TFUo#r+=d5eLjX(V_E0A? zGZo5AuhRm(S}OT`<%Pz&q^4(rGT0T+D<8oLJi!YrmD@ulul1uO?f%=f8IXJq>TM6^ zr;neIXNlV7i7xh8EJN3*39njrd#L#$>5mw}2b7$|9b)zPQENV5IV@DMqwsW^`xxF+ kH+0MtYwgb};2{22Kh}^kTqn;eGXMYp07*qoM6N<$f{2f&Z~y=R diff --git a/editor/app/assets/fb_invites.png.meta b/editor/app/assets/fb_invites.png.meta deleted file mode 100644 index 3b8854a50..000000000 --- a/editor/app/assets/fb_invites.png.meta +++ /dev/null @@ -1,58 +0,0 @@ -fileFormatVersion: 2 -guid: 741b269777f30488482ef4937b456b28 -timeCreated: 1473376335 -licenseType: Pro -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 1 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: 1 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 2 - buildTargetSettings: [] - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/editor/app/assets/fb_invites_dark.png b/editor/app/assets/fb_invites_dark.png deleted file mode 100644 index 1bd1a90410fca7d8d099d9002ece1b1e67ad2f56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 424 zcmV;Z0ayNsP)>A;#})?%lkZjNP}hZgO(}ynD`jbKjdJ`DaV3=w(^f18>T>4{4hI zxK77{i1k9=2D2t|kKaP{Te)`X)aD_$n7E2nYgiS*aVH0U&|@7x%J|eF8rQ*6f$&Lw z~teg&3=H%Pn<7!Am+{f^L2C3fN&BlR>>@*qoud zN-kxFvMyy5oP)#YOQE^c*re>)T+!_B@sv$oot!(N7t1`t!_+sxVqsm+XcN&7)x#MU z`tm7+H?T{!o?l7y2hDjcTF?pjry%yQaXKYc1n=NoyOPDKb!W_ULg-E - /// Looks up a localized string similar to Send users to the right place in your app whether or not it is already installed.. - /// - internal static string DynamicLinksDescription { - get { - return ResourceManager.GetString("DynamicLinksDescription", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Set up Firebase Dynamic Links. - /// - internal static string DynamicLinksGuideSummary { - get { - return ResourceManager.GetString("DynamicLinksGuideSummary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Dynamic Links. - /// - internal static string DynamicLinksName { - get { - return ResourceManager.GetString("DynamicLinksName", resourceCulture); - } - } - /// /// Looks up a localized string similar to Failed to load the UnityEditor.iOS.Extensions.Xcode dll. ///Is iOS support installed?. @@ -477,33 +450,6 @@ internal static string GoogleServicesToolMissing { } } - /// - /// Looks up a localized string similar to Let your existing users easily share your app, or their favorite in-app content, via email or SMS.. - /// - internal static string InvitesDescription { - get { - return ResourceManager.GetString("InvitesDescription", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Send Firebase invites from your app. - /// - internal static string InvitesGuideSummary { - get { - return ResourceManager.GetString("InvitesGuideSummary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Invites and Dynamic Links. - /// - internal static string InvitesName { - get { - return ResourceManager.GetString("InvitesName", resourceCulture); - } - } - /// /// Looks up a localized string similar to iOS. /// diff --git a/editor/app/src/DocRef.resx b/editor/app/src/DocRef.resx index 9ec4326e8..a90d06161 100644 --- a/editor/app/src/DocRef.resx +++ b/editor/app/src/DocRef.resx @@ -195,15 +195,6 @@ Set up Firebase Realtime Database - - Dynamic Links - - - Send users to the right place in your app whether or not it is already installed. - - - Set up Firebase Dynamic Links - Cloud Functions for Firebase @@ -213,15 +204,6 @@ Set up Cloud Functions for Firebase - - Invites and Dynamic Links - - - Let your existing users easily share your app, or their favorite in-app content, via email or SMS. - - - Send Firebase invites from your app - Remote Config diff --git a/editor/app/src/Link.Designer.cs b/editor/app/src/Link.Designer.cs index 9c284e00b..62a15359e 100644 --- a/editor/app/src/Link.Designer.cs +++ b/editor/app/src/Link.Designer.cs @@ -168,24 +168,6 @@ internal static string DatabaseReference { } } - /// - /// Looks up a localized string similar to https://firebase.google.com/docs/dynamic-links/. - /// - internal static string DynamicLinksGuide { - get { - return ResourceManager.GetString("DynamicLinksGuide", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to https://firebase.google.com/docs/reference/unity/class/firebase/dynamic-links/dynamic-links. - /// - internal static string DynamicLinksReference { - get { - return ResourceManager.GetString("DynamicLinksReference", resourceCulture); - } - } - /// /// Looks up a localized string similar to https://firebase.google.com/docs/functions/. /// @@ -204,24 +186,6 @@ internal static string FunctionsReference { } } - /// - /// Looks up a localized string similar to https://firebase.google.com/docs/invites/. - /// - internal static string InvitesGuide { - get { - return ResourceManager.GetString("InvitesGuide", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to https://firebase.google.com/docs/reference/unity/class/firebase/invites/firebase-invites. - /// - internal static string InvitesReference { - get { - return ResourceManager.GetString("InvitesReference", resourceCulture); - } - } - /// /// Looks up a localized string similar to https://firebase.google.com/docs/unity/setup#add_firebase_to_your_app. /// diff --git a/editor/app/src/Link.resx b/editor/app/src/Link.resx index 8e67e18c9..a6c9da628 100644 --- a/editor/app/src/Link.resx +++ b/editor/app/src/Link.resx @@ -159,24 +159,12 @@ https://firebase.google.com/docs/reference/unity/class/firebase/database/firebase-database - - https://firebase.google.com/docs/dynamic-links/ - - - https://firebase.google.com/docs/reference/unity/class/firebase/dynamic-links/dynamic-links - https://firebase.google.com/docs/functions/ https://firebase.google.com/docs/reference/unity/class/firebase/functions/firebase-functions - - https://firebase.google.com/docs/invites/ - - - https://firebase.google.com/docs/reference/unity/class/firebase/invites/firebase-invites - https://firebase.google.com/docs/remote-config/ diff --git a/editor/app/src/SettingsWindow.cs b/editor/app/src/SettingsWindow.cs index fb5420831..be37290a2 100644 --- a/editor/app/src/SettingsWindow.cs +++ b/editor/app/src/SettingsWindow.cs @@ -215,7 +215,6 @@ void OnEnable() { ApiInfo.CloudMessaging(), ApiInfo.Crashlytics(), ApiInfo.Database(), - ApiInfo.DynamicLinks(), ApiInfo.Functions(), ApiInfo.RemoteConfig(), ApiInfo.Storage()) { diff --git a/editor/app/src/XcodeProjectPatcher.cs b/editor/app/src/XcodeProjectPatcher.cs index 5a83e2856..998bcd407 100644 --- a/editor/app/src/XcodeProjectPatcher.cs +++ b/editor/app/src/XcodeProjectPatcher.cs @@ -396,14 +396,10 @@ internal static void ReadAndApplyFirebaseConfig( // being included. // * DLLs may not be loaded in the Unity Editor App domain so we can't // detect the module using reflection. - var invitesDll = "Firebase.Invites.dll"; var dllsThatRequireReversedClientId = new HashSet { "Firebase.Auth.dll", - "Firebase.DynamicLinks.dll", - invitesDll }; bool reversedClientIdRequired = false; - bool invitesPresent = false; // Search the asset database for the DLLs to handle projects where // users move files around. foreach (var assetGuid in AssetDatabase.FindAssets("t:Object")) { @@ -411,10 +407,9 @@ internal static void ReadAndApplyFirebaseConfig( AssetDatabase.GUIDToAssetPath(assetGuid)); if (dllsThatRequireReversedClientId.Contains(filename)) { reversedClientIdRequired = true; - invitesPresent = filename == invitesDll; } } - if (!(invitesPresent || reversedClientIdRequired)) { + if (!reversedClientIdRequired) { return; } ReadConfig(); @@ -465,12 +460,6 @@ internal static void ReadAndApplyFirebaseConfig( bundleType.SetString("CFBundleURLName", bundleId); bundleType.CreateArray("CFBundleURLSchemes").AddString(bundleId); } - // Invites needs usage permission to access Contacts. - if (invitesPresent) { - if (!rootDict.values.ContainsKey("NSContactsUsageDescription")) { - rootDict.SetString("NSContactsUsageDescription", "Invite others to use the app."); - } - } // Finished, Write to File File.WriteAllText(plistPath, plist.WriteToString()); } diff --git a/proxy/AssemblyInfoApp.cs b/proxy/AssemblyInfoApp.cs index dd3c11326..aacb9ca25 100644 --- a/proxy/AssemblyInfoApp.cs +++ b/proxy/AssemblyInfoApp.cs @@ -41,11 +41,9 @@ [assembly: InternalsVisibleTo("Firebase.DatabaseInternal")] [assembly: InternalsVisibleTo("Firebase.Database.Testing")] [assembly: InternalsVisibleTo("Firebase.DigitalGoods")] -[assembly: InternalsVisibleTo("Firebase.DynamicLinks")] [assembly: InternalsVisibleTo("Firebase.Firestore")] [assembly: InternalsVisibleTo("Firebase.Functions")] [assembly: InternalsVisibleTo("Firebase.Installations")] -[assembly: InternalsVisibleTo("Firebase.Invites")] [assembly: InternalsVisibleTo("Firebase.InstanceId")] [assembly: InternalsVisibleTo("Firebase.Messaging")] [assembly: InternalsVisibleTo("Firebase.ML.NaturalLanguage.LanguageId")] diff --git a/release_build_files/CMakeLists.txt b/release_build_files/CMakeLists.txt index 0e2e161c2..d5517c389 100644 --- a/release_build_files/CMakeLists.txt +++ b/release_build_files/CMakeLists.txt @@ -50,11 +50,6 @@ unity_pack_file( PACK_PATH "Firebase/Editor" ) -unity_pack_file( - "${FIREBASE_UNITY_DIR}/docs/dynamic_links/DynamicLinksReadme.md" - PACK_PATH "Firebase/Editor" -) - unity_pack_file( "${FIREBASE_UNITY_DIR}/docs/firebaseai/FirebaseAIReadme.md" PACK_PATH "Firebase/Editor" diff --git a/scripts/build_scripts/build_package.py b/scripts/build_scripts/build_package.py index 1b14bc275..c987270da 100644 --- a/scripts/build_scripts/build_package.py +++ b/scripts/build_scripts/build_package.py @@ -41,7 +41,7 @@ SUPPORT_TARGETS = [ - "analytics", "app_check", "auth", "crashlytics", "database", "dynamic_links", + "analytics", "app_check", "auth", "crashlytics", "database", "firebaseai", "firestore", "functions", "installations", "messaging", "remote_config", "storage" ] diff --git a/scripts/build_scripts/build_zips.py b/scripts/build_scripts/build_zips.py index 29a588df1..47e7df84a 100644 --- a/scripts/build_scripts/build_zips.py +++ b/scripts/build_scripts/build_zips.py @@ -32,7 +32,7 @@ SUPPORT_PLATFORMS = ("linux", "macos", "windows", "ios", "tvos", "android") SUPPORT_TARGETS = [ - "analytics", "app_check", "auth", "crashlytics", "database", "dynamic_links", + "analytics", "app_check", "auth", "crashlytics", "database", "firebaseai", "firestore", "functions", "installations", "messaging", "remote_config", "storage" ] @@ -193,11 +193,6 @@ def get_targets_args(targets): support_targets = TVOS_SUPPORT_TARGETS if not targets: targets = TVOS_SUPPORT_TARGETS - else: - if 'dynamic_links' in targets: - logging.warning("Dynamic Links is not supported on tvOS. " + - "Removing it from the api build list.") - targets.remove('dynamic_links') if targets: # check if all the entries are valid diff --git a/scripts/create_debug_export.py b/scripts/create_debug_export.py index 44b912b87..d8119a4e8 100644 --- a/scripts/create_debug_export.py +++ b/scripts/create_debug_export.py @@ -34,7 +34,6 @@ "auth": "FirebaseAuth.unitypackage", "crashlytics": "FirebaseCrashlytics.unitypackage", "database": "FirebaseDatabase.unitypackage", - "dynamic_links": "FirebaseDynamicLinks.unitypackage", "firebaseai": "FirebaseAI.unitypackage", "firestore": "FirebaseFirestore.unitypackage", "functions": "FirebaseFunctions.unitypackage", diff --git a/scripts/gha-encrypted/dynamic_links/GoogleService-Info.plist.gpg b/scripts/gha-encrypted/dynamic_links/GoogleService-Info.plist.gpg deleted file mode 100644 index ec086e286c1f3c43c0e4050ea654eca81a1bcb33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 683 zcmV;c0#yBs4Fm}T0+yjTM$(w28~@Vj0U1ea{`j-kpr1PZr$ngJSJtv^zRwX1*sugH zYLr%%$8MO7pX#Deha{Tc;f4%oHaa$Qbx{5cYK<%>m6G#J(JR;KjB~f#Ku)@@?kO?z zFFLHlPcM$*UTw;1G250vbTW7xQXPpay(JXBd5vxr0^UtTL(n9fI=jE8X0Dhj?yg_I zr}?Rn++zZzrmxQV!z~4Yi+k_9{tdj5AmnTnf*@olM2o93{_8=Zjar3gxH>WIMMock3NR2%*)=)G)66+he87Q^i$v@O6tEYf*hS@3dGY>b*ycW`jwdUtMXyfWE zbJzxsh?Uq}=K9WQzECk6UtoN`nSDc}0a#vt1<`1zJ}O!ensMi;u>_{=-W{1-6^)jd zWXIITzpF}Z-LRQRnmsoAXY`52awrqT4s)D%o;R+9Cr9^JK~ZG=Fwzy;)^YXPTg^Lh zGBr}Rd$f+CE~b7|{m(X;2QNJvVDX$_>&mJAzwj?-JRr__`4u%uxDK;#;9jM{(q5O4 zXNU1-{w}VDqEXuPKX1gtF6-RWEyWpRF~b9GsLY3BWx|-4Uq;J>Z5TH;T@A;aG+NkP zF3>cP2+NQ|V0lPSS*wu)S7~K_a}s@CYljj=(50}|mZEK~AqJx?0u5PxC_){rE zL&mRx1tkXUZkX;yl{TrqnPXGFe97-2P$v+;1ta1DqeGga`PX=a;5K}3kz2I98!yVJ zLnmP^m^&9jmF8)>UVSBeSRZ2K?W(1J3iKIe*D>J z+_Q4{I)OjOKa<{>F&5n=`NI2Rb#w>TKC(Y^ex*d`d2|l)&AOx}P+Gri;ST%V?$Qw6 RwH-nBFFq&O5*u9+WqxS@PsRWM diff --git a/scripts/gha-encrypted/dynamic_links/google-services.json.gpg b/scripts/gha-encrypted/dynamic_links/google-services.json.gpg deleted file mode 100644 index 028edfb44a27603da2dfa01ef3378e4cb7ab32e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1628 zcmV-i2BZ0m4Fm}T0=#L#-o2a(s{hjJ0WH5!3)yv8+KAk57UriIP} zyCe=9H;+&>@k|Wrds*0&PpH-Fr{9CX3~w{iBNA`{kI0d${2OKe5Bt^46|v&S3i}>p zXv1gDwB*FkEz_iF9-_r#ZcollJiHvk7u)hG%UXbb1{eOdu{4nNsj4rgh>+=mPSXD8D#)oD6X;+lCVAT{rSV z1;GZE_QDS~AfE`Q;9p{ZRA5fT6#!e%C+V&wco4K(5{oTppFc`4ec+!B$`7}*sM=iL zPRa-Jm&CI@;ZKeyH(djl=tOT6fR&-{%j`tB2c7I(AwmNIi!7?X7+;Ce=Mjfw^(d(b<8==6y=r$XT8E7ZFe*=eA$IQ|fmpMD{yyhfr7Z_$Ame z-L)5|`oYst-KHZ-{v7ooFq)Xc-h0 z{Tt-jldh*dckCubhWKJ>@PkC}5mtL1D8crL&n%V%54E&Zo3ZBg(c3NH#59i^_^mkSnoGsi-zw%@-fLCEwm$gE1Lr0*d4|fLoZZzVKW@%!U23VJ09Ju3 zZhaJb^ZW;^uT2|i-XJp8!3WE-90;l8O8&BPW=J6S4rJg#OmIc0U#PY)FNxGSO~g9Q z{cjBS(w5c(T6`Q(M-voS-VB7Qws)~2SQqFn8Bwj3eg{3V1N1AHN+A93mn1k1tT-WH z`Of+WsdW-8iEgm?ukQW;62fkms8+~v?uM$(4NriyLLJ~2X9J9c+w;z^-IPUYMj`Rv?Gr2ZQ6@c(GviwAm~c|!^i zNlt8QEJT~%(K}DV#r(aE4rxVR>m99ags!D;D{@Lb|!M!yxcTisR&+Vh;_$LHFOE5nBvc8c1+`B??w}nM?{z=49 zRJ*r6S9`CldhSec@<{bPAJfPjL;%;pZ&YN=xd?q)iRtRI9v;axesgZM6D;tpK0kf&EF{A%ZoU2m zUPiqRvsf;eH6!sk5nHGjyIOoCgi=5XY&OR$`S+Q-Q@0=0pMNRlQ`RU1e+z(^ksS1& zQf1MHj}edWGS!qn<=A;v|3sXm*pDr{Nu|8OCg)FBqF!_RRgM2?Li$XH@_98_a-J|- zd~>$(HqNGqkuEC3)jp({{YY6Ca|n~$2q_BkC%$Bs?Rnkdnp_P2Zi3h~Z)5Y?9%sdU zSml3BBc~=7>}TeQd5*J+2-VXBGTgXADdib?KNaoNc*|f%DCLl{r3YeaM@h4q^7v6! z7RdT1Dt$czr^xH7xAfqU#%_JBC<}LmNJaEjHA{cOD)^RyPntB{%le35_?IN8+EE(= zg9+S-!->uMzV?&0kGw$(U%3;eCv