From 1ebd0329f1db5f9cb9a890f0edc712e4cd1e721d Mon Sep 17 00:00:00 2001 From: Brent Vatne Date: Tue, 25 Jan 2022 17:39:24 -0800 Subject: [PATCH] [docs] Update default branch to main --- docs/README.md | 6 +++--- docs/components/plugins/InstallSection.tsx | 2 +- docs/dangerfile.js | 6 +++--- docs/pages/bare/existing-apps.md | 2 +- docs/pages/bare/hello-world.md | 4 ++-- docs/pages/bare/installing-updates.md | 2 +- docs/pages/bare/updating-your-app.md | 2 +- docs/pages/build-reference/migrating.md | 2 +- docs/pages/development/development-workflows.md | 2 +- docs/pages/distribution/app-stores.md | 2 +- docs/pages/expokit/expokit.md | 6 +++--- docs/pages/guides/config-plugins.md | 16 ++++++++-------- docs/pages/guides/monorepos.md | 4 ++-- docs/pages/guides/splash-screens.md | 2 +- docs/pages/guides/using-electron.md | 2 +- docs/pages/guides/using-gatsby.md | 2 +- docs/pages/guides/using-nextjs.md | 6 +++--- .../pages/modules/android-lifecycle-listeners.md | 2 +- docs/pages/modules/appdelegate-subscribers.md | 4 ++-- docs/pages/modules/module-api.md | 14 +++++++------- docs/pages/preview/introduction.md | 2 +- docs/pages/technical-specs/expo-updates-0.md | 2 +- .../versions/unversioned/sdk/accelerometer.md | 2 +- docs/pages/versions/unversioned/sdk/admob.md | 4 ++-- docs/pages/versions/unversioned/sdk/amplitude.md | 4 ++-- docs/pages/versions/unversioned/sdk/app-auth.md | 2 +- .../versions/unversioned/sdk/app-loading.md | 2 +- .../unversioned/sdk/apple-authentication.md | 2 +- .../versions/unversioned/sdk/application.md | 2 +- docs/pages/versions/unversioned/sdk/asset.md | 2 +- docs/pages/versions/unversioned/sdk/audio.md | 2 +- .../versions/unversioned/sdk/auth-session.md | 2 +- docs/pages/versions/unversioned/sdk/av.md | 2 +- .../versions/unversioned/sdk/background-fetch.md | 4 ++-- .../versions/unversioned/sdk/bar-code-scanner.md | 2 +- docs/pages/versions/unversioned/sdk/barometer.md | 2 +- docs/pages/versions/unversioned/sdk/battery.md | 2 +- docs/pages/versions/unversioned/sdk/blur-view.md | 2 +- docs/pages/versions/unversioned/sdk/branch.md | 2 +- .../pages/versions/unversioned/sdk/brightness.md | 2 +- docs/pages/versions/unversioned/sdk/calendar.md | 2 +- docs/pages/versions/unversioned/sdk/camera.md | 2 +- docs/pages/versions/unversioned/sdk/cellular.md | 2 +- docs/pages/versions/unversioned/sdk/checkbox.md | 2 +- docs/pages/versions/unversioned/sdk/clipboard.md | 2 +- docs/pages/versions/unversioned/sdk/constants.md | 2 +- docs/pages/versions/unversioned/sdk/contacts.md | 2 +- docs/pages/versions/unversioned/sdk/crypto.md | 2 +- docs/pages/versions/unversioned/sdk/device.md | 2 +- .../versions/unversioned/sdk/devicemotion.md | 2 +- .../versions/unversioned/sdk/document-picker.md | 2 +- .../versions/unversioned/sdk/error-recovery.md | 2 +- .../versions/unversioned/sdk/facebook-ads.md | 4 ++-- docs/pages/versions/unversioned/sdk/facebook.md | 4 ++-- .../versions/unversioned/sdk/facedetector.md | 2 +- .../pages/versions/unversioned/sdk/filesystem.md | 4 ++-- .../unversioned/sdk/firebase-analytics.md | 2 +- .../versions/unversioned/sdk/firebase-core.md | 2 +- .../unversioned/sdk/firebase-recaptcha.md | 2 +- docs/pages/versions/unversioned/sdk/font.md | 2 +- docs/pages/versions/unversioned/sdk/gl-view.md | 4 ++-- .../versions/unversioned/sdk/google-sign-in.md | 4 ++-- docs/pages/versions/unversioned/sdk/google.md | 2 +- docs/pages/versions/unversioned/sdk/gyroscope.md | 2 +- docs/pages/versions/unversioned/sdk/haptics.md | 2 +- .../versions/unversioned/sdk/imagemanipulator.md | 2 +- .../versions/unversioned/sdk/imagepicker.md | 4 ++-- .../versions/unversioned/sdk/in-app-purchases.md | 2 +- .../versions/unversioned/sdk/intent-launcher.md | 2 +- .../pages/versions/unversioned/sdk/keep-awake.md | 2 +- .../versions/unversioned/sdk/linear-gradient.md | 2 +- docs/pages/versions/unversioned/sdk/linking.md | 2 +- .../unversioned/sdk/local-authentication.md | 2 +- .../versions/unversioned/sdk/localization.md | 2 +- docs/pages/versions/unversioned/sdk/location.md | 2 +- .../versions/unversioned/sdk/magnetometer.md | 2 +- .../versions/unversioned/sdk/mail-composer.md | 2 +- .../versions/unversioned/sdk/media-library.md | 4 ++-- .../versions/unversioned/sdk/navigation-bar.md | 2 +- docs/pages/versions/unversioned/sdk/network.md | 2 +- .../versions/unversioned/sdk/notifications.md | 4 ++-- docs/pages/versions/unversioned/sdk/pedometer.md | 2 +- docs/pages/versions/unversioned/sdk/print.md | 2 +- docs/pages/versions/unversioned/sdk/random.md | 2 +- .../unversioned/sdk/register-root-component.md | 2 +- .../versions/unversioned/sdk/screen-capture.md | 2 +- .../unversioned/sdk/screen-orientation.md | 2 +- .../versions/unversioned/sdk/securestore.md | 2 +- docs/pages/versions/unversioned/sdk/segment.md | 2 +- docs/pages/versions/unversioned/sdk/sensors.md | 2 +- docs/pages/versions/unversioned/sdk/sharing.md | 2 +- docs/pages/versions/unversioned/sdk/sms.md | 2 +- docs/pages/versions/unversioned/sdk/speech.md | 2 +- .../versions/unversioned/sdk/splash-screen.md | 2 +- docs/pages/versions/unversioned/sdk/sqlite.md | 2 +- .../pages/versions/unversioned/sdk/status-bar.md | 2 +- .../versions/unversioned/sdk/storereview.md | 2 +- docs/pages/versions/unversioned/sdk/system-ui.md | 2 +- .../versions/unversioned/sdk/task-manager.md | 2 +- .../unversioned/sdk/tracking-transparency.md | 4 ++-- docs/pages/versions/unversioned/sdk/updates.md | 2 +- .../versions/unversioned/sdk/video-thumbnails.md | 2 +- docs/pages/versions/unversioned/sdk/video.md | 2 +- .../pages/versions/unversioned/sdk/webbrowser.md | 2 +- docs/pages/versions/v40.0.0/sdk/amplitude.md | 2 +- .../versions/v40.0.0/sdk/background-fetch.md | 2 +- docs/pages/versions/v40.0.0/sdk/checkbox.md | 2 +- .../pages/versions/v40.0.0/sdk/google-sign-in.md | 2 +- .../versions/v40.0.0/sdk/in-app-purchases.md | 2 +- .../versions/v40.0.0/sdk/intent-launcher.md | 2 +- .../versions/v40.0.0/sdk/legacy-notifications.md | 4 ++-- docs/pages/versions/v40.0.0/sdk/notifications.md | 2 +- .../versions/v40.0.0/sdk/screen-orientation.md | 2 +- docs/pages/versions/v40.0.0/sdk/task-manager.md | 2 +- docs/pages/versions/v41.0.0/sdk/amplitude.md | 2 +- .../versions/v41.0.0/sdk/background-fetch.md | 2 +- .../pages/versions/v41.0.0/sdk/google-sign-in.md | 2 +- .../versions/v41.0.0/sdk/in-app-purchases.md | 2 +- .../versions/v41.0.0/sdk/intent-launcher.md | 2 +- .../versions/v41.0.0/sdk/screen-orientation.md | 2 +- docs/pages/versions/v41.0.0/sdk/task-manager.md | 2 +- docs/pages/versions/v42.0.0/sdk/amplitude.md | 2 +- .../versions/v42.0.0/sdk/background-fetch.md | 2 +- .../pages/versions/v42.0.0/sdk/google-sign-in.md | 2 +- .../versions/v42.0.0/sdk/in-app-purchases.md | 2 +- .../versions/v42.0.0/sdk/intent-launcher.md | 2 +- .../versions/v42.0.0/sdk/screen-orientation.md | 2 +- docs/pages/versions/v42.0.0/sdk/task-manager.md | 2 +- docs/pages/versions/v43.0.0/sdk/admob.md | 2 +- docs/pages/versions/v43.0.0/sdk/amplitude.md | 2 +- .../versions/v43.0.0/sdk/background-fetch.md | 2 +- docs/pages/versions/v43.0.0/sdk/facebook-ads.md | 2 +- docs/pages/versions/v43.0.0/sdk/facebook.md | 2 +- docs/pages/versions/v43.0.0/sdk/filesystem.md | 2 +- .../pages/versions/v43.0.0/sdk/google-sign-in.md | 2 +- docs/pages/versions/v43.0.0/sdk/imagepicker.md | 2 +- docs/pages/versions/v43.0.0/sdk/media-library.md | 2 +- docs/pages/versions/v43.0.0/sdk/notifications.md | 2 +- docs/pages/versions/v43.0.0/sdk/task-manager.md | 2 +- .../v43.0.0/sdk/tracking-transparency.md | 2 +- docs/pages/versions/v44.0.0/sdk/admob.md | 2 +- docs/pages/versions/v44.0.0/sdk/amplitude.md | 2 +- .../versions/v44.0.0/sdk/background-fetch.md | 2 +- docs/pages/versions/v44.0.0/sdk/facebook-ads.md | 2 +- docs/pages/versions/v44.0.0/sdk/facebook.md | 2 +- docs/pages/versions/v44.0.0/sdk/filesystem.md | 2 +- docs/pages/versions/v44.0.0/sdk/gl-view.md | 2 +- .../pages/versions/v44.0.0/sdk/google-sign-in.md | 2 +- docs/pages/versions/v44.0.0/sdk/imagepicker.md | 2 +- docs/pages/versions/v44.0.0/sdk/media-library.md | 2 +- docs/pages/versions/v44.0.0/sdk/notifications.md | 2 +- docs/pages/versions/v44.0.0/sdk/task-manager.md | 2 +- .../v44.0.0/sdk/tracking-transparency.md | 2 +- docs/pages/workflow/snack.md | 2 +- .../workflow/upgrading-expo-sdk-walkthrough.md | 10 +++++----- .../data/unversioned/expo-intent-launcher.json | 2 +- .../data/v43.0.0/expo-intent-launcher.json | 2 +- .../data/v44.0.0/expo-intent-launcher.json | 2 +- .../schemas/unversioned/app-config-schema.js | 2 +- .../scripts/schemas/v40.0.0/app-config-schema.js | 2 +- .../scripts/schemas/v41.0.0/app-config-schema.js | 2 +- .../scripts/schemas/v42.0.0/app-config-schema.js | 2 +- .../scripts/schemas/v43.0.0/app-config-schema.js | 2 +- .../scripts/schemas/v44.0.0/app-config-schema.js | 2 +- 164 files changed, 205 insertions(+), 205 deletions(-) diff --git a/docs/README.md b/docs/README.md index a15031c02fde3..71060b1924327 100644 --- a/docs/README.md +++ b/docs/README.md @@ -133,7 +133,7 @@ so don't worry if you have code changes or such elsewhere. ## Deployment -The docs are deployed automatically via a GitHub Action each time a PR with docs changes is merged to `master`. +The docs are deployed automatically via a GitHub Action each time a PR with docs changes is merged to `main`. ## How-tos @@ -173,7 +173,7 @@ You can import the React Native docs in an automated way into these docs. This will write all the relevant RN doc stuff into the unversioned version directory. You may need to tweak the script as the source docs change; the script hackily translates between the different forms of markdown that have different quirks. -The React Native docs are actually versioned but we currently read off of master. +The React Native docs are actually versioned but we currently read off of main. ### Adding Images and Assets @@ -276,5 +276,5 @@ If you have a codeblock using `/* @info */` highlighting, use ` diff --git a/docs/pages/guides/monorepos.md b/docs/pages/guides/monorepos.md index 5f37e39cc4059..a8cf45426cd61 100644 --- a/docs/pages/guides/monorepos.md +++ b/docs/pages/guides/monorepos.md @@ -10,7 +10,7 @@ Monorepos, or _"monolithic repositories"_, are single repositories containing mu
Using SDK older than 43? -Setting up a monorepo was difficult before SDK 43. You had to implement your tooling or use [expo-yarn-workspaces](https://github.com/expo/expo/tree/master/packages/expo-yarn-workspaces). The yarn workspaces package symlinks all required dependencies back to the app **node_modules** folder. Although this works for most apps, it has some flaws. For example, it doesn't work well with multiple versions of the same package. +Setting up a monorepo was difficult before SDK 43. You had to implement your tooling or use [expo-yarn-workspaces](https://github.com/expo/expo/tree/main/packages/expo-yarn-workspaces). The yarn workspaces package symlinks all required dependencies back to the app **node_modules** folder. Although this works for most apps, it has some flaws. For example, it doesn't work well with multiple versions of the same package. We made some significant changes with Expo SDK 43 to improve support for monorepos. [The auto linker in the newer Expo modules](https://blog.expo.dev/whats-new-in-expo-modules-infrastructure-7a7cdda81ebc) now also look for packages in parent node_modules folders. None of our native files inside our template contain hardcoded paths to packages. @@ -115,7 +115,7 @@ registerRootComponent(App); ### Create a package -Monorepos can help us group code in a single repository. That includes apps but also separate packages. They also don't need to be published. The [Expo repository](https://github.com/expo/expo) uses this as well. All the Expo SDK packages live inside the [**packages/**](https://github.com/expo/expo/tree/master/packages) folder in our repo. It helps us test the code inside one of our [**apps/**](https://github.com/expo/expo/tree/master/apps/native-component-list) before we publish them. +Monorepos can help us group code in a single repository. That includes apps but also separate packages. They also don't need to be published. The [Expo repository](https://github.com/expo/expo) uses this as well. All the Expo SDK packages live inside the [**packages/**](https://github.com/expo/expo/tree/main/packages) folder in our repo. It helps us test the code inside one of our [**apps/**](https://github.com/expo/expo/tree/main/apps/native-component-list) before we publish them. Let's go back to the root and create the **package/** folder. This folder can contain all the separate packages that you want to make. Once you are inside this folder, we need to add a new subfolder. The subfolder is a separate package that we can use inside our app. In the example below, we named it **cool-package**. diff --git a/docs/pages/guides/splash-screens.md b/docs/pages/guides/splash-screens.md index a61506a55b170..cdf1524146b1a 100644 --- a/docs/pages/guides/splash-screens.md +++ b/docs/pages/guides/splash-screens.md @@ -120,7 +120,7 @@ Depending on the `resizeMode` you will get the following behavior: ### Bare workflow apps -To setup and customize your splash screen in a bare app, refer to [this guide](https://github.com/expo/expo/tree/master/packages/expo-splash-screen#-installation-in-bare-react-native-projects). +To setup and customize your splash screen in a bare app, refer to [this guide](https://github.com/expo/expo/tree/main/packages/expo-splash-screen#-installation-in-bare-react-native-projects). ### Known issues diff --git a/docs/pages/guides/using-electron.md b/docs/pages/guides/using-electron.md index f923abec731a6..bdfe16cb7f9c2 100644 --- a/docs/pages/guides/using-electron.md +++ b/docs/pages/guides/using-electron.md @@ -81,7 +81,7 @@ If you want to add first-class electron support to any of the Unimodules then yo Learn more about how to use Electron in their [docs][electron-docs]. -[expo-packages]: https://github.com/expo/expo/tree/master/packages +[expo-packages]: https://github.com/expo/expo/tree/main/packages [electron]: https://electronjs.org/ [electron-docs]: https://electronjs.org/docs/ [electron-builder]: https://www.electron.build/ diff --git a/docs/pages/guides/using-gatsby.md b/docs/pages/guides/using-gatsby.md index bcebb3df19331..8d1cf859c4b6e 100644 --- a/docs/pages/guides/using-gatsby.md +++ b/docs/pages/guides/using-gatsby.md @@ -152,5 +152,5 @@ If you're curious how Expo support works under the hood, you can refer to this p Learn more about how to use Gatsby in their [docs](https://www.gatsbyjs.org/docs). -[expo-packages]: https://github.com/expo/expo/tree/master/packages +[expo-packages]: https://github.com/expo/expo/tree/main/packages [expo-cli]: https://github.com/expo/expo-cli/ diff --git a/docs/pages/guides/using-nextjs.md b/docs/pages/guides/using-nextjs.md index ffd9f888743d8..afb0299b57d30 100644 --- a/docs/pages/guides/using-nextjs.md +++ b/docs/pages/guides/using-nextjs.md @@ -91,7 +91,7 @@ Optionally you can set the project up manually (not recommended). export { default } from '@expo/next-adapter/document'; ``` -- Create a **babel.config.js** and use [`babel-preset-expo`](https://github.com/expo/expo/tree/master/packages/babel-preset-expo). +- Create a **babel.config.js** and use [`babel-preset-expo`](https://github.com/expo/expo/tree/main/packages/babel-preset-expo). - You can run `yarn next-expo -c` then select **babel.config.js** - Or you can You may have installed this earlier with `yarn add -D babel-preset-expo` @@ -290,7 +290,7 @@ For more information run `yarn next-expo --help` (or `-h`) The adapter provides a Babel config [`@expo/next-adapter/babel`](https://github.com/expo/expo-cli/blob/master/packages/next-adapter/src/babel.ts) to simplify setup. -- Always use the universal [`babel-preset-expo`](https://github.com/expo/expo/tree/master/packages/babel-preset-expo) +- Always use the universal [`babel-preset-expo`](https://github.com/expo/expo/tree/main/packages/babel-preset-expo) - Provides React Native support for all platforms that Expo supports (web, iOS, Android) - When running in the browser, also use `next/babel` preset. @@ -386,7 +386,7 @@ Thanks so much đź‘‹ -[expo-packages]: https://github.com/expo/expo/tree/master/packages +[expo-packages]: https://github.com/expo/expo/tree/main/packages [nextjs]: https://nextjs.org/ [next-adapter]: https://github.com/expo/expo-cli/tree/master/packages/next-adapter [next-docs]: https://nextjs.org/docs diff --git a/docs/pages/modules/android-lifecycle-listeners.md b/docs/pages/modules/android-lifecycle-listeners.md index d9339a9c851ac..86690945ee2d2 100644 --- a/docs/pages/modules/android-lifecycle-listeners.md +++ b/docs/pages/modules/android-lifecycle-listeners.md @@ -12,7 +12,7 @@ The React Native module API does not provide any mechanism to hook into these, a First, you need to have created an Expo module or integrated the Expo modules API in library using the React Native module API. [Learn more](./overview.md#setup) -Inside of your module, a concrete class that implements the [`Package`](https://github.com/expo/expo/blob/master/packages/expo-modules-core/android/src/main/java/expo/modules/core/interfaces/Package.java) interface. For most cases, you only need to implement the `createReactActivityLifecycleListeners` or `createApplicationLifecycleListeners` methods. +Inside of your module, a concrete class that implements the [`Package`](https://github.com/expo/expo/tree/main/packages/expo-modules-core/android/src/main/java/expo/modules/core/interfaces/Package.java) interface. For most cases, you only need to implement the `createReactActivityLifecycleListeners` or `createApplicationLifecycleListeners` methods. ## `Activity` Lifecycle Listeners diff --git a/docs/pages/modules/appdelegate-subscribers.md b/docs/pages/modules/appdelegate-subscribers.md index 7ea12b2cc2080..bbc0693194473 100644 --- a/docs/pages/modules/appdelegate-subscribers.md +++ b/docs/pages/modules/appdelegate-subscribers.md @@ -16,7 +16,7 @@ First, you need to have created an Expo module or integrated the Expo modules AP Create a new public Swift class that extends `ExpoAppDelegateSubscriber` from `ExpoModulesCore` and add its name to the `ios.appDelegateSubscribers` array in the [module config](./module-config.md). Run `pod install`, and the subscriber will be generated in the **ExpoModulesProvider.swift** file within the application project. -Now you can subscribe to events by adding delegate functions to your subscriber class. For the full list of functions that you can subscribe to, see the functions that are overriden in [`ExpoAppDelegate.swift`](https://github.com/expo/expo/blob/master/packages/expo-modules-core/ios/AppDelegates/ExpoAppDelegate.swift). App delegate functions that may cause side effects when provided are not supported yet (e.g. [`application(_:viewControllerWithRestorationIdentifierPath:coder:)`](https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623062-application)). +Now you can subscribe to events by adding delegate functions to your subscriber class. For the full list of functions that you can subscribe to, see the functions that are overriden in [`ExpoAppDelegate.swift`](https://github.com/expo/expo/tree/main/packages/expo-modules-core/ios/AppDelegates/ExpoAppDelegate.swift). App delegate functions that may cause side effects when provided are not supported yet (e.g. [`application(_:viewControllerWithRestorationIdentifierPath:coder:)`](https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623062-application)). > Note: Objective-C classes are not supported. @@ -38,7 +38,7 @@ In this scenario, `ExpoAppDelegate` passes a new completion block to each subscr - If there is at least one `newData` result, the delegate returns `newData`. - Otherwise `noData` is returned. -> To check out how other functions process the result of your subscriber, we recommend reading the code directly: [`ExpoAppDelegate.swift`](https://github.com/expo/expo/blob/master/packages/expo-modules-core/ios/AppDelegates/ExpoAppDelegate.swift). +> To check out how other functions process the result of your subscriber, we recommend reading the code directly: [`ExpoAppDelegate.swift`](https://github.com/expo/expo/tree/main/packages/expo-modules-core/ios/AppDelegates/ExpoAppDelegate.swift). ## Example diff --git a/docs/pages/modules/module-api.md b/docs/pages/modules/module-api.md index b4b4992237065..06de3c7e9fdc6 100644 --- a/docs/pages/modules/module-api.md +++ b/docs/pages/modules/module-api.md @@ -464,10 +464,10 @@ class MyModule : Module() { For more examples from real modules, you can refer to Expo modules that already use this API on GitHub: -- `expo-cellular` ([Swift](https://github.com/expo/expo/blob/master/packages/expo-cellular/ios/CellularModule.swift), [Kotlin](https://github.com/expo/expo/blob/master/packages/expo-cellular/android/src/main/java/expo/modules/cellular/CellularModule.kt)) -- `expo-linear-gradient` ([Swift](https://github.com/expo/expo/blob/master/packages/expo-linear-gradient/ios/LinearGradientModule.swift)), [Kotlin](https://github.com/expo/expo/blob/master/packages/expo-linear-gradient/android/src/main/java/expo/modules/lineargradient/LinearGradientModule.kt) -- `expo-haptics` ([Swift](https://github.com/expo/expo/blob/master/packages/expo-haptics/ios/HapticsModule.swift)) -- `expo-clipboard` ([Swift](https://github.com/expo/expo/blob/master/packages/expo-clipboard/ios/EXClipboard/ClipboardModule.swift)) -- `expo-localization` ([Swift](https://github.com/expo/expo/blob/master/packages/expo-localization/ios/LocalizationModule.swift)) -- `expo-system-ui` ([Swift](https://github.com/expo/expo/blob/master/packages/expo-system-ui/ios/ExpoSystemUI/ExpoSystemUIModule.swift)) -- `expo-image-manipulator` ([Swift](https://github.com/expo/expo/blob/master/packages/expo-image-manipulator/ios/ImageManipulatorModule.swift)) +- `expo-cellular` ([Swift](https://github.com/expo/expo/tree/main/packages/expo-cellular/ios/CellularModule.swift), [Kotlin](https://github.com/expo/expo/tree/main/packages/expo-cellular/android/src/main/java/expo/modules/cellular/CellularModule.kt)) +- `expo-linear-gradient` ([Swift](https://github.com/expo/expo/tree/main/packages/expo-linear-gradient/ios/LinearGradientModule.swift)), [Kotlin](https://github.com/expo/expo/tree/main/packages/expo-linear-gradient/android/src/main/java/expo/modules/lineargradient/LinearGradientModule.kt) +- `expo-haptics` ([Swift](https://github.com/expo/expo/tree/main/packages/expo-haptics/ios/HapticsModule.swift)) +- `expo-clipboard` ([Swift](https://github.com/expo/expo/tree/main/packages/expo-clipboard/ios/EXClipboard/ClipboardModule.swift)) +- `expo-localization` ([Swift](https://github.com/expo/expo/tree/main/packages/expo-localization/ios/LocalizationModule.swift)) +- `expo-system-ui` ([Swift](https://github.com/expo/expo/tree/main/packages/expo-system-ui/ios/ExpoSystemUI/ExpoSystemUIModule.swift)) +- `expo-image-manipulator` ([Swift](https://github.com/expo/expo/tree/main/packages/expo-image-manipulator/ios/ImageManipulatorModule.swift)) diff --git a/docs/pages/preview/introduction.md b/docs/pages/preview/introduction.md index 1982831acc939..b709fc1dca015 100644 --- a/docs/pages/preview/introduction.md +++ b/docs/pages/preview/introduction.md @@ -2,7 +2,7 @@ title: Introduction --- -This section of the documentation provides a preview of experimental new features that we're working on at Expo. It is not linked from the main documentation but it is also not particularly well hidden — if you want to find it, [you can](https://github.com/expo/expo/blob/master/docs/pages/preview/introduction.md). We just ask that you please keep the following in mind when exploring preview features: +This section of the documentation provides a preview of experimental new features that we're working on at Expo. It is not linked from the main documentation but it is also not particularly well hidden — if you want to find it, [you can](https://github.com/expo/expo/tree/main/docs/pages/preview/introduction.md). We just ask that you please keep the following in mind when exploring preview features: 1. đźš« **Please don't produce blogs posts, YouTube videos, or other content covering the preview features.** Everything documented here is likely to change and the content will quickly go stale. 2. đź‘€ **You probably should not depend on preview features in production** unless you are prepared to deal with the instability that may come with a rapidly evolving product offering. diff --git a/docs/pages/technical-specs/expo-updates-0.md b/docs/pages/technical-specs/expo-updates-0.md index de398bdc96c30..f5a2b29c6178c 100644 --- a/docs/pages/technical-specs/expo-updates-0.md +++ b/docs/pages/technical-specs/expo-updates-0.md @@ -215,4 +215,4 @@ Expo Updates supports code signing the manifest. This also transitively signs th ## Client Library -See the [reference client library](https://github.com/expo/expo/tree/master/packages/expo-updates) +See the [reference client library](https://github.com/expo/expo/tree/main/packages/expo-updates) diff --git a/docs/pages/versions/unversioned/sdk/accelerometer.md b/docs/pages/versions/unversioned/sdk/accelerometer.md index 47e577412e529..a00720ba69e89 100644 --- a/docs/pages/versions/unversioned/sdk/accelerometer.md +++ b/docs/pages/versions/unversioned/sdk/accelerometer.md @@ -1,6 +1,6 @@ --- title: Accelerometer -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-sensors' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-sensors' packageName: 'expo-sensors' --- diff --git a/docs/pages/versions/unversioned/sdk/admob.md b/docs/pages/versions/unversioned/sdk/admob.md index 2b052eb2be041..3432462320b57 100644 --- a/docs/pages/versions/unversioned/sdk/admob.md +++ b/docs/pages/versions/unversioned/sdk/admob.md @@ -1,6 +1,6 @@ --- title: Admob -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-ads-admob' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-ads-admob' packageName: 'expo-ads-admob' --- @@ -55,7 +55,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-ads-admob` repository](https://github.com/expo/expo/tree/master/packages/expo-ads-admob#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-ads-admob` repository](https://github.com/expo/expo/tree/main/packages/expo-ads-admob#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/unversioned/sdk/amplitude.md b/docs/pages/versions/unversioned/sdk/amplitude.md index e3d48eab2d1be..6fba9a035daa9 100644 --- a/docs/pages/versions/unversioned/sdk/amplitude.md +++ b/docs/pages/versions/unversioned/sdk/amplitude.md @@ -1,6 +1,6 @@ --- title: Amplitude -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-analytics-amplitude' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-analytics-amplitude' packageName: 'expo-analytics-amplitude' --- @@ -8,7 +8,7 @@ import APISection from '~/components/plugins/APISection'; import {APIInstallSection} from '~/components/plugins/InstallSection'; import PlatformsSection from '~/components/plugins/PlatformsSection'; -**`expo-analytics-amplitude`** provides access to [Amplitude](https://amplitude.com/) mobile analytics which allows you track and log various events and data. This module wraps Amplitude's [iOS](https://github.com/amplitude/Amplitude-iOS) and [Android](https://github.com/amplitude/Amplitude-Android) SDKs. For a great example of usage, see the [Expo app source code](https://github.com/expo/expo/blob/master/home/api/Analytics.ts). +**`expo-analytics-amplitude`** provides access to [Amplitude](https://amplitude.com/) mobile analytics which allows you track and log various events and data. This module wraps Amplitude's [iOS](https://github.com/amplitude/Amplitude-iOS) and [Android](https://github.com/amplitude/Amplitude-Android) SDKs. For a great example of usage, see the [Expo app source code](https://github.com/expo/expo/tree/main/home/api/Analytics.ts). **Please note:** Session tracking may not work correctly when running Experiences in the main Expo app. It will work correctly if you create a standalone app. For example, the version logged when running experiences in the Expo app will be the [Expo app version](constants.md#constantsexpoversion). Whereas in standalone apps, the version set in **app.json** is used. For more information see [this issue on GitHub](https://github.com/expo/expo/issues/4720). diff --git a/docs/pages/versions/unversioned/sdk/app-auth.md b/docs/pages/versions/unversioned/sdk/app-auth.md index 49997c83c97ed..601ac76bfb1ac 100644 --- a/docs/pages/versions/unversioned/sdk/app-auth.md +++ b/docs/pages/versions/unversioned/sdk/app-auth.md @@ -1,6 +1,6 @@ --- title: AppAuth -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-app-auth' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-app-auth' packageName: 'expo-app-auth' --- diff --git a/docs/pages/versions/unversioned/sdk/app-loading.md b/docs/pages/versions/unversioned/sdk/app-loading.md index b7250dafcf081..bde51f8eeac30 100644 --- a/docs/pages/versions/unversioned/sdk/app-loading.md +++ b/docs/pages/versions/unversioned/sdk/app-loading.md @@ -1,6 +1,6 @@ --- title: AppLoading -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-app-loading' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-app-loading' packageName: 'expo-app-loading' --- diff --git a/docs/pages/versions/unversioned/sdk/apple-authentication.md b/docs/pages/versions/unversioned/sdk/apple-authentication.md index 506fbd92f04db..06a225b893f48 100644 --- a/docs/pages/versions/unversioned/sdk/apple-authentication.md +++ b/docs/pages/versions/unversioned/sdk/apple-authentication.md @@ -1,6 +1,6 @@ --- title: AppleAuthentication -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-apple-authentication' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-apple-authentication' packageName: 'expo-apple-authentication' --- diff --git a/docs/pages/versions/unversioned/sdk/application.md b/docs/pages/versions/unversioned/sdk/application.md index cff5f35c39cac..c4d1a2a3513be 100644 --- a/docs/pages/versions/unversioned/sdk/application.md +++ b/docs/pages/versions/unversioned/sdk/application.md @@ -1,6 +1,6 @@ --- title: Application -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-application' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-application' packageName: 'expo-application' --- diff --git a/docs/pages/versions/unversioned/sdk/asset.md b/docs/pages/versions/unversioned/sdk/asset.md index d2d515883d73e..93899d04be9df 100644 --- a/docs/pages/versions/unversioned/sdk/asset.md +++ b/docs/pages/versions/unversioned/sdk/asset.md @@ -1,6 +1,6 @@ --- title: Asset -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-asset' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-asset' packageName: 'expo-asset' --- diff --git a/docs/pages/versions/unversioned/sdk/audio.md b/docs/pages/versions/unversioned/sdk/audio.md index a7e1b8c1b97c2..276be6947c823 100644 --- a/docs/pages/versions/unversioned/sdk/audio.md +++ b/docs/pages/versions/unversioned/sdk/audio.md @@ -1,6 +1,6 @@ --- title: Audio -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-av' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-av' packageName: 'expo-av' --- diff --git a/docs/pages/versions/unversioned/sdk/auth-session.md b/docs/pages/versions/unversioned/sdk/auth-session.md index d25535c595239..40ca6ad99417d 100644 --- a/docs/pages/versions/unversioned/sdk/auth-session.md +++ b/docs/pages/versions/unversioned/sdk/auth-session.md @@ -1,6 +1,6 @@ --- title: AuthSession -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-auth-session' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-auth-session' packageName: 'expo-auth-session' --- diff --git a/docs/pages/versions/unversioned/sdk/av.md b/docs/pages/versions/unversioned/sdk/av.md index 86767aa49f1d0..81160dcf03a2e 100644 --- a/docs/pages/versions/unversioned/sdk/av.md +++ b/docs/pages/versions/unversioned/sdk/av.md @@ -1,6 +1,6 @@ --- title: AV -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-av' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-av' packageName: 'expo-av' --- diff --git a/docs/pages/versions/unversioned/sdk/background-fetch.md b/docs/pages/versions/unversioned/sdk/background-fetch.md index 529a37c43eb89..c10dfee4be7c6 100644 --- a/docs/pages/versions/unversioned/sdk/background-fetch.md +++ b/docs/pages/versions/unversioned/sdk/background-fetch.md @@ -1,6 +1,6 @@ --- title: BackgroundFetch -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-background-fetch' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-background-fetch' packageName: 'expo-background-fetch' --- @@ -19,7 +19,7 @@ import ImageSpotlight from '~/components/plugins/ImageSpotlight' ## Installation -For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-background-fetch`. To use it in [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/master/packages/expo-background-fetch); +For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-background-fetch`. To use it in [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/main/packages/expo-background-fetch); ## Usage diff --git a/docs/pages/versions/unversioned/sdk/bar-code-scanner.md b/docs/pages/versions/unversioned/sdk/bar-code-scanner.md index 98720bad2d418..e4eddb79d6fd3 100644 --- a/docs/pages/versions/unversioned/sdk/bar-code-scanner.md +++ b/docs/pages/versions/unversioned/sdk/bar-code-scanner.md @@ -1,6 +1,6 @@ --- title: BarCodeScanner -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-barcode-scanner' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-barcode-scanner' packageName: 'expo-barcode-scanner' --- diff --git a/docs/pages/versions/unversioned/sdk/barometer.md b/docs/pages/versions/unversioned/sdk/barometer.md index d12b13b0eb356..24b877a85ccd7 100644 --- a/docs/pages/versions/unversioned/sdk/barometer.md +++ b/docs/pages/versions/unversioned/sdk/barometer.md @@ -1,6 +1,6 @@ --- title: Barometer -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-sensors' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-sensors' packageName: 'expo-sensors' --- diff --git a/docs/pages/versions/unversioned/sdk/battery.md b/docs/pages/versions/unversioned/sdk/battery.md index 71ea06b299803..20d61dbb7361e 100644 --- a/docs/pages/versions/unversioned/sdk/battery.md +++ b/docs/pages/versions/unversioned/sdk/battery.md @@ -1,6 +1,6 @@ --- title: Battery -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-battery' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-battery' packageName: 'expo-battery' --- diff --git a/docs/pages/versions/unversioned/sdk/blur-view.md b/docs/pages/versions/unversioned/sdk/blur-view.md index b04401519cc55..5a14be98ae8c6 100644 --- a/docs/pages/versions/unversioned/sdk/blur-view.md +++ b/docs/pages/versions/unversioned/sdk/blur-view.md @@ -1,6 +1,6 @@ --- title: BlurView -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-blur' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-blur' packageName: 'expo-blur' --- diff --git a/docs/pages/versions/unversioned/sdk/branch.md b/docs/pages/versions/unversioned/sdk/branch.md index ba75a80e9e23e..77086bc74f87a 100644 --- a/docs/pages/versions/unversioned/sdk/branch.md +++ b/docs/pages/versions/unversioned/sdk/branch.md @@ -1,6 +1,6 @@ --- title: Branch -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-branch' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-branch' packageName: 'expo-branch' --- diff --git a/docs/pages/versions/unversioned/sdk/brightness.md b/docs/pages/versions/unversioned/sdk/brightness.md index 8d018d1bb9d41..e3c8dae133258 100644 --- a/docs/pages/versions/unversioned/sdk/brightness.md +++ b/docs/pages/versions/unversioned/sdk/brightness.md @@ -1,6 +1,6 @@ --- title: Brightness -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-brightness' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-brightness' packageName: 'expo-brightness' --- diff --git a/docs/pages/versions/unversioned/sdk/calendar.md b/docs/pages/versions/unversioned/sdk/calendar.md index 97816ab6a020f..2bb6e3a56ba4e 100644 --- a/docs/pages/versions/unversioned/sdk/calendar.md +++ b/docs/pages/versions/unversioned/sdk/calendar.md @@ -1,6 +1,6 @@ --- title: Calendar -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-calendar' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-calendar' packageName: 'expo-calendar' --- diff --git a/docs/pages/versions/unversioned/sdk/camera.md b/docs/pages/versions/unversioned/sdk/camera.md index e504e4f07c0e8..b066b70cc017f 100644 --- a/docs/pages/versions/unversioned/sdk/camera.md +++ b/docs/pages/versions/unversioned/sdk/camera.md @@ -1,6 +1,6 @@ --- title: Camera -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-camera' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-camera' packageName: 'expo-camera' --- diff --git a/docs/pages/versions/unversioned/sdk/cellular.md b/docs/pages/versions/unversioned/sdk/cellular.md index dd39a06adc350..e3ee423abd489 100644 --- a/docs/pages/versions/unversioned/sdk/cellular.md +++ b/docs/pages/versions/unversioned/sdk/cellular.md @@ -1,6 +1,6 @@ --- title: Cellular -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-cellular' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-cellular' packageName: 'expo-cellular' --- diff --git a/docs/pages/versions/unversioned/sdk/checkbox.md b/docs/pages/versions/unversioned/sdk/checkbox.md index d31ca1b8db29c..63f2cb2d1e131 100644 --- a/docs/pages/versions/unversioned/sdk/checkbox.md +++ b/docs/pages/versions/unversioned/sdk/checkbox.md @@ -1,6 +1,6 @@ --- title: Checkbox -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-checkbox' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-checkbox' packageName: 'expo-checkbox' --- diff --git a/docs/pages/versions/unversioned/sdk/clipboard.md b/docs/pages/versions/unversioned/sdk/clipboard.md index f189544831ce7..cf63c69a61bb6 100644 --- a/docs/pages/versions/unversioned/sdk/clipboard.md +++ b/docs/pages/versions/unversioned/sdk/clipboard.md @@ -1,6 +1,6 @@ --- title: Clipboard -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-clipboard' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-clipboard' packageName: 'expo-clipboard' --- diff --git a/docs/pages/versions/unversioned/sdk/constants.md b/docs/pages/versions/unversioned/sdk/constants.md index 8fdfe47a7b790..2df48d23e57e6 100644 --- a/docs/pages/versions/unversioned/sdk/constants.md +++ b/docs/pages/versions/unversioned/sdk/constants.md @@ -1,6 +1,6 @@ --- title: Constants -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-constants' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-constants' packageName: 'expo-constants' --- diff --git a/docs/pages/versions/unversioned/sdk/contacts.md b/docs/pages/versions/unversioned/sdk/contacts.md index 123affeef213e..a1f8bbeaf7a72 100644 --- a/docs/pages/versions/unversioned/sdk/contacts.md +++ b/docs/pages/versions/unversioned/sdk/contacts.md @@ -1,6 +1,6 @@ --- title: Contacts -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-contacts' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-contacts' packageName: 'expo-contacts' --- diff --git a/docs/pages/versions/unversioned/sdk/crypto.md b/docs/pages/versions/unversioned/sdk/crypto.md index ccbbcf3b18afa..f129975dd3e67 100644 --- a/docs/pages/versions/unversioned/sdk/crypto.md +++ b/docs/pages/versions/unversioned/sdk/crypto.md @@ -1,6 +1,6 @@ --- title: Crypto -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-crypto' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-crypto' packageName: 'expo-crypto' --- diff --git a/docs/pages/versions/unversioned/sdk/device.md b/docs/pages/versions/unversioned/sdk/device.md index 258050919b438..ba5c85d338553 100644 --- a/docs/pages/versions/unversioned/sdk/device.md +++ b/docs/pages/versions/unversioned/sdk/device.md @@ -1,6 +1,6 @@ --- title: Device -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-device' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-device' packageName: 'expo-device' --- diff --git a/docs/pages/versions/unversioned/sdk/devicemotion.md b/docs/pages/versions/unversioned/sdk/devicemotion.md index 38c4851b4b542..53723493b8bcf 100644 --- a/docs/pages/versions/unversioned/sdk/devicemotion.md +++ b/docs/pages/versions/unversioned/sdk/devicemotion.md @@ -1,6 +1,6 @@ --- title: DeviceMotion -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-sensors' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-sensors' packageName: 'expo-sensors' --- diff --git a/docs/pages/versions/unversioned/sdk/document-picker.md b/docs/pages/versions/unversioned/sdk/document-picker.md index b9123c56bbe7d..8c42199b14378 100644 --- a/docs/pages/versions/unversioned/sdk/document-picker.md +++ b/docs/pages/versions/unversioned/sdk/document-picker.md @@ -1,6 +1,6 @@ --- title: DocumentPicker -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-document-picker' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-document-picker' packageName: 'expo-document-picker' --- diff --git a/docs/pages/versions/unversioned/sdk/error-recovery.md b/docs/pages/versions/unversioned/sdk/error-recovery.md index 159eb3b00074a..01ac44dd00e12 100644 --- a/docs/pages/versions/unversioned/sdk/error-recovery.md +++ b/docs/pages/versions/unversioned/sdk/error-recovery.md @@ -1,6 +1,6 @@ --- title: ErrorRecovery -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-error-recovery' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-error-recovery' packageName: 'expo-error-recovery' --- diff --git a/docs/pages/versions/unversioned/sdk/facebook-ads.md b/docs/pages/versions/unversioned/sdk/facebook-ads.md index 332e5f6a480c4..fceea6e9c4077 100644 --- a/docs/pages/versions/unversioned/sdk/facebook-ads.md +++ b/docs/pages/versions/unversioned/sdk/facebook-ads.md @@ -1,6 +1,6 @@ --- title: FacebookAds -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-ads-facebook' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-ads-facebook' packageName: 'expo-ads-facebook' --- @@ -43,7 +43,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-ads-facebook` repository](https://github.com/expo/expo/tree/master/packages/expo-ads-facebook#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-ads-facebook` repository](https://github.com/expo/expo/tree/main/packages/expo-ads-facebook#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/unversioned/sdk/facebook.md b/docs/pages/versions/unversioned/sdk/facebook.md index 1989b7057b8ed..10efb806779eb 100644 --- a/docs/pages/versions/unversioned/sdk/facebook.md +++ b/docs/pages/versions/unversioned/sdk/facebook.md @@ -1,6 +1,6 @@ --- title: Facebook -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-facebook' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-facebook' packageName: 'expo-facebook' --- @@ -78,7 +78,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-facebook` repository](https://github.com/expo/expo/tree/master/packages/expo-facebook#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-facebook` repository](https://github.com/expo/expo/tree/main/packages/expo-facebook#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/unversioned/sdk/facedetector.md b/docs/pages/versions/unversioned/sdk/facedetector.md index b16cb01f7c4f5..7749d4e489e1b 100644 --- a/docs/pages/versions/unversioned/sdk/facedetector.md +++ b/docs/pages/versions/unversioned/sdk/facedetector.md @@ -1,6 +1,6 @@ --- title: FaceDetector -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-face-detector' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-face-detector' packageName: 'expo-face-detector' --- diff --git a/docs/pages/versions/unversioned/sdk/filesystem.md b/docs/pages/versions/unversioned/sdk/filesystem.md index 8882a0de15849..1be6a4618f8e3 100644 --- a/docs/pages/versions/unversioned/sdk/filesystem.md +++ b/docs/pages/versions/unversioned/sdk/filesystem.md @@ -1,6 +1,6 @@ --- title: FileSystem -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-file-system' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-file-system' packageName: 'expo-file-system' --- @@ -35,7 +35,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-file-system` repository](https://github.com/expo/expo/tree/master/packages/expo-file-system#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-file-system` repository](https://github.com/expo/expo/tree/main/packages/expo-file-system#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/unversioned/sdk/firebase-analytics.md b/docs/pages/versions/unversioned/sdk/firebase-analytics.md index 59ef455f7b71a..2f53fe233934d 100644 --- a/docs/pages/versions/unversioned/sdk/firebase-analytics.md +++ b/docs/pages/versions/unversioned/sdk/firebase-analytics.md @@ -1,6 +1,6 @@ --- title: FirebaseAnalytics -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-firebase-analytics' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-firebase-analytics' packageName: 'expo-firebase-analytics' --- diff --git a/docs/pages/versions/unversioned/sdk/firebase-core.md b/docs/pages/versions/unversioned/sdk/firebase-core.md index 813efc1166145..efe5b8eeb1707 100644 --- a/docs/pages/versions/unversioned/sdk/firebase-core.md +++ b/docs/pages/versions/unversioned/sdk/firebase-core.md @@ -1,6 +1,6 @@ --- title: FirebaseCore -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-firebase-core' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-firebase-core' packageName: 'expo-firebase-core' --- diff --git a/docs/pages/versions/unversioned/sdk/firebase-recaptcha.md b/docs/pages/versions/unversioned/sdk/firebase-recaptcha.md index 39078c756cc02..1321f17ba7496 100644 --- a/docs/pages/versions/unversioned/sdk/firebase-recaptcha.md +++ b/docs/pages/versions/unversioned/sdk/firebase-recaptcha.md @@ -1,6 +1,6 @@ --- title: FirebaseRecaptcha -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-firebase-recaptcha' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-firebase-recaptcha' packageName: 'expo-firebase-recaptcha' --- diff --git a/docs/pages/versions/unversioned/sdk/font.md b/docs/pages/versions/unversioned/sdk/font.md index 534795a68296b..25d8bd6c626e9 100644 --- a/docs/pages/versions/unversioned/sdk/font.md +++ b/docs/pages/versions/unversioned/sdk/font.md @@ -1,6 +1,6 @@ --- title: Font -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-font' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-font' packageName: 'expo-font' --- diff --git a/docs/pages/versions/unversioned/sdk/gl-view.md b/docs/pages/versions/unversioned/sdk/gl-view.md index 481c354e6590e..faa8ae19ee8fb 100644 --- a/docs/pages/versions/unversioned/sdk/gl-view.md +++ b/docs/pages/versions/unversioned/sdk/gl-view.md @@ -1,6 +1,6 @@ --- title: GLView -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-gl' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-gl' packageName: 'expo-gl' --- @@ -224,7 +224,7 @@ export default function App() { -For more in-depth example on how to use `expo-gl` with Reanimated and Gesture Handler you can check [this example](https://github.com/expo/expo/blob/master/apps/native-component-list/src/screens/GL/GLReanimatedExample.tsx). +For more in-depth example on how to use `expo-gl` with Reanimated and Gesture Handler you can check [this example](https://github.com/expo/expo/tree/main/apps/native-component-list/src/screens/GL/GLReanimatedExample.tsx). ### Limitations diff --git a/docs/pages/versions/unversioned/sdk/google-sign-in.md b/docs/pages/versions/unversioned/sdk/google-sign-in.md index efffb30140c75..00dfc57b490bb 100644 --- a/docs/pages/versions/unversioned/sdk/google-sign-in.md +++ b/docs/pages/versions/unversioned/sdk/google-sign-in.md @@ -1,6 +1,6 @@ --- title: GoogleSignIn -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-google-sign-in' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-google-sign-in' packageName: 'expo-google-sign-in' --- @@ -14,7 +14,7 @@ import PlatformsSection from '~/components/plugins/PlatformsSection'; ## Installation -For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-google-sign-in`. To use it in a [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/master/packages/expo-google-sign-in). +For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-google-sign-in`. To use it in a [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/main/packages/expo-google-sign-in). ## Configuration diff --git a/docs/pages/versions/unversioned/sdk/google.md b/docs/pages/versions/unversioned/sdk/google.md index d96dd73c42781..e2bb47f233574 100644 --- a/docs/pages/versions/unversioned/sdk/google.md +++ b/docs/pages/versions/unversioned/sdk/google.md @@ -1,6 +1,6 @@ --- title: Google -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-google-app-auth' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-google-app-auth' packageName: 'expo-google-app-auth' --- diff --git a/docs/pages/versions/unversioned/sdk/gyroscope.md b/docs/pages/versions/unversioned/sdk/gyroscope.md index 8cf9c4cd9aa2d..59a9c15494fb1 100644 --- a/docs/pages/versions/unversioned/sdk/gyroscope.md +++ b/docs/pages/versions/unversioned/sdk/gyroscope.md @@ -1,6 +1,6 @@ --- title: Gyroscope -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-sensors' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-sensors' packageName: 'expo-sensors' --- diff --git a/docs/pages/versions/unversioned/sdk/haptics.md b/docs/pages/versions/unversioned/sdk/haptics.md index c1e0e55280ff4..1963584805c4f 100644 --- a/docs/pages/versions/unversioned/sdk/haptics.md +++ b/docs/pages/versions/unversioned/sdk/haptics.md @@ -1,6 +1,6 @@ --- title: Haptics -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-haptics' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-haptics' packageName: 'expo-haptics' --- diff --git a/docs/pages/versions/unversioned/sdk/imagemanipulator.md b/docs/pages/versions/unversioned/sdk/imagemanipulator.md index b1ef3d84f04c5..9bf440cab0ef5 100644 --- a/docs/pages/versions/unversioned/sdk/imagemanipulator.md +++ b/docs/pages/versions/unversioned/sdk/imagemanipulator.md @@ -1,6 +1,6 @@ --- title: ImageManipulator -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-image-manipulator' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-image-manipulator' packageName: 'expo-image-manipulator' --- diff --git a/docs/pages/versions/unversioned/sdk/imagepicker.md b/docs/pages/versions/unversioned/sdk/imagepicker.md index 56b3c6f38ad3c..64d8bb220ca88 100644 --- a/docs/pages/versions/unversioned/sdk/imagepicker.md +++ b/docs/pages/versions/unversioned/sdk/imagepicker.md @@ -1,6 +1,6 @@ --- title: ImagePicker -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-image-picker' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-image-picker' packageName: 'expo-image-picker' --- @@ -40,7 +40,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-image-picker` repository](https://github.com/expo/expo/tree/master/packages/expo-image-picker#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-image-picker` repository](https://github.com/expo/expo/tree/main/packages/expo-image-picker#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/unversioned/sdk/in-app-purchases.md b/docs/pages/versions/unversioned/sdk/in-app-purchases.md index 952cc777ceaa2..ec172f5668b61 100644 --- a/docs/pages/versions/unversioned/sdk/in-app-purchases.md +++ b/docs/pages/versions/unversioned/sdk/in-app-purchases.md @@ -1,6 +1,6 @@ --- title: InAppPurchases -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-in-app-purchases' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-in-app-purchases' packageName: 'expo-in-app-purchases' --- diff --git a/docs/pages/versions/unversioned/sdk/intent-launcher.md b/docs/pages/versions/unversioned/sdk/intent-launcher.md index e3f54233161a3..25b78a32e039d 100644 --- a/docs/pages/versions/unversioned/sdk/intent-launcher.md +++ b/docs/pages/versions/unversioned/sdk/intent-launcher.md @@ -1,6 +1,6 @@ --- title: IntentLauncher -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-intent-launcher' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-intent-launcher' packageName: 'expo-intent-launcher' --- diff --git a/docs/pages/versions/unversioned/sdk/keep-awake.md b/docs/pages/versions/unversioned/sdk/keep-awake.md index d5fcdede5e729..3cf086ce4f3fe 100644 --- a/docs/pages/versions/unversioned/sdk/keep-awake.md +++ b/docs/pages/versions/unversioned/sdk/keep-awake.md @@ -1,6 +1,6 @@ --- title: KeepAwake -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-keep-awake' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-keep-awake' packageName: 'expo-keep-awake' --- diff --git a/docs/pages/versions/unversioned/sdk/linear-gradient.md b/docs/pages/versions/unversioned/sdk/linear-gradient.md index 8b85d448885cf..b6fe4dafd0b28 100644 --- a/docs/pages/versions/unversioned/sdk/linear-gradient.md +++ b/docs/pages/versions/unversioned/sdk/linear-gradient.md @@ -1,6 +1,6 @@ --- title: LinearGradient -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-linear-gradient' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-linear-gradient' packageName: 'expo-linear-gradient' --- diff --git a/docs/pages/versions/unversioned/sdk/linking.md b/docs/pages/versions/unversioned/sdk/linking.md index 1d83d44c5ef62..d572b23d32e49 100644 --- a/docs/pages/versions/unversioned/sdk/linking.md +++ b/docs/pages/versions/unversioned/sdk/linking.md @@ -1,6 +1,6 @@ --- title: Linking -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-linking' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-linking' packageName: 'expo-linking' --- diff --git a/docs/pages/versions/unversioned/sdk/local-authentication.md b/docs/pages/versions/unversioned/sdk/local-authentication.md index 94c613a9d9d3b..a4db3453ca6b2 100644 --- a/docs/pages/versions/unversioned/sdk/local-authentication.md +++ b/docs/pages/versions/unversioned/sdk/local-authentication.md @@ -1,6 +1,6 @@ --- title: LocalAuthentication -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-local-authentication' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-local-authentication' packageName: 'expo-local-authentication' --- diff --git a/docs/pages/versions/unversioned/sdk/localization.md b/docs/pages/versions/unversioned/sdk/localization.md index 325d90e38d7fc..44734b46a3d7c 100644 --- a/docs/pages/versions/unversioned/sdk/localization.md +++ b/docs/pages/versions/unversioned/sdk/localization.md @@ -1,6 +1,6 @@ --- title: Localization -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-localization' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-localization' packageName: 'expo-localization' --- diff --git a/docs/pages/versions/unversioned/sdk/location.md b/docs/pages/versions/unversioned/sdk/location.md index 2291221a0d86f..3487fc2c9c25e 100644 --- a/docs/pages/versions/unversioned/sdk/location.md +++ b/docs/pages/versions/unversioned/sdk/location.md @@ -1,6 +1,6 @@ --- title: Location -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-location' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-location' packageName: 'expo-location' --- diff --git a/docs/pages/versions/unversioned/sdk/magnetometer.md b/docs/pages/versions/unversioned/sdk/magnetometer.md index b4dd9379350ec..6a7860ff2488a 100644 --- a/docs/pages/versions/unversioned/sdk/magnetometer.md +++ b/docs/pages/versions/unversioned/sdk/magnetometer.md @@ -1,6 +1,6 @@ --- title: Magnetometer -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-sensors' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-sensors' packageName: 'expo-sensors' --- diff --git a/docs/pages/versions/unversioned/sdk/mail-composer.md b/docs/pages/versions/unversioned/sdk/mail-composer.md index 8cbfb5b3cea29..0bc1ec2fb01f7 100644 --- a/docs/pages/versions/unversioned/sdk/mail-composer.md +++ b/docs/pages/versions/unversioned/sdk/mail-composer.md @@ -1,6 +1,6 @@ --- title: MailComposer -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-mail-composer' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-mail-composer' packageName: 'expo-mail-composer' --- diff --git a/docs/pages/versions/unversioned/sdk/media-library.md b/docs/pages/versions/unversioned/sdk/media-library.md index b19c1380ecb31..bb6d0b365bebd 100644 --- a/docs/pages/versions/unversioned/sdk/media-library.md +++ b/docs/pages/versions/unversioned/sdk/media-library.md @@ -1,6 +1,6 @@ --- title: MediaLibrary -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-media-library' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-media-library' packageName: 'expo-media-library' --- @@ -32,7 +32,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-media-library` repository](https://github.com/expo/expo/tree/master/packages/expo-media-library#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-media-library` repository](https://github.com/expo/expo/tree/main/packages/expo-media-library#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/unversioned/sdk/navigation-bar.md b/docs/pages/versions/unversioned/sdk/navigation-bar.md index 7c2089dc60682..320b01ede2135 100644 --- a/docs/pages/versions/unversioned/sdk/navigation-bar.md +++ b/docs/pages/versions/unversioned/sdk/navigation-bar.md @@ -1,6 +1,6 @@ --- title: NavigationBar -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-navigation-bar' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-navigation-bar' packageName: 'expo-navigation-bar' --- diff --git a/docs/pages/versions/unversioned/sdk/network.md b/docs/pages/versions/unversioned/sdk/network.md index 5664592a196e7..00bc3a8361f3a 100644 --- a/docs/pages/versions/unversioned/sdk/network.md +++ b/docs/pages/versions/unversioned/sdk/network.md @@ -1,6 +1,6 @@ --- title: Network -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-network' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-network' packageName: 'expo-network' --- diff --git a/docs/pages/versions/unversioned/sdk/notifications.md b/docs/pages/versions/unversioned/sdk/notifications.md index 5a678f804fa92..24aed63bc1fc4 100644 --- a/docs/pages/versions/unversioned/sdk/notifications.md +++ b/docs/pages/versions/unversioned/sdk/notifications.md @@ -1,6 +1,6 @@ --- title: Notifications -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-notifications' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-notifications' packageName: 'expo-notifications' --- @@ -49,7 +49,7 @@ Learn how to configure notifications with the [app manifest `notification` prope -Learn how to configure the native projects in the [installation instructions in the `expo-notifications` repository](https://github.com/expo/expo/tree/master/packages/expo-notifications#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-notifications` repository](https://github.com/expo/expo/tree/main/packages/expo-notifications#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/unversioned/sdk/pedometer.md b/docs/pages/versions/unversioned/sdk/pedometer.md index f5059f219772f..78544bf7b9f18 100644 --- a/docs/pages/versions/unversioned/sdk/pedometer.md +++ b/docs/pages/versions/unversioned/sdk/pedometer.md @@ -1,6 +1,6 @@ --- title: Pedometer -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-sensors' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-sensors' packageName: 'expo-sensors' --- diff --git a/docs/pages/versions/unversioned/sdk/print.md b/docs/pages/versions/unversioned/sdk/print.md index a470039b895a2..4c0be76038c3a 100644 --- a/docs/pages/versions/unversioned/sdk/print.md +++ b/docs/pages/versions/unversioned/sdk/print.md @@ -1,6 +1,6 @@ --- title: Print -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-print' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-print' packageName: 'expo-print' --- diff --git a/docs/pages/versions/unversioned/sdk/random.md b/docs/pages/versions/unversioned/sdk/random.md index a4045578c8297..957db13d31a93 100644 --- a/docs/pages/versions/unversioned/sdk/random.md +++ b/docs/pages/versions/unversioned/sdk/random.md @@ -1,6 +1,6 @@ --- title: Random -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-random' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-random' packageName: 'expo-random' --- diff --git a/docs/pages/versions/unversioned/sdk/register-root-component.md b/docs/pages/versions/unversioned/sdk/register-root-component.md index 0f41e3f099f53..d46d42d06b27b 100644 --- a/docs/pages/versions/unversioned/sdk/register-root-component.md +++ b/docs/pages/versions/unversioned/sdk/register-root-component.md @@ -1,6 +1,6 @@ --- title: registerRootComponent -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo/src/launch' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo/src/launch' packageName: 'expo' --- diff --git a/docs/pages/versions/unversioned/sdk/screen-capture.md b/docs/pages/versions/unversioned/sdk/screen-capture.md index a1a2d65e4181f..0bd3f01446746 100644 --- a/docs/pages/versions/unversioned/sdk/screen-capture.md +++ b/docs/pages/versions/unversioned/sdk/screen-capture.md @@ -1,6 +1,6 @@ --- title: ScreenCapture -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-screen-capture' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-screen-capture' packageName: 'expo-screen-capture' --- diff --git a/docs/pages/versions/unversioned/sdk/screen-orientation.md b/docs/pages/versions/unversioned/sdk/screen-orientation.md index d4c683e5af912..3e561f60d67d1 100644 --- a/docs/pages/versions/unversioned/sdk/screen-orientation.md +++ b/docs/pages/versions/unversioned/sdk/screen-orientation.md @@ -1,6 +1,6 @@ --- title: ScreenOrientation -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-screen-orientation' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-screen-orientation' packageName: 'expo-screen-orientation' --- diff --git a/docs/pages/versions/unversioned/sdk/securestore.md b/docs/pages/versions/unversioned/sdk/securestore.md index 089bb0b525966..7beb7a30edcef 100644 --- a/docs/pages/versions/unversioned/sdk/securestore.md +++ b/docs/pages/versions/unversioned/sdk/securestore.md @@ -1,6 +1,6 @@ --- title: SecureStore -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-secure-store' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-secure-store' packageName: 'expo-secure-store' --- diff --git a/docs/pages/versions/unversioned/sdk/segment.md b/docs/pages/versions/unversioned/sdk/segment.md index e421a36e870e9..d537942208ffd 100644 --- a/docs/pages/versions/unversioned/sdk/segment.md +++ b/docs/pages/versions/unversioned/sdk/segment.md @@ -1,6 +1,6 @@ --- title: Segment -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-analytics-segment' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-analytics-segment' packageName: 'expo-analytics-segment' --- diff --git a/docs/pages/versions/unversioned/sdk/sensors.md b/docs/pages/versions/unversioned/sdk/sensors.md index 692ddba8857af..8fce4297a004a 100644 --- a/docs/pages/versions/unversioned/sdk/sensors.md +++ b/docs/pages/versions/unversioned/sdk/sensors.md @@ -1,6 +1,6 @@ --- title: Sensors -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-sensors' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-sensors' packageName: 'expo-sensors' --- diff --git a/docs/pages/versions/unversioned/sdk/sharing.md b/docs/pages/versions/unversioned/sdk/sharing.md index bd3e46b983b84..b961373b2a069 100644 --- a/docs/pages/versions/unversioned/sdk/sharing.md +++ b/docs/pages/versions/unversioned/sdk/sharing.md @@ -1,6 +1,6 @@ --- title: Sharing -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-sharing' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-sharing' packageName: 'expo-sharing' --- diff --git a/docs/pages/versions/unversioned/sdk/sms.md b/docs/pages/versions/unversioned/sdk/sms.md index a0079f772b721..3ca059aec3930 100644 --- a/docs/pages/versions/unversioned/sdk/sms.md +++ b/docs/pages/versions/unversioned/sdk/sms.md @@ -1,6 +1,6 @@ --- title: SMS -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-sms' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-sms' packageName: 'expo-sms' --- diff --git a/docs/pages/versions/unversioned/sdk/speech.md b/docs/pages/versions/unversioned/sdk/speech.md index 1d5b1bed3a8da..6e7e0f5eabb7a 100644 --- a/docs/pages/versions/unversioned/sdk/speech.md +++ b/docs/pages/versions/unversioned/sdk/speech.md @@ -1,6 +1,6 @@ --- title: Speech -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-speech' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-speech' packageName: 'expo-speech' --- diff --git a/docs/pages/versions/unversioned/sdk/splash-screen.md b/docs/pages/versions/unversioned/sdk/splash-screen.md index 7bc0e5a1c37f4..c2ff4083489f4 100644 --- a/docs/pages/versions/unversioned/sdk/splash-screen.md +++ b/docs/pages/versions/unversioned/sdk/splash-screen.md @@ -1,6 +1,6 @@ --- title: SplashScreen -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-splash-screen' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-splash-screen' packageName: 'expo-splash-screen' --- diff --git a/docs/pages/versions/unversioned/sdk/sqlite.md b/docs/pages/versions/unversioned/sdk/sqlite.md index f5e3870c117c7..e5f3bde14f0ae 100644 --- a/docs/pages/versions/unversioned/sdk/sqlite.md +++ b/docs/pages/versions/unversioned/sdk/sqlite.md @@ -1,6 +1,6 @@ --- title: SQLite -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-sqlite' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-sqlite' packageName: 'expo-sqlite' --- diff --git a/docs/pages/versions/unversioned/sdk/status-bar.md b/docs/pages/versions/unversioned/sdk/status-bar.md index 00fbbd528611e..09bbd223dd9bd 100644 --- a/docs/pages/versions/unversioned/sdk/status-bar.md +++ b/docs/pages/versions/unversioned/sdk/status-bar.md @@ -1,7 +1,7 @@ --- id: statusbar title: StatusBar -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-status-bar' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-status-bar' packageName: 'expo-status-bar' --- diff --git a/docs/pages/versions/unversioned/sdk/storereview.md b/docs/pages/versions/unversioned/sdk/storereview.md index f1b056403aae7..6634c909c5ac8 100644 --- a/docs/pages/versions/unversioned/sdk/storereview.md +++ b/docs/pages/versions/unversioned/sdk/storereview.md @@ -1,6 +1,6 @@ --- title: StoreReview -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-store-review' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-store-review' packageName: 'expo-store-review' --- diff --git a/docs/pages/versions/unversioned/sdk/system-ui.md b/docs/pages/versions/unversioned/sdk/system-ui.md index eb2d554ddc089..85dbca0753308 100644 --- a/docs/pages/versions/unversioned/sdk/system-ui.md +++ b/docs/pages/versions/unversioned/sdk/system-ui.md @@ -1,6 +1,6 @@ --- title: SystemUI -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-system-ui' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-system-ui' packageName: 'expo-system-ui' --- diff --git a/docs/pages/versions/unversioned/sdk/task-manager.md b/docs/pages/versions/unversioned/sdk/task-manager.md index f172d99cab47f..57f0317fd0dd7 100644 --- a/docs/pages/versions/unversioned/sdk/task-manager.md +++ b/docs/pages/versions/unversioned/sdk/task-manager.md @@ -1,6 +1,6 @@ --- title: TaskManager -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-task-manager' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-task-manager' packageName: 'expo-task-manager' --- diff --git a/docs/pages/versions/unversioned/sdk/tracking-transparency.md b/docs/pages/versions/unversioned/sdk/tracking-transparency.md index 9868c1afff247..045236988cf2c 100644 --- a/docs/pages/versions/unversioned/sdk/tracking-transparency.md +++ b/docs/pages/versions/unversioned/sdk/tracking-transparency.md @@ -1,6 +1,6 @@ --- title: TrackingTransparency -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-tracking-transparency' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-tracking-transparency' packageName: 'expo-tracking-transparency' --- @@ -33,7 +33,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-tracking-transparency` repository](https://github.com/expo/expo/tree/master/packages/expo-tracking-transparency#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-tracking-transparency` repository](https://github.com/expo/expo/tree/main/packages/expo-tracking-transparency#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/unversioned/sdk/updates.md b/docs/pages/versions/unversioned/sdk/updates.md index 809f8d69d5701..baf8502c3ef2c 100644 --- a/docs/pages/versions/unversioned/sdk/updates.md +++ b/docs/pages/versions/unversioned/sdk/updates.md @@ -1,6 +1,6 @@ --- title: Updates -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-updates' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-updates' packageName: 'expo-updates' --- diff --git a/docs/pages/versions/unversioned/sdk/video-thumbnails.md b/docs/pages/versions/unversioned/sdk/video-thumbnails.md index 166794f225a3c..e59564f567347 100644 --- a/docs/pages/versions/unversioned/sdk/video-thumbnails.md +++ b/docs/pages/versions/unversioned/sdk/video-thumbnails.md @@ -1,6 +1,6 @@ --- title: VideoThumbnails -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-video-thumbnails' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-video-thumbnails' packageName: 'expo-video-thumbnails' --- diff --git a/docs/pages/versions/unversioned/sdk/video.md b/docs/pages/versions/unversioned/sdk/video.md index 9473fa9f1dbfc..3f0186d2d3ef4 100644 --- a/docs/pages/versions/unversioned/sdk/video.md +++ b/docs/pages/versions/unversioned/sdk/video.md @@ -1,6 +1,6 @@ --- title: Video -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-av' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-av' packageName: 'expo-av' --- diff --git a/docs/pages/versions/unversioned/sdk/webbrowser.md b/docs/pages/versions/unversioned/sdk/webbrowser.md index cdff0df220e41..54a3bff947057 100644 --- a/docs/pages/versions/unversioned/sdk/webbrowser.md +++ b/docs/pages/versions/unversioned/sdk/webbrowser.md @@ -1,6 +1,6 @@ --- title: WebBrowser -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-web-browser' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-web-browser' packageName: 'expo-web-browser' --- diff --git a/docs/pages/versions/v40.0.0/sdk/amplitude.md b/docs/pages/versions/v40.0.0/sdk/amplitude.md index 93304c978834e..c3564fb507df9 100644 --- a/docs/pages/versions/v40.0.0/sdk/amplitude.md +++ b/docs/pages/versions/v40.0.0/sdk/amplitude.md @@ -6,7 +6,7 @@ sourceCodeUrl: 'https://github.com/expo/expo/tree/sdk-40/packages/expo-analytics import InstallSection from '~/components/plugins/InstallSection'; import PlatformsSection from '~/components/plugins/PlatformsSection'; -**`expo-analytics-amplitude`** provides access to [Amplitude](https://amplitude.com/) mobile analytics which allows you track and log various events and data. This module wraps Amplitude's [iOS](https://github.com/amplitude/Amplitude-iOS) and [Android](https://github.com/amplitude/Amplitude-Android) SDKs. For a great example of usage, see the [Expo app source code](https://github.com/expo/expo/blob/master/home/api/Analytics.ts). +**`expo-analytics-amplitude`** provides access to [Amplitude](https://amplitude.com/) mobile analytics which allows you track and log various events and data. This module wraps Amplitude's [iOS](https://github.com/amplitude/Amplitude-iOS) and [Android](https://github.com/amplitude/Amplitude-Android) SDKs. For a great example of usage, see the [Expo app source code](https://github.com/expo/expo/tree/main/home/api/Analytics.ts). **Please note:** Session tracking may not work correctly when running Experiences in the main Expo app. It will work correctly if you create a standalone app. For example, the version logged when running experiences in the Expo app will be the [Expo app version](constants.md#constantsexpoversion). Whereas in standalone apps, the version set in **app.json** is used. For more information see [this issue on GitHub](https://github.com/expo/expo/issues/4720). diff --git a/docs/pages/versions/v40.0.0/sdk/background-fetch.md b/docs/pages/versions/v40.0.0/sdk/background-fetch.md index d0102ed2f8f87..049976944076a 100644 --- a/docs/pages/versions/v40.0.0/sdk/background-fetch.md +++ b/docs/pages/versions/v40.0.0/sdk/background-fetch.md @@ -15,7 +15,7 @@ BackgroundFetch only works when the app is backgrounded, not if the app was term ## Installation -For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-background-fetch`. To use it in [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/master/packages/expo-background-fetch); +For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-background-fetch`. To use it in [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/main/packages/expo-background-fetch); ## Configuration diff --git a/docs/pages/versions/v40.0.0/sdk/checkbox.md b/docs/pages/versions/v40.0.0/sdk/checkbox.md index cb0a60e373b26..50e4c52c5cb5c 100644 --- a/docs/pages/versions/v40.0.0/sdk/checkbox.md +++ b/docs/pages/versions/v40.0.0/sdk/checkbox.md @@ -1,6 +1,6 @@ --- title: Checkbox -sourceCodeUrl: 'https://github.com/expo/expo/tree/master/packages/expo-checkbox' +sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-checkbox' --- import InstallSection from '~/components/plugins/InstallSection'; diff --git a/docs/pages/versions/v40.0.0/sdk/google-sign-in.md b/docs/pages/versions/v40.0.0/sdk/google-sign-in.md index 35d9fe93b7b14..59c2102891089 100644 --- a/docs/pages/versions/v40.0.0/sdk/google-sign-in.md +++ b/docs/pages/versions/v40.0.0/sdk/google-sign-in.md @@ -11,7 +11,7 @@ import PlatformsSection from '~/components/plugins/PlatformsSection'; ## Installation -For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-google-sign-in`. To use it in a [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/master/packages/expo-google-sign-in). +For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-google-sign-in`. To use it in a [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/main/packages/expo-google-sign-in). ## Configuration diff --git a/docs/pages/versions/v40.0.0/sdk/in-app-purchases.md b/docs/pages/versions/v40.0.0/sdk/in-app-purchases.md index 1d5052bf84eea..c247ab8816d0a 100644 --- a/docs/pages/versions/v40.0.0/sdk/in-app-purchases.md +++ b/docs/pages/versions/v40.0.0/sdk/in-app-purchases.md @@ -13,7 +13,7 @@ import PlatformsSection from '~/components/plugins/PlatformsSection'; This module is currently only available in the [bare](../../../introduction/managed-vs-bare.md#bare-workflow) workflow. -You must ensure that you have [installed and configured the `react-native-unimodules` package](https://github.com/expo/expo/tree/master/packages/react-native-unimodules) before continuing. +You must ensure that you have [installed and configured the `react-native-unimodules` package](https://github.com/expo/expo/tree/main/packages/react-native-unimodules) before continuing. ### Add the package to your dependencies diff --git a/docs/pages/versions/v40.0.0/sdk/intent-launcher.md b/docs/pages/versions/v40.0.0/sdk/intent-launcher.md index b48d67657a7c6..6a35fdb2dc888 100644 --- a/docs/pages/versions/v40.0.0/sdk/intent-launcher.md +++ b/docs/pages/versions/v40.0.0/sdk/intent-launcher.md @@ -37,7 +37,7 @@ Starts the specified activity. The method will return a promise which resolves w #### Arguments -- **activityAction (_string_)** -- The action to be performed, e.g. `IntentLauncher.ACTION_WIRELESS_SETTINGS`. There are a few pre-defined constants you can use for this parameter. You can find them at [expo-intent-launcher/src/IntentLauncher.ts](https://github.com/expo/expo/blob/master/packages/expo-intent-launcher/src/IntentLauncher.ts). **Required** +- **activityAction (_string_)** -- The action to be performed, e.g. `IntentLauncher.ACTION_WIRELESS_SETTINGS`. There are a few pre-defined constants you can use for this parameter. You can find them at [expo-intent-launcher/src/IntentLauncher.ts](https://github.com/expo/expo/tree/main/packages/expo-intent-launcher/src/IntentLauncher.ts). **Required** - **intentParams ([`IntentLauncherParams`](#typeintentlauncherparams))** -- An object of intent parameters. #### Returns diff --git a/docs/pages/versions/v40.0.0/sdk/legacy-notifications.md b/docs/pages/versions/v40.0.0/sdk/legacy-notifications.md index 915a666d17e16..d7cec883fced7 100644 --- a/docs/pages/versions/v40.0.0/sdk/legacy-notifications.md +++ b/docs/pages/versions/v40.0.0/sdk/legacy-notifications.md @@ -18,9 +18,9 @@ The `Notifications` API from **`expo`** provides access to remote notifications ## Installation -This API is pre-installed in [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps. See the [expo-notifications README](https://github.com/expo/expo/tree/master/packages/expo-notifications) for information on how to integrate notifications into bare React Native apps. +This API is pre-installed in [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps. See the [expo-notifications README](https://github.com/expo/expo/tree/main/packages/expo-notifications) for information on how to integrate notifications into bare React Native apps. -> đź’ˇ Please note that the [new `expo-notifications` library](https://github.com/expo/expo/tree/master/packages/expo-notifications) has a different API from the legacy Notifications API explained on this page. This API is deprecated and will be removed in SDK 41. [Here's a guide to help make the transition to the new library as easy as possible](https://github.com/expo/fyi/blob/master/LegacyNotifications-to-ExpoNotifications.md). +> đź’ˇ Please note that the [new `expo-notifications` library](https://github.com/expo/expo/tree/main/packages/expo-notifications) has a different API from the legacy Notifications API explained on this page. This API is deprecated and will be removed in SDK 41. [Here's a guide to help make the transition to the new library as easy as possible](https://github.com/expo/fyi/blob/master/LegacyNotifications-to-ExpoNotifications.md). ## API diff --git a/docs/pages/versions/v40.0.0/sdk/notifications.md b/docs/pages/versions/v40.0.0/sdk/notifications.md index 3913870046e85..c1866a7e905b6 100644 --- a/docs/pages/versions/v40.0.0/sdk/notifications.md +++ b/docs/pages/versions/v40.0.0/sdk/notifications.md @@ -286,7 +286,7 @@ async function registerForPushNotificationsAsync() { ## Custom notification icon and colors (Android only) -Setting a default icon and color for all of your app's notifications is almost too easy. In the managed workflow, just set your [`notification.icon`](../config/app.md#notification) and [`notification.color`](../config/app.md#notification) keys in **app.json**, and rebuild your app! In the bare workflow, you'll need to follow [these instructions](https://github.com/expo/expo/tree/master/packages/expo-notifications#configure-for-android). +Setting a default icon and color for all of your app's notifications is almost too easy. In the managed workflow, just set your [`notification.icon`](../config/app.md#notification) and [`notification.color`](../config/app.md#notification) keys in **app.json**, and rebuild your app! In the bare workflow, you'll need to follow [these instructions](https://github.com/expo/expo/tree/main/packages/expo-notifications#configure-for-android). For your notification icon, make sure you follow [Google's design guidelines](https://material.io/design/iconography/product-icons.html#design-principles) (the icon must be all white with a transparent background) or else it may not be displayed as intended. diff --git a/docs/pages/versions/v40.0.0/sdk/screen-orientation.md b/docs/pages/versions/v40.0.0/sdk/screen-orientation.md index c8e4ef8552776..d48a286101440 100644 --- a/docs/pages/versions/v40.0.0/sdk/screen-orientation.md +++ b/docs/pages/versions/v40.0.0/sdk/screen-orientation.md @@ -252,7 +252,7 @@ An enum representing the lock policies that can be applied on the web platform, ### `Subscription` -A [subscription object](https://github.com/expo/expo/blob/master/packages/expo-react-native-adapter/src/EventEmitter.ts#L16). +A [subscription object](https://github.com/expo/expo/tree/main/packages/expo-react-native-adapter/src/EventEmitter.ts#L16). ## Function Types diff --git a/docs/pages/versions/v40.0.0/sdk/task-manager.md b/docs/pages/versions/v40.0.0/sdk/task-manager.md index 24497105fe72d..8fbea5b75caa2 100644 --- a/docs/pages/versions/v40.0.0/sdk/task-manager.md +++ b/docs/pages/versions/v40.0.0/sdk/task-manager.md @@ -15,7 +15,7 @@ Some features of this module are used by other modules under the hood. Here is a ## Installation -For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-task-manager`. To use it in [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/master/packages/expo-task-manager); +For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-task-manager`. To use it in [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/main/packages/expo-task-manager); ## Configuration for standalone apps diff --git a/docs/pages/versions/v41.0.0/sdk/amplitude.md b/docs/pages/versions/v41.0.0/sdk/amplitude.md index 7d45965a6affc..5b654c478a550 100644 --- a/docs/pages/versions/v41.0.0/sdk/amplitude.md +++ b/docs/pages/versions/v41.0.0/sdk/amplitude.md @@ -6,7 +6,7 @@ sourceCodeUrl: 'https://github.com/expo/expo/tree/sdk-41/packages/expo-analytics import InstallSection from '~/components/plugins/InstallSection'; import PlatformsSection from '~/components/plugins/PlatformsSection'; -**`expo-analytics-amplitude`** provides access to [Amplitude](https://amplitude.com/) mobile analytics which allows you track and log various events and data. This module wraps Amplitude's [iOS](https://github.com/amplitude/Amplitude-iOS) and [Android](https://github.com/amplitude/Amplitude-Android) SDKs. For a great example of usage, see the [Expo app source code](https://github.com/expo/expo/blob/master/home/api/Analytics.ts). +**`expo-analytics-amplitude`** provides access to [Amplitude](https://amplitude.com/) mobile analytics which allows you track and log various events and data. This module wraps Amplitude's [iOS](https://github.com/amplitude/Amplitude-iOS) and [Android](https://github.com/amplitude/Amplitude-Android) SDKs. For a great example of usage, see the [Expo app source code](https://github.com/expo/expo/tree/main/home/api/Analytics.ts). **Please note:** Session tracking may not work correctly when running Experiences in the main Expo app. It will work correctly if you create a standalone app. For example, the version logged when running experiences in the Expo app will be the [Expo app version](constants.md#constantsexpoversion). Whereas in standalone apps, the version set in **app.json** is used. For more information see [this issue on GitHub](https://github.com/expo/expo/issues/4720). diff --git a/docs/pages/versions/v41.0.0/sdk/background-fetch.md b/docs/pages/versions/v41.0.0/sdk/background-fetch.md index 15bfa5f03a45a..77d71cc83e13e 100644 --- a/docs/pages/versions/v41.0.0/sdk/background-fetch.md +++ b/docs/pages/versions/v41.0.0/sdk/background-fetch.md @@ -15,7 +15,7 @@ BackgroundFetch only works when the app is backgrounded, not if the app was term ## Installation -For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-background-fetch`. To use it in [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/master/packages/expo-background-fetch); +For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-background-fetch`. To use it in [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/main/packages/expo-background-fetch); ## Configuration diff --git a/docs/pages/versions/v41.0.0/sdk/google-sign-in.md b/docs/pages/versions/v41.0.0/sdk/google-sign-in.md index 209e7cd460708..392e6d9cc961e 100644 --- a/docs/pages/versions/v41.0.0/sdk/google-sign-in.md +++ b/docs/pages/versions/v41.0.0/sdk/google-sign-in.md @@ -11,7 +11,7 @@ import PlatformsSection from '~/components/plugins/PlatformsSection'; ## Installation -For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-google-sign-in`. To use it in a [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/master/packages/expo-google-sign-in). +For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-google-sign-in`. To use it in a [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/main/packages/expo-google-sign-in). ## Configuration diff --git a/docs/pages/versions/v41.0.0/sdk/in-app-purchases.md b/docs/pages/versions/v41.0.0/sdk/in-app-purchases.md index 2d476118249f4..9da5fb1677781 100644 --- a/docs/pages/versions/v41.0.0/sdk/in-app-purchases.md +++ b/docs/pages/versions/v41.0.0/sdk/in-app-purchases.md @@ -13,7 +13,7 @@ import PlatformsSection from '~/components/plugins/PlatformsSection'; This module is currently only available in the [bare](../../../introduction/managed-vs-bare.md#bare-workflow) workflow. -You must ensure that you have [installed and configured the `react-native-unimodules` package](https://github.com/expo/expo/tree/master/packages/react-native-unimodules) before continuing. +You must ensure that you have [installed and configured the `react-native-unimodules` package](https://github.com/expo/expo/tree/main/packages/react-native-unimodules) before continuing. ### Add the package to your dependencies diff --git a/docs/pages/versions/v41.0.0/sdk/intent-launcher.md b/docs/pages/versions/v41.0.0/sdk/intent-launcher.md index 5aa7cc4caea1e..acbf72cce1948 100644 --- a/docs/pages/versions/v41.0.0/sdk/intent-launcher.md +++ b/docs/pages/versions/v41.0.0/sdk/intent-launcher.md @@ -37,7 +37,7 @@ Starts the specified activity. The method will return a promise which resolves w #### Arguments -- **activityAction (_string_)** -- The action to be performed, e.g. `IntentLauncher.ACTION_WIRELESS_SETTINGS`. There are a few pre-defined constants you can use for this parameter. You can find them at [expo-intent-launcher/src/IntentLauncher.ts](https://github.com/expo/expo/blob/master/packages/expo-intent-launcher/src/IntentLauncher.ts). **Required** +- **activityAction (_string_)** -- The action to be performed, e.g. `IntentLauncher.ACTION_WIRELESS_SETTINGS`. There are a few pre-defined constants you can use for this parameter. You can find them at [expo-intent-launcher/src/IntentLauncher.ts](https://github.com/expo/expo/tree/main/packages/expo-intent-launcher/src/IntentLauncher.ts). **Required** - **intentParams ([`IntentLauncherParams`](#typeintentlauncherparams))** -- An object of intent parameters. #### Returns diff --git a/docs/pages/versions/v41.0.0/sdk/screen-orientation.md b/docs/pages/versions/v41.0.0/sdk/screen-orientation.md index dcb17bdc0e801..7304822dc7925 100644 --- a/docs/pages/versions/v41.0.0/sdk/screen-orientation.md +++ b/docs/pages/versions/v41.0.0/sdk/screen-orientation.md @@ -252,7 +252,7 @@ An enum representing the lock policies that can be applied on the web platform, ### `Subscription` -A [subscription object](https://github.com/expo/expo/blob/master/packages/%40unimodules/react-native-adapter/src/EventEmitter.ts#L13). +A [subscription object](https://github.com/expo/expo/tree/main/packages/%40unimodules/react-native-adapter/src/EventEmitter.ts#L13). ## Function Types diff --git a/docs/pages/versions/v41.0.0/sdk/task-manager.md b/docs/pages/versions/v41.0.0/sdk/task-manager.md index a76a1f9decba3..69d9286b315e9 100644 --- a/docs/pages/versions/v41.0.0/sdk/task-manager.md +++ b/docs/pages/versions/v41.0.0/sdk/task-manager.md @@ -15,7 +15,7 @@ Some features of this module are used by other modules under the hood. Here is a ## Installation -For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-task-manager`. To use it in [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/master/packages/expo-task-manager); +For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-task-manager`. To use it in [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/main/packages/expo-task-manager); ## Configuration for standalone apps diff --git a/docs/pages/versions/v42.0.0/sdk/amplitude.md b/docs/pages/versions/v42.0.0/sdk/amplitude.md index 0a73a7e34d62e..22b46d47c0302 100644 --- a/docs/pages/versions/v42.0.0/sdk/amplitude.md +++ b/docs/pages/versions/v42.0.0/sdk/amplitude.md @@ -6,7 +6,7 @@ sourceCodeUrl: 'https://github.com/expo/expo/tree/sdk-42/packages/expo-analytics import InstallSection from '~/components/plugins/InstallSection'; import PlatformsSection from '~/components/plugins/PlatformsSection'; -**`expo-analytics-amplitude`** provides access to [Amplitude](https://amplitude.com/) mobile analytics which allows you track and log various events and data. This module wraps Amplitude's [iOS](https://github.com/amplitude/Amplitude-iOS) and [Android](https://github.com/amplitude/Amplitude-Android) SDKs. For a great example of usage, see the [Expo app source code](https://github.com/expo/expo/blob/master/home/api/Analytics.ts). +**`expo-analytics-amplitude`** provides access to [Amplitude](https://amplitude.com/) mobile analytics which allows you track and log various events and data. This module wraps Amplitude's [iOS](https://github.com/amplitude/Amplitude-iOS) and [Android](https://github.com/amplitude/Amplitude-Android) SDKs. For a great example of usage, see the [Expo app source code](https://github.com/expo/expo/tree/main/home/api/Analytics.ts). **Please note:** Session tracking may not work correctly when running Experiences in the main Expo app. It will work correctly if you create a standalone app. For example, the version logged when running experiences in the Expo app will be the [Expo app version](constants.md#constantsexpoversion). Whereas in standalone apps, the version set in **app.json** is used. For more information see [this issue on GitHub](https://github.com/expo/expo/issues/4720). diff --git a/docs/pages/versions/v42.0.0/sdk/background-fetch.md b/docs/pages/versions/v42.0.0/sdk/background-fetch.md index fd628834c4400..e427d2b9b492c 100644 --- a/docs/pages/versions/v42.0.0/sdk/background-fetch.md +++ b/docs/pages/versions/v42.0.0/sdk/background-fetch.md @@ -18,7 +18,7 @@ import ImageSpotlight from '~/components/plugins/ImageSpotlight' ## Installation -For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-background-fetch`. To use it in [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/master/packages/expo-background-fetch); +For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-background-fetch`. To use it in [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/main/packages/expo-background-fetch); ## Usage diff --git a/docs/pages/versions/v42.0.0/sdk/google-sign-in.md b/docs/pages/versions/v42.0.0/sdk/google-sign-in.md index 9927a31e87a84..9490b0dec2b43 100644 --- a/docs/pages/versions/v42.0.0/sdk/google-sign-in.md +++ b/docs/pages/versions/v42.0.0/sdk/google-sign-in.md @@ -11,7 +11,7 @@ import PlatformsSection from '~/components/plugins/PlatformsSection'; ## Installation -For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-google-sign-in`. To use it in a [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/master/packages/expo-google-sign-in). +For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-google-sign-in`. To use it in a [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/main/packages/expo-google-sign-in). ## Configuration diff --git a/docs/pages/versions/v42.0.0/sdk/in-app-purchases.md b/docs/pages/versions/v42.0.0/sdk/in-app-purchases.md index 0da7038bb9ce5..c7004c6d8f5ce 100644 --- a/docs/pages/versions/v42.0.0/sdk/in-app-purchases.md +++ b/docs/pages/versions/v42.0.0/sdk/in-app-purchases.md @@ -13,7 +13,7 @@ import PlatformsSection from '~/components/plugins/PlatformsSection'; This module is currently only available in the [bare](../../../introduction/managed-vs-bare.md#bare-workflow) workflow. -You must ensure that you have [installed and configured the `react-native-unimodules` package](https://github.com/expo/expo/tree/master/packages/react-native-unimodules) before continuing. +You must ensure that you have [installed and configured the `react-native-unimodules` package](https://github.com/expo/expo/tree/main/packages/react-native-unimodules) before continuing. ### Add the package to your dependencies diff --git a/docs/pages/versions/v42.0.0/sdk/intent-launcher.md b/docs/pages/versions/v42.0.0/sdk/intent-launcher.md index e8315443afa03..13fe109f2ee32 100644 --- a/docs/pages/versions/v42.0.0/sdk/intent-launcher.md +++ b/docs/pages/versions/v42.0.0/sdk/intent-launcher.md @@ -37,7 +37,7 @@ Starts the specified activity. The method will return a promise which resolves w #### Arguments -- **activityAction (_string_)** -- The action to be performed, e.g. `IntentLauncher.ACTION_WIRELESS_SETTINGS`. There are a few pre-defined constants you can use for this parameter. You can find them at [expo-intent-launcher/src/IntentLauncher.ts](https://github.com/expo/expo/blob/master/packages/expo-intent-launcher/src/IntentLauncher.ts). **Required** +- **activityAction (_string_)** -- The action to be performed, e.g. `IntentLauncher.ACTION_WIRELESS_SETTINGS`. There are a few pre-defined constants you can use for this parameter. You can find them at [expo-intent-launcher/src/IntentLauncher.ts](https://github.com/expo/expo/tree/main/packages/expo-intent-launcher/src/IntentLauncher.ts). **Required** - **intentParams ([`IntentLauncherParams`](#typeintentlauncherparams))** -- An object of intent parameters. #### Returns diff --git a/docs/pages/versions/v42.0.0/sdk/screen-orientation.md b/docs/pages/versions/v42.0.0/sdk/screen-orientation.md index 04741b9482344..d776dc52a9d62 100644 --- a/docs/pages/versions/v42.0.0/sdk/screen-orientation.md +++ b/docs/pages/versions/v42.0.0/sdk/screen-orientation.md @@ -252,7 +252,7 @@ An enum representing the lock policies that can be applied on the web platform, ### `Subscription` -A [subscription object](https://github.com/expo/expo/blob/master/packages/%40unimodules/react-native-adapter/src/EventEmitter.ts#L13). +A [subscription object](https://github.com/expo/expo/tree/main/packages/%40unimodules/react-native-adapter/src/EventEmitter.ts#L13). ## Function Types diff --git a/docs/pages/versions/v42.0.0/sdk/task-manager.md b/docs/pages/versions/v42.0.0/sdk/task-manager.md index 47820b3fbe6c5..c4fcf04e493aa 100644 --- a/docs/pages/versions/v42.0.0/sdk/task-manager.md +++ b/docs/pages/versions/v42.0.0/sdk/task-manager.md @@ -17,7 +17,7 @@ Some features of this module are used by other modules under the hood. Here is a ## Installation -For [managed](/introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-task-manager`. To use it in [bare](/introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/master/packages/expo-task-manager); +For [managed](/introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-task-manager`. To use it in [bare](/introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/main/packages/expo-task-manager); ## Configuration for standalone apps diff --git a/docs/pages/versions/v43.0.0/sdk/admob.md b/docs/pages/versions/v43.0.0/sdk/admob.md index 109ccb814acaf..e80c5bdf398ac 100644 --- a/docs/pages/versions/v43.0.0/sdk/admob.md +++ b/docs/pages/versions/v43.0.0/sdk/admob.md @@ -54,7 +54,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-ads-admob` repository](https://github.com/expo/expo/tree/master/packages/expo-ads-admob#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-ads-admob` repository](https://github.com/expo/expo/tree/main/packages/expo-ads-admob#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/v43.0.0/sdk/amplitude.md b/docs/pages/versions/v43.0.0/sdk/amplitude.md index 83af2773f8b50..a370a8b0da833 100644 --- a/docs/pages/versions/v43.0.0/sdk/amplitude.md +++ b/docs/pages/versions/v43.0.0/sdk/amplitude.md @@ -7,7 +7,7 @@ import APISection from '~/components/plugins/APISection'; import InstallSection from '~/components/plugins/InstallSection'; import PlatformsSection from '~/components/plugins/PlatformsSection'; -**`expo-analytics-amplitude`** provides access to [Amplitude](https://amplitude.com/) mobile analytics which allows you track and log various events and data. This module wraps Amplitude's [iOS](https://github.com/amplitude/Amplitude-iOS) and [Android](https://github.com/amplitude/Amplitude-Android) SDKs. For a great example of usage, see the [Expo app source code](https://github.com/expo/expo/blob/master/home/api/Analytics.ts). +**`expo-analytics-amplitude`** provides access to [Amplitude](https://amplitude.com/) mobile analytics which allows you track and log various events and data. This module wraps Amplitude's [iOS](https://github.com/amplitude/Amplitude-iOS) and [Android](https://github.com/amplitude/Amplitude-Android) SDKs. For a great example of usage, see the [Expo app source code](https://github.com/expo/expo/tree/main/home/api/Analytics.ts). **Please note:** Session tracking may not work correctly when running Experiences in the main Expo app. It will work correctly if you create a standalone app. For example, the version logged when running experiences in the Expo app will be the [Expo app version](constants.md#constantsexpoversion). Whereas in standalone apps, the version set in **app.json** is used. For more information see [this issue on GitHub](https://github.com/expo/expo/issues/4720). diff --git a/docs/pages/versions/v43.0.0/sdk/background-fetch.md b/docs/pages/versions/v43.0.0/sdk/background-fetch.md index 51b4ce4e20fcc..de92a2fd15556 100644 --- a/docs/pages/versions/v43.0.0/sdk/background-fetch.md +++ b/docs/pages/versions/v43.0.0/sdk/background-fetch.md @@ -18,7 +18,7 @@ import ImageSpotlight from '~/components/plugins/ImageSpotlight' ## Installation -For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-background-fetch`. To use it in [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/master/packages/expo-background-fetch); +For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-background-fetch`. To use it in [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/main/packages/expo-background-fetch); ## Usage diff --git a/docs/pages/versions/v43.0.0/sdk/facebook-ads.md b/docs/pages/versions/v43.0.0/sdk/facebook-ads.md index d81fece40c724..556165269ba0b 100644 --- a/docs/pages/versions/v43.0.0/sdk/facebook-ads.md +++ b/docs/pages/versions/v43.0.0/sdk/facebook-ads.md @@ -42,7 +42,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-ads-facebook` repository](https://github.com/expo/expo/tree/master/packages/expo-ads-facebook#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-ads-facebook` repository](https://github.com/expo/expo/tree/main/packages/expo-ads-facebook#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/v43.0.0/sdk/facebook.md b/docs/pages/versions/v43.0.0/sdk/facebook.md index 5324784382b0b..caeabd8778cc5 100644 --- a/docs/pages/versions/v43.0.0/sdk/facebook.md +++ b/docs/pages/versions/v43.0.0/sdk/facebook.md @@ -77,7 +77,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-facebook` repository](https://github.com/expo/expo/tree/master/packages/expo-facebook#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-facebook` repository](https://github.com/expo/expo/tree/main/packages/expo-facebook#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/v43.0.0/sdk/filesystem.md b/docs/pages/versions/v43.0.0/sdk/filesystem.md index 6d1097615a157..73c91396a2b1a 100644 --- a/docs/pages/versions/v43.0.0/sdk/filesystem.md +++ b/docs/pages/versions/v43.0.0/sdk/filesystem.md @@ -34,7 +34,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-file-system` repository](https://github.com/expo/expo/tree/master/packages/expo-file-system#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-file-system` repository](https://github.com/expo/expo/tree/main/packages/expo-file-system#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/v43.0.0/sdk/google-sign-in.md b/docs/pages/versions/v43.0.0/sdk/google-sign-in.md index 55a9a5e348410..88e40f6b84960 100644 --- a/docs/pages/versions/v43.0.0/sdk/google-sign-in.md +++ b/docs/pages/versions/v43.0.0/sdk/google-sign-in.md @@ -13,7 +13,7 @@ import PlatformsSection from '~/components/plugins/PlatformsSection'; ## Installation -For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-google-sign-in`. To use it in a [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/master/packages/expo-google-sign-in). +For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-google-sign-in`. To use it in a [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/main/packages/expo-google-sign-in). ## Configuration diff --git a/docs/pages/versions/v43.0.0/sdk/imagepicker.md b/docs/pages/versions/v43.0.0/sdk/imagepicker.md index 87d884a8356ae..bf756383dc24a 100644 --- a/docs/pages/versions/v43.0.0/sdk/imagepicker.md +++ b/docs/pages/versions/v43.0.0/sdk/imagepicker.md @@ -38,7 +38,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-image-picker` repository](https://github.com/expo/expo/tree/master/packages/expo-image-picker#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-image-picker` repository](https://github.com/expo/expo/tree/main/packages/expo-image-picker#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/v43.0.0/sdk/media-library.md b/docs/pages/versions/v43.0.0/sdk/media-library.md index ddabf9a3f1452..f93cd02fcf452 100644 --- a/docs/pages/versions/v43.0.0/sdk/media-library.md +++ b/docs/pages/versions/v43.0.0/sdk/media-library.md @@ -31,7 +31,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-media-library` repository](https://github.com/expo/expo/tree/master/packages/expo-media-library#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-media-library` repository](https://github.com/expo/expo/tree/main/packages/expo-media-library#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/v43.0.0/sdk/notifications.md b/docs/pages/versions/v43.0.0/sdk/notifications.md index bf67756c30420..6383f3808b39b 100644 --- a/docs/pages/versions/v43.0.0/sdk/notifications.md +++ b/docs/pages/versions/v43.0.0/sdk/notifications.md @@ -48,7 +48,7 @@ Learn how to configure notifications with the [app manifest `notification` prope -Learn how to configure the native projects in the [installation instructions in the `expo-notifications` repository](https://github.com/expo/expo/tree/master/packages/expo-notifications#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-notifications` repository](https://github.com/expo/expo/tree/main/packages/expo-notifications#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/v43.0.0/sdk/task-manager.md b/docs/pages/versions/v43.0.0/sdk/task-manager.md index 7138811c2c9d7..4f1ebf7aaa3a0 100644 --- a/docs/pages/versions/v43.0.0/sdk/task-manager.md +++ b/docs/pages/versions/v43.0.0/sdk/task-manager.md @@ -17,7 +17,7 @@ Some features of this module are used by other modules under the hood. Here is a ## Installation -For [managed](/introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-task-manager`. To use it in [bare](/introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/master/packages/expo-task-manager); +For [managed](/introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-task-manager`. To use it in [bare](/introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/main/packages/expo-task-manager); ## Configuration for standalone apps diff --git a/docs/pages/versions/v43.0.0/sdk/tracking-transparency.md b/docs/pages/versions/v43.0.0/sdk/tracking-transparency.md index a774813930292..a82fd221a1c4e 100644 --- a/docs/pages/versions/v43.0.0/sdk/tracking-transparency.md +++ b/docs/pages/versions/v43.0.0/sdk/tracking-transparency.md @@ -32,7 +32,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-tracking-transparency` repository](https://github.com/expo/expo/tree/master/packages/expo-tracking-transparency#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-tracking-transparency` repository](https://github.com/expo/expo/tree/main/packages/expo-tracking-transparency#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/v44.0.0/sdk/admob.md b/docs/pages/versions/v44.0.0/sdk/admob.md index 7d8171db7ff3f..4aafd9dabc109 100644 --- a/docs/pages/versions/v44.0.0/sdk/admob.md +++ b/docs/pages/versions/v44.0.0/sdk/admob.md @@ -54,7 +54,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-ads-admob` repository](https://github.com/expo/expo/tree/master/packages/expo-ads-admob#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-ads-admob` repository](https://github.com/expo/expo/tree/main/packages/expo-ads-admob#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/v44.0.0/sdk/amplitude.md b/docs/pages/versions/v44.0.0/sdk/amplitude.md index 6441a65b304fe..a32da1baa4f8e 100644 --- a/docs/pages/versions/v44.0.0/sdk/amplitude.md +++ b/docs/pages/versions/v44.0.0/sdk/amplitude.md @@ -7,7 +7,7 @@ import APISection from '~/components/plugins/APISection'; import InstallSection from '~/components/plugins/InstallSection'; import PlatformsSection from '~/components/plugins/PlatformsSection'; -**`expo-analytics-amplitude`** provides access to [Amplitude](https://amplitude.com/) mobile analytics which allows you track and log various events and data. This module wraps Amplitude's [iOS](https://github.com/amplitude/Amplitude-iOS) and [Android](https://github.com/amplitude/Amplitude-Android) SDKs. For a great example of usage, see the [Expo app source code](https://github.com/expo/expo/blob/master/home/api/Analytics.ts). +**`expo-analytics-amplitude`** provides access to [Amplitude](https://amplitude.com/) mobile analytics which allows you track and log various events and data. This module wraps Amplitude's [iOS](https://github.com/amplitude/Amplitude-iOS) and [Android](https://github.com/amplitude/Amplitude-Android) SDKs. For a great example of usage, see the [Expo app source code](https://github.com/expo/expo/tree/main/home/api/Analytics.ts). **Please note:** Session tracking may not work correctly when running Experiences in the main Expo app. It will work correctly if you create a standalone app. For example, the version logged when running experiences in the Expo app will be the [Expo app version](constants.md#constantsexpoversion). Whereas in standalone apps, the version set in **app.json** is used. For more information see [this issue on GitHub](https://github.com/expo/expo/issues/4720). diff --git a/docs/pages/versions/v44.0.0/sdk/background-fetch.md b/docs/pages/versions/v44.0.0/sdk/background-fetch.md index ac13c98a8890a..2fb938a5e1606 100644 --- a/docs/pages/versions/v44.0.0/sdk/background-fetch.md +++ b/docs/pages/versions/v44.0.0/sdk/background-fetch.md @@ -18,7 +18,7 @@ import ImageSpotlight from '~/components/plugins/ImageSpotlight' ## Installation -For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-background-fetch`. To use it in [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/master/packages/expo-background-fetch); +For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-background-fetch`. To use it in [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/main/packages/expo-background-fetch); ## Usage diff --git a/docs/pages/versions/v44.0.0/sdk/facebook-ads.md b/docs/pages/versions/v44.0.0/sdk/facebook-ads.md index 85f3ce81a786e..3c4710132ac43 100644 --- a/docs/pages/versions/v44.0.0/sdk/facebook-ads.md +++ b/docs/pages/versions/v44.0.0/sdk/facebook-ads.md @@ -42,7 +42,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-ads-facebook` repository](https://github.com/expo/expo/tree/master/packages/expo-ads-facebook#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-ads-facebook` repository](https://github.com/expo/expo/tree/main/packages/expo-ads-facebook#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/v44.0.0/sdk/facebook.md b/docs/pages/versions/v44.0.0/sdk/facebook.md index 2f0d7281cf86e..1dffd95f90fc9 100644 --- a/docs/pages/versions/v44.0.0/sdk/facebook.md +++ b/docs/pages/versions/v44.0.0/sdk/facebook.md @@ -77,7 +77,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-facebook` repository](https://github.com/expo/expo/tree/master/packages/expo-facebook#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-facebook` repository](https://github.com/expo/expo/tree/main/packages/expo-facebook#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/v44.0.0/sdk/filesystem.md b/docs/pages/versions/v44.0.0/sdk/filesystem.md index 83444d8ac19ee..406332167af27 100644 --- a/docs/pages/versions/v44.0.0/sdk/filesystem.md +++ b/docs/pages/versions/v44.0.0/sdk/filesystem.md @@ -34,7 +34,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-file-system` repository](https://github.com/expo/expo/tree/master/packages/expo-file-system#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-file-system` repository](https://github.com/expo/expo/tree/main/packages/expo-file-system#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/v44.0.0/sdk/gl-view.md b/docs/pages/versions/v44.0.0/sdk/gl-view.md index 6138980c20df5..4d9d7a068e31c 100644 --- a/docs/pages/versions/v44.0.0/sdk/gl-view.md +++ b/docs/pages/versions/v44.0.0/sdk/gl-view.md @@ -223,7 +223,7 @@ export default function App() { -For more in-depth example on how to use `expo-gl` with Reanimated and Gesture Handler you can check [this example](https://github.com/expo/expo/blob/master/apps/native-component-list/src/screens/GL/GLReanimatedExample.tsx). +For more in-depth example on how to use `expo-gl` with Reanimated and Gesture Handler you can check [this example](https://github.com/expo/expo/tree/main/apps/native-component-list/src/screens/GL/GLReanimatedExample.tsx). ### Limitations diff --git a/docs/pages/versions/v44.0.0/sdk/google-sign-in.md b/docs/pages/versions/v44.0.0/sdk/google-sign-in.md index c38fefc0c9e66..74b4bc2306e86 100644 --- a/docs/pages/versions/v44.0.0/sdk/google-sign-in.md +++ b/docs/pages/versions/v44.0.0/sdk/google-sign-in.md @@ -13,7 +13,7 @@ import PlatformsSection from '~/components/plugins/PlatformsSection'; ## Installation -For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-google-sign-in`. To use it in a [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/master/packages/expo-google-sign-in). +For [managed](../../../introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-google-sign-in`. To use it in a [bare](../../../introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/main/packages/expo-google-sign-in). ## Configuration diff --git a/docs/pages/versions/v44.0.0/sdk/imagepicker.md b/docs/pages/versions/v44.0.0/sdk/imagepicker.md index f5ff1af53361e..1e5120b9cc846 100644 --- a/docs/pages/versions/v44.0.0/sdk/imagepicker.md +++ b/docs/pages/versions/v44.0.0/sdk/imagepicker.md @@ -39,7 +39,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-image-picker` repository](https://github.com/expo/expo/tree/master/packages/expo-image-picker#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-image-picker` repository](https://github.com/expo/expo/tree/main/packages/expo-image-picker#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/v44.0.0/sdk/media-library.md b/docs/pages/versions/v44.0.0/sdk/media-library.md index 65ce6f39ef023..df48e0101ffc2 100644 --- a/docs/pages/versions/v44.0.0/sdk/media-library.md +++ b/docs/pages/versions/v44.0.0/sdk/media-library.md @@ -31,7 +31,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-media-library` repository](https://github.com/expo/expo/tree/master/packages/expo-media-library#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-media-library` repository](https://github.com/expo/expo/tree/main/packages/expo-media-library#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/v44.0.0/sdk/notifications.md b/docs/pages/versions/v44.0.0/sdk/notifications.md index 3f0d8b806bca9..a0dbe65e5641c 100644 --- a/docs/pages/versions/v44.0.0/sdk/notifications.md +++ b/docs/pages/versions/v44.0.0/sdk/notifications.md @@ -48,7 +48,7 @@ Learn how to configure notifications with the [app manifest `notification` prope -Learn how to configure the native projects in the [installation instructions in the `expo-notifications` repository](https://github.com/expo/expo/tree/master/packages/expo-notifications#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-notifications` repository](https://github.com/expo/expo/tree/main/packages/expo-notifications#installation-in-bare-react-native-projects). diff --git a/docs/pages/versions/v44.0.0/sdk/task-manager.md b/docs/pages/versions/v44.0.0/sdk/task-manager.md index c40f401336c65..dc3c87d115fc4 100644 --- a/docs/pages/versions/v44.0.0/sdk/task-manager.md +++ b/docs/pages/versions/v44.0.0/sdk/task-manager.md @@ -17,7 +17,7 @@ Some features of this module are used by other modules under the hood. Here is a ## Installation -For [managed](/introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-task-manager`. To use it in [bare](/introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/master/packages/expo-task-manager); +For [managed](/introduction/managed-vs-bare.md#managed-workflow) apps, you'll need to run `expo install expo-task-manager`. To use it in [bare](/introduction/managed-vs-bare.md#bare-workflow) React Native app, follow its [installation instructions](https://github.com/expo/expo/tree/main/packages/expo-task-manager); ## Configuration for standalone apps diff --git a/docs/pages/versions/v44.0.0/sdk/tracking-transparency.md b/docs/pages/versions/v44.0.0/sdk/tracking-transparency.md index 5e14147938f2a..466d334303230 100644 --- a/docs/pages/versions/v44.0.0/sdk/tracking-transparency.md +++ b/docs/pages/versions/v44.0.0/sdk/tracking-transparency.md @@ -32,7 +32,7 @@ You can configure [the permissions for this library](#permissions) using [`ios.i -Learn how to configure the native projects in the [installation instructions in the `expo-tracking-transparency` repository](https://github.com/expo/expo/tree/master/packages/expo-tracking-transparency#installation-in-bare-react-native-projects). +Learn how to configure the native projects in the [installation instructions in the `expo-tracking-transparency` repository](https://github.com/expo/expo/tree/main/packages/expo-tracking-transparency#installation-in-bare-react-native-projects). diff --git a/docs/pages/workflow/snack.md b/docs/pages/workflow/snack.md index 0eab044e8ce44..d7bd5ac984eac 100644 --- a/docs/pages/workflow/snack.md +++ b/docs/pages/workflow/snack.md @@ -31,7 +31,7 @@ Snacks can also be embedded as "live" code previews, like the [React Native docs
-It's also possible to format the code however you like on your website and send the code to run on Snack when requested by the user. See [SnackInline](https://github.com/expo/expo/blob/master/docs/components/plugins/SnackInline.tsx) for how we implement this in the Expo documentation. +It's also possible to format the code however you like on your website and send the code to run on Snack when requested by the user. See [SnackInline](https://github.com/expo/expo/tree/main/docs/components/plugins/SnackInline.tsx) for how we implement this in the Expo documentation. diff --git a/docs/pages/workflow/upgrading-expo-sdk-walkthrough.md b/docs/pages/workflow/upgrading-expo-sdk-walkthrough.md index e794b4f32316d..2cd0d0cf090e8 100644 --- a/docs/pages/workflow/upgrading-expo-sdk-walkthrough.md +++ b/docs/pages/workflow/upgrading-expo-sdk-walkthrough.md @@ -54,7 +54,7 @@ Expo maintains ~6 months of backwards compatibility. Once an SDK version has bee #### Notes -- There are a few small breaking API changes with this release. See the [changelog](https://github.com/expo/expo/blob/master/CHANGELOG.md) for the full list. +- There are a few small breaking API changes with this release. See the [changelog](https://github.com/expo/expo/tree/main/CHANGELOG.md) for the full list. ## SDK 34 @@ -67,7 +67,7 @@ Expo maintains ~6 months of backwards compatibility. Once an SDK version has bee #### Notes - You'll need to update your imports to match the new modular format. For example, if you currently have `import { FileSystem } from 'expo';`, you'll need to run `expo install expo-file-system` and then change your import to `import * as FileSystem from 'expo-file-system';`. We provide a [codemod](https://www.npmjs.com/package/expo-codemod) to help automate this. -- There are a few small breaking API changes with this release. See the [changelog](https://github.com/expo/expo/blob/master/CHANGELOG.md) for the full list. +- There are a few small breaking API changes with this release. See the [changelog](https://github.com/expo/expo/tree/main/CHANGELOG.md) for the full list. ## SDK 33 @@ -91,7 +91,7 @@ Expo maintains ~6 months of backwards compatibility. Once an SDK version has bee #### Notes - You'll need to update your imports to match the new modular format. For example, if you currently have `import { FileSystem } from 'expo';`, you'll need to run `expo install expo-file-system` and then change your import to `import * as FileSystem from 'expo-file-system';`. We provide a [codemod](https://www.npmjs.com/package/expo-codemod) to help automate this. -- There are several small breaking API changes with this release. See the [changelog](https://github.com/expo/expo/blob/master/CHANGELOG.md) for the full list. +- There are several small breaking API changes with this release. See the [changelog](https://github.com/expo/expo/tree/main/CHANGELOG.md) for the full list. ## SDK 32 @@ -125,7 +125,7 @@ module.exports = function (api) { #### Notes -- There are several small breaking API changes with this release. See the [changelog](https://github.com/expo/expo/blob/master/CHANGELOG.md) for the full list. +- There are several small breaking API changes with this release. See the [changelog](https://github.com/expo/expo/tree/main/CHANGELOG.md) for the full list. ## SDK 31 @@ -148,7 +148,7 @@ module.exports = function (api) { #### Notes -- There are several small breaking API changes with this release. See the [changelog](https://github.com/expo/expo/blob/master/CHANGELOG.md#3100-partial-changelog) for the full list. +- There are several small breaking API changes with this release. See the [changelog](https://github.com/expo/expo/tree/main/CHANGELOG.md#3100-partial-changelog) for the full list. ## SDK 30 diff --git a/docs/public/static/data/unversioned/expo-intent-launcher.json b/docs/public/static/data/unversioned/expo-intent-launcher.json index 45d48071e6131..15563a28b221d 100644 --- a/docs/public/static/data/unversioned/expo-intent-launcher.json +++ b/docs/public/static/data/unversioned/expo-intent-launcher.json @@ -1 +1 @@ -{"name":"expo-intent-launcher","kind":1,"kindString":"Project","originalName":"","children":[{"name":"ActivityAction","kind":8,"kindString":"Enumeration","comment":{"shortText":"Constants are from the source code of [Settings provider](https://developer.android.com/reference/android/provider/Settings)."},"children":[{"name":"ACCESSIBILITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACCESSIBILITY_SETTINGS\""},{"name":"ADD_ACCOUNT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ADD_ACCOUNT_SETTINGS\""},{"name":"AIRPLANE_MODE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.AIRPLANE_MODE_SETTINGS\""},{"name":"APN_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APN_SETTINGS\""},{"name":"APPLICATION_DETAILS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_DETAILS_SETTINGS\""},{"name":"APPLICATION_DEVELOPMENT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_DEVELOPMENT_SETTINGS\""},{"name":"APPLICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_SETTINGS\""},{"name":"APP_NOTIFICATION_REDACTION","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_APP_NOTIFICATION_REDACTION\""},{"name":"APP_NOTIFICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APP_NOTIFICATION_SETTINGS\""},{"name":"APP_OPS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APP_OPS_SETTINGS\""},{"name":"BATTERY_SAVER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.BATTERY_SAVER_SETTINGS\""},{"name":"BLUETOOTH_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.BLUETOOTH_SETTINGS\""},{"name":"CAPTIONING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.CAPTIONING_SETTINGS\""},{"name":"CAST_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.CAST_SETTINGS\""},{"name":"CONDITION_PROVIDER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_CONDITION_PROVIDER_SETTINGS\""},{"name":"DATA_ROAMING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DATA_ROAMING_SETTINGS\""},{"name":"DATE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DATE_SETTINGS\""},{"name":"DEVICE_INFO_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DEVICE_INFO_SETTINGS\""},{"name":"DEVICE_NAME","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DEVICE_NAME\""},{"name":"DISPLAY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DISPLAY_SETTINGS\""},{"name":"DREAM_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DREAM_SETTINGS\""},{"name":"HARD_KEYBOARD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.HARD_KEYBOARD_SETTINGS\""},{"name":"HOME_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.HOME_SETTINGS\""},{"name":"IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS\""},{"name":"IGNORE_BATTERY_OPTIMIZATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS\""},{"name":"INPUT_METHOD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INPUT_METHOD_SETTINGS\""},{"name":"INPUT_METHOD_SUBTYPE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INPUT_METHOD_SUBTYPE_SETTINGS\""},{"name":"INTERNAL_STORAGE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INTERNAL_STORAGE_SETTINGS\""},{"name":"LOCALE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.LOCALE_SETTINGS\""},{"name":"LOCATION_SOURCE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.LOCATION_SOURCE_SETTINGS\""},{"name":"MANAGE_ALL_APPLICATIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS\""},{"name":"MANAGE_APPLICATIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_APPLICATIONS_SETTINGS\""},{"name":"MANAGE_DEFAULT_APPS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_DEFAULT_APPS_SETTINGS\""},{"name":"MEMORY_CARD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MEMORY_CARD_SETTINGS\""},{"name":"MONITORING_CERT_INFO","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MONITORING_CERT_INFO\""},{"name":"NETWORK_OPERATOR_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NETWORK_OPERATOR_SETTINGS\""},{"name":"NFCSHARING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFCSHARING_SETTINGS\""},{"name":"NFC_PAYMENT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFC_PAYMENT_SETTINGS\""},{"name":"NFC_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFC_SETTINGS\""},{"name":"NIGHT_DISPLAY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NIGHT_DISPLAY_SETTINGS\""},{"name":"NOTIFICATION_LISTENER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS\""},{"name":"NOTIFICATION_POLICY_ACCESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS\""},{"name":"NOTIFICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NOTIFICATION_SETTINGS\""},{"name":"PAIRING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.PAIRING_SETTINGS\""},{"name":"PRINT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_PRINT_SETTINGS\""},{"name":"PRIVACY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.PRIVACY_SETTINGS\""},{"name":"QUICK_LAUNCH_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.QUICK_LAUNCH_SETTINGS\""},{"name":"REQUEST_IGNORE_BATTERY_OPTIMIZATIONS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS\""},{"name":"SECURITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SECURITY_SETTINGS\""},{"name":"SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SETTINGS\""},{"name":"SHOW_ADMIN_SUPPORT_DETAILS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_ADMIN_SUPPORT_DETAILS\""},{"name":"SHOW_INPUT_METHOD_PICKER","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_INPUT_METHOD_PICKER\""},{"name":"SHOW_REGULATORY_INFO","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_REGULATORY_INFO\""},{"name":"SHOW_REMOTE_BUGREPORT_DIALOG","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_REMOTE_BUGREPORT_DIALOG\""},{"name":"SOUND_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SOUND_SETTINGS\""},{"name":"STORAGE_MANAGER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.STORAGE_MANAGER_SETTINGS\""},{"name":"SYNC_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SYNC_SETTINGS\""},{"name":"SYSTEM_UPDATE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SYSTEM_UPDATE_SETTINGS\""},{"name":"TETHER_PROVISIONING_UI","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.TETHER_PROVISIONING_UI\""},{"name":"TRUSTED_CREDENTIALS_USER","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.TRUSTED_CREDENTIALS_USER\""},{"name":"USAGE_ACCESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USAGE_ACCESS_SETTINGS\""},{"name":"USER_DICTIONARY_INSERT","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_DICTIONARY_INSERT\""},{"name":"USER_DICTIONARY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_DICTIONARY_SETTINGS\""},{"name":"USER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_SETTINGS\""},{"name":"VOICE_CONTROL_AIRPLANE_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_AIRPLANE_MODE\""},{"name":"VOICE_CONTROL_BATTERY_SAVER_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_BATTERY_SAVER_MODE\""},{"name":"VOICE_CONTROL_DO_NOT_DISTURB_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_DO_NOT_DISTURB_MODE\""},{"name":"VOICE_INPUT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_INPUT_SETTINGS\""},{"name":"VPN_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VPN_SETTINGS\""},{"name":"VR_LISTENER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VR_LISTENER_SETTINGS\""},{"name":"WEBVIEW_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WEBVIEW_SETTINGS\""},{"name":"WIFI_IP_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIFI_IP_SETTINGS\""},{"name":"WIFI_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIFI_SETTINGS\""},{"name":"WIRELESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIRELESS_SETTINGS\""},{"name":"ZEN_MODE_AUTOMATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_AUTOMATION_SETTINGS\""},{"name":"ZEN_MODE_EVENT_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_EVENT_RULE_SETTINGS\""},{"name":"ZEN_MODE_EXTERNAL_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_EXTERNAL_RULE_SETTINGS\""},{"name":"ZEN_MODE_PRIORITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_PRIORITY_SETTINGS\""},{"name":"ZEN_MODE_SCHEDULE_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_SCHEDULE_RULE_SETTINGS\""},{"name":"ZEN_MODE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_SETTINGS\""}]},{"name":"ResultCode","kind":8,"kindString":"Enumeration","children":[{"name":"Canceled","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Means that the activity was canceled, e.g. by tapping on the back button."},"defaultValue":"0"},{"name":"FirstUser","kind":16,"kindString":"Enumeration member","comment":{"shortText":"First custom, user-defined value that can be returned by the activity."},"defaultValue":"1"},{"name":"Success","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Indicates that the activity operation succeeded."},"defaultValue":"-1"}]},{"name":"IntentLauncherParams","kind":256,"kindString":"Interface","children":[{"name":"category","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Category provides more details about the action the intent performs. See [Intent.addCategory](https://developer.android.com/reference/android/content/Intent.html#addCategory(java.lang.String))."},"type":{"type":"intrinsic","name":"string"}},{"name":"className","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Class name of the ComponentName."},"type":{"type":"intrinsic","name":"string"}},{"name":"data","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A URI specifying the data that the intent should operate upon. (_Note:_ Android requires the URI\nscheme to be lowercase, unlike the formal RFC.)"},"type":{"type":"intrinsic","name":"string"}},{"name":"extra","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A map specifying additional key-value pairs which are passed with the intent as `extras`.\nThe keys must include a package prefix, for example the app `com.android.contacts` would use\nnames like `com.android.contacts.ShowAll`."},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"string"},{"type":"intrinsic","name":"any"}],"name":"Record"}},{"name":"flags","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Bitmask of flags to be used. See [Intent.setFlags]() for more details."},"type":{"type":"intrinsic","name":"number"}},{"name":"packageName","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Package name used as an identifier of ComponentName. Set this only if you want to explicitly\nset the component to handle the intent."},"type":{"type":"intrinsic","name":"string"}},{"name":"type","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A string specifying the MIME type of the data represented by the data parameter. Ignore this\nargument to allow Android to infer the correct MIME type."},"type":{"type":"intrinsic","name":"string"}}]},{"name":"IntentLauncherResult","kind":256,"kindString":"Interface","children":[{"name":"data","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Optional data URI that can be returned by the activity."},"type":{"type":"intrinsic","name":"string"}},{"name":"extra","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Optional extras object that can be returned by the activity."},"type":{"type":"intrinsic","name":"object"}},{"name":"resultCode","kind":1024,"kindString":"Property","comment":{"shortText":"Result code returned by the activity."},"type":{"type":"reference","name":"ResultCode"}}]},{"name":"startActivityAsync","kind":64,"kindString":"Function","signatures":[{"name":"startActivityAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Starts the specified activity. The method will return a promise which resolves when the user\nreturns to the app.","returns":"A promise which fulfils with `IntentLauncherResult` object.\n"},"parameters":[{"name":"activityAction","kind":32768,"kindString":"Parameter","comment":{"shortText":"The action to be performed, e.g. `IntentLauncher.ActivityAction.WIRELESS_SETTINGS`.\nThere are a few pre-defined constants you can use for this parameter.\nYou can find them at [expo-intent-launcher/src/IntentLauncher.ts](https://github.com/expo/expo/blob/master/packages/expo-intent-launcher/src/IntentLauncher.ts)."},"type":{"type":"intrinsic","name":"string"}},{"name":"params","kind":32768,"kindString":"Parameter","comment":{"shortText":"An object of intent parameters."},"type":{"type":"reference","name":"IntentLauncherParams"},"defaultValue":"{}"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"IntentLauncherResult"}],"name":"Promise"}}]}]} \ No newline at end of file +{"name":"expo-intent-launcher","kind":1,"kindString":"Project","originalName":"","children":[{"name":"ActivityAction","kind":8,"kindString":"Enumeration","comment":{"shortText":"Constants are from the source code of [Settings provider](https://developer.android.com/reference/android/provider/Settings)."},"children":[{"name":"ACCESSIBILITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACCESSIBILITY_SETTINGS\""},{"name":"ADD_ACCOUNT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ADD_ACCOUNT_SETTINGS\""},{"name":"AIRPLANE_MODE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.AIRPLANE_MODE_SETTINGS\""},{"name":"APN_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APN_SETTINGS\""},{"name":"APPLICATION_DETAILS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_DETAILS_SETTINGS\""},{"name":"APPLICATION_DEVELOPMENT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_DEVELOPMENT_SETTINGS\""},{"name":"APPLICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_SETTINGS\""},{"name":"APP_NOTIFICATION_REDACTION","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_APP_NOTIFICATION_REDACTION\""},{"name":"APP_NOTIFICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APP_NOTIFICATION_SETTINGS\""},{"name":"APP_OPS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APP_OPS_SETTINGS\""},{"name":"BATTERY_SAVER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.BATTERY_SAVER_SETTINGS\""},{"name":"BLUETOOTH_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.BLUETOOTH_SETTINGS\""},{"name":"CAPTIONING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.CAPTIONING_SETTINGS\""},{"name":"CAST_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.CAST_SETTINGS\""},{"name":"CONDITION_PROVIDER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_CONDITION_PROVIDER_SETTINGS\""},{"name":"DATA_ROAMING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DATA_ROAMING_SETTINGS\""},{"name":"DATE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DATE_SETTINGS\""},{"name":"DEVICE_INFO_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DEVICE_INFO_SETTINGS\""},{"name":"DEVICE_NAME","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DEVICE_NAME\""},{"name":"DISPLAY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DISPLAY_SETTINGS\""},{"name":"DREAM_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DREAM_SETTINGS\""},{"name":"HARD_KEYBOARD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.HARD_KEYBOARD_SETTINGS\""},{"name":"HOME_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.HOME_SETTINGS\""},{"name":"IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS\""},{"name":"IGNORE_BATTERY_OPTIMIZATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS\""},{"name":"INPUT_METHOD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INPUT_METHOD_SETTINGS\""},{"name":"INPUT_METHOD_SUBTYPE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INPUT_METHOD_SUBTYPE_SETTINGS\""},{"name":"INTERNAL_STORAGE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INTERNAL_STORAGE_SETTINGS\""},{"name":"LOCALE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.LOCALE_SETTINGS\""},{"name":"LOCATION_SOURCE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.LOCATION_SOURCE_SETTINGS\""},{"name":"MANAGE_ALL_APPLICATIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS\""},{"name":"MANAGE_APPLICATIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_APPLICATIONS_SETTINGS\""},{"name":"MANAGE_DEFAULT_APPS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_DEFAULT_APPS_SETTINGS\""},{"name":"MEMORY_CARD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MEMORY_CARD_SETTINGS\""},{"name":"MONITORING_CERT_INFO","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MONITORING_CERT_INFO\""},{"name":"NETWORK_OPERATOR_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NETWORK_OPERATOR_SETTINGS\""},{"name":"NFCSHARING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFCSHARING_SETTINGS\""},{"name":"NFC_PAYMENT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFC_PAYMENT_SETTINGS\""},{"name":"NFC_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFC_SETTINGS\""},{"name":"NIGHT_DISPLAY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NIGHT_DISPLAY_SETTINGS\""},{"name":"NOTIFICATION_LISTENER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS\""},{"name":"NOTIFICATION_POLICY_ACCESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS\""},{"name":"NOTIFICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NOTIFICATION_SETTINGS\""},{"name":"PAIRING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.PAIRING_SETTINGS\""},{"name":"PRINT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_PRINT_SETTINGS\""},{"name":"PRIVACY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.PRIVACY_SETTINGS\""},{"name":"QUICK_LAUNCH_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.QUICK_LAUNCH_SETTINGS\""},{"name":"REQUEST_IGNORE_BATTERY_OPTIMIZATIONS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS\""},{"name":"SECURITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SECURITY_SETTINGS\""},{"name":"SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SETTINGS\""},{"name":"SHOW_ADMIN_SUPPORT_DETAILS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_ADMIN_SUPPORT_DETAILS\""},{"name":"SHOW_INPUT_METHOD_PICKER","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_INPUT_METHOD_PICKER\""},{"name":"SHOW_REGULATORY_INFO","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_REGULATORY_INFO\""},{"name":"SHOW_REMOTE_BUGREPORT_DIALOG","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_REMOTE_BUGREPORT_DIALOG\""},{"name":"SOUND_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SOUND_SETTINGS\""},{"name":"STORAGE_MANAGER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.STORAGE_MANAGER_SETTINGS\""},{"name":"SYNC_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SYNC_SETTINGS\""},{"name":"SYSTEM_UPDATE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SYSTEM_UPDATE_SETTINGS\""},{"name":"TETHER_PROVISIONING_UI","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.TETHER_PROVISIONING_UI\""},{"name":"TRUSTED_CREDENTIALS_USER","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.TRUSTED_CREDENTIALS_USER\""},{"name":"USAGE_ACCESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USAGE_ACCESS_SETTINGS\""},{"name":"USER_DICTIONARY_INSERT","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_DICTIONARY_INSERT\""},{"name":"USER_DICTIONARY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_DICTIONARY_SETTINGS\""},{"name":"USER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_SETTINGS\""},{"name":"VOICE_CONTROL_AIRPLANE_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_AIRPLANE_MODE\""},{"name":"VOICE_CONTROL_BATTERY_SAVER_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_BATTERY_SAVER_MODE\""},{"name":"VOICE_CONTROL_DO_NOT_DISTURB_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_DO_NOT_DISTURB_MODE\""},{"name":"VOICE_INPUT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_INPUT_SETTINGS\""},{"name":"VPN_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VPN_SETTINGS\""},{"name":"VR_LISTENER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VR_LISTENER_SETTINGS\""},{"name":"WEBVIEW_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WEBVIEW_SETTINGS\""},{"name":"WIFI_IP_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIFI_IP_SETTINGS\""},{"name":"WIFI_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIFI_SETTINGS\""},{"name":"WIRELESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIRELESS_SETTINGS\""},{"name":"ZEN_MODE_AUTOMATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_AUTOMATION_SETTINGS\""},{"name":"ZEN_MODE_EVENT_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_EVENT_RULE_SETTINGS\""},{"name":"ZEN_MODE_EXTERNAL_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_EXTERNAL_RULE_SETTINGS\""},{"name":"ZEN_MODE_PRIORITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_PRIORITY_SETTINGS\""},{"name":"ZEN_MODE_SCHEDULE_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_SCHEDULE_RULE_SETTINGS\""},{"name":"ZEN_MODE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_SETTINGS\""}]},{"name":"ResultCode","kind":8,"kindString":"Enumeration","children":[{"name":"Canceled","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Means that the activity was canceled, e.g. by tapping on the back button."},"defaultValue":"0"},{"name":"FirstUser","kind":16,"kindString":"Enumeration member","comment":{"shortText":"First custom, user-defined value that can be returned by the activity."},"defaultValue":"1"},{"name":"Success","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Indicates that the activity operation succeeded."},"defaultValue":"-1"}]},{"name":"IntentLauncherParams","kind":256,"kindString":"Interface","children":[{"name":"category","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Category provides more details about the action the intent performs. See [Intent.addCategory](https://developer.android.com/reference/android/content/Intent.html#addCategory(java.lang.String))."},"type":{"type":"intrinsic","name":"string"}},{"name":"className","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Class name of the ComponentName."},"type":{"type":"intrinsic","name":"string"}},{"name":"data","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A URI specifying the data that the intent should operate upon. (_Note:_ Android requires the URI\nscheme to be lowercase, unlike the formal RFC.)"},"type":{"type":"intrinsic","name":"string"}},{"name":"extra","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A map specifying additional key-value pairs which are passed with the intent as `extras`.\nThe keys must include a package prefix, for example the app `com.android.contacts` would use\nnames like `com.android.contacts.ShowAll`."},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"string"},{"type":"intrinsic","name":"any"}],"name":"Record"}},{"name":"flags","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Bitmask of flags to be used. See [Intent.setFlags]() for more details."},"type":{"type":"intrinsic","name":"number"}},{"name":"packageName","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Package name used as an identifier of ComponentName. Set this only if you want to explicitly\nset the component to handle the intent."},"type":{"type":"intrinsic","name":"string"}},{"name":"type","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A string specifying the MIME type of the data represented by the data parameter. Ignore this\nargument to allow Android to infer the correct MIME type."},"type":{"type":"intrinsic","name":"string"}}]},{"name":"IntentLauncherResult","kind":256,"kindString":"Interface","children":[{"name":"data","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Optional data URI that can be returned by the activity."},"type":{"type":"intrinsic","name":"string"}},{"name":"extra","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Optional extras object that can be returned by the activity."},"type":{"type":"intrinsic","name":"object"}},{"name":"resultCode","kind":1024,"kindString":"Property","comment":{"shortText":"Result code returned by the activity."},"type":{"type":"reference","name":"ResultCode"}}]},{"name":"startActivityAsync","kind":64,"kindString":"Function","signatures":[{"name":"startActivityAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Starts the specified activity. The method will return a promise which resolves when the user\nreturns to the app.","returns":"A promise which fulfils with `IntentLauncherResult` object.\n"},"parameters":[{"name":"activityAction","kind":32768,"kindString":"Parameter","comment":{"shortText":"The action to be performed, e.g. `IntentLauncher.ActivityAction.WIRELESS_SETTINGS`.\nThere are a few pre-defined constants you can use for this parameter.\nYou can find them at [expo-intent-launcher/src/IntentLauncher.ts](https://github.com/expo/expo/tree/main/packages/expo-intent-launcher/src/IntentLauncher.ts)."},"type":{"type":"intrinsic","name":"string"}},{"name":"params","kind":32768,"kindString":"Parameter","comment":{"shortText":"An object of intent parameters."},"type":{"type":"reference","name":"IntentLauncherParams"},"defaultValue":"{}"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"IntentLauncherResult"}],"name":"Promise"}}]}]} \ No newline at end of file diff --git a/docs/public/static/data/v43.0.0/expo-intent-launcher.json b/docs/public/static/data/v43.0.0/expo-intent-launcher.json index 7bc33f37068ee..20b8cba9ab0e6 100644 --- a/docs/public/static/data/v43.0.0/expo-intent-launcher.json +++ b/docs/public/static/data/v43.0.0/expo-intent-launcher.json @@ -1 +1 @@ -{"name":"expo-intent-launcher","kind":1,"kindString":"Project","originalName":"","children":[{"name":"ActivityAction","kind":8,"kindString":"Enumeration","comment":{"shortText":"Constants are from the source code of [Settings provider](https://developer.android.com/reference/android/provider/Settings)."},"children":[{"name":"ACCESSIBILITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACCESSIBILITY_SETTINGS\""},{"name":"ADD_ACCOUNT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ADD_ACCOUNT_SETTINGS\""},{"name":"AIRPLANE_MODE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.AIRPLANE_MODE_SETTINGS\""},{"name":"APN_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APN_SETTINGS\""},{"name":"APPLICATION_DETAILS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_DETAILS_SETTINGS\""},{"name":"APPLICATION_DEVELOPMENT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_DEVELOPMENT_SETTINGS\""},{"name":"APPLICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_SETTINGS\""},{"name":"APP_NOTIFICATION_REDACTION","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_APP_NOTIFICATION_REDACTION\""},{"name":"APP_NOTIFICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APP_NOTIFICATION_SETTINGS\""},{"name":"APP_OPS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APP_OPS_SETTINGS\""},{"name":"BATTERY_SAVER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.BATTERY_SAVER_SETTINGS\""},{"name":"BLUETOOTH_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.BLUETOOTH_SETTINGS\""},{"name":"CAPTIONING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.CAPTIONING_SETTINGS\""},{"name":"CAST_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.CAST_SETTINGS\""},{"name":"CONDITION_PROVIDER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_CONDITION_PROVIDER_SETTINGS\""},{"name":"DATA_ROAMING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DATA_ROAMING_SETTINGS\""},{"name":"DATE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DATE_SETTINGS\""},{"name":"DEVICE_INFO_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DEVICE_INFO_SETTINGS\""},{"name":"DEVICE_NAME","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DEVICE_NAME\""},{"name":"DISPLAY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DISPLAY_SETTINGS\""},{"name":"DREAM_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DREAM_SETTINGS\""},{"name":"HARD_KEYBOARD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.HARD_KEYBOARD_SETTINGS\""},{"name":"HOME_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.HOME_SETTINGS\""},{"name":"IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS\""},{"name":"IGNORE_BATTERY_OPTIMIZATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS\""},{"name":"INPUT_METHOD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INPUT_METHOD_SETTINGS\""},{"name":"INPUT_METHOD_SUBTYPE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INPUT_METHOD_SUBTYPE_SETTINGS\""},{"name":"INTERNAL_STORAGE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INTERNAL_STORAGE_SETTINGS\""},{"name":"LOCALE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.LOCALE_SETTINGS\""},{"name":"LOCATION_SOURCE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.LOCATION_SOURCE_SETTINGS\""},{"name":"MANAGE_ALL_APPLICATIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS\""},{"name":"MANAGE_APPLICATIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_APPLICATIONS_SETTINGS\""},{"name":"MANAGE_DEFAULT_APPS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_DEFAULT_APPS_SETTINGS\""},{"name":"MEMORY_CARD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MEMORY_CARD_SETTINGS\""},{"name":"MONITORING_CERT_INFO","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MONITORING_CERT_INFO\""},{"name":"NETWORK_OPERATOR_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NETWORK_OPERATOR_SETTINGS\""},{"name":"NFCSHARING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFCSHARING_SETTINGS\""},{"name":"NFC_PAYMENT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFC_PAYMENT_SETTINGS\""},{"name":"NFC_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFC_SETTINGS\""},{"name":"NIGHT_DISPLAY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NIGHT_DISPLAY_SETTINGS\""},{"name":"NOTIFICATION_LISTENER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS\""},{"name":"NOTIFICATION_POLICY_ACCESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS\""},{"name":"NOTIFICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NOTIFICATION_SETTINGS\""},{"name":"PAIRING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.PAIRING_SETTINGS\""},{"name":"PRINT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_PRINT_SETTINGS\""},{"name":"PRIVACY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.PRIVACY_SETTINGS\""},{"name":"QUICK_LAUNCH_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.QUICK_LAUNCH_SETTINGS\""},{"name":"REQUEST_IGNORE_BATTERY_OPTIMIZATIONS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS\""},{"name":"SECURITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SECURITY_SETTINGS\""},{"name":"SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SETTINGS\""},{"name":"SHOW_ADMIN_SUPPORT_DETAILS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_ADMIN_SUPPORT_DETAILS\""},{"name":"SHOW_INPUT_METHOD_PICKER","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_INPUT_METHOD_PICKER\""},{"name":"SHOW_REGULATORY_INFO","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_REGULATORY_INFO\""},{"name":"SHOW_REMOTE_BUGREPORT_DIALOG","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_REMOTE_BUGREPORT_DIALOG\""},{"name":"SOUND_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SOUND_SETTINGS\""},{"name":"STORAGE_MANAGER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.STORAGE_MANAGER_SETTINGS\""},{"name":"SYNC_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SYNC_SETTINGS\""},{"name":"SYSTEM_UPDATE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SYSTEM_UPDATE_SETTINGS\""},{"name":"TETHER_PROVISIONING_UI","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.TETHER_PROVISIONING_UI\""},{"name":"TRUSTED_CREDENTIALS_USER","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.TRUSTED_CREDENTIALS_USER\""},{"name":"USAGE_ACCESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USAGE_ACCESS_SETTINGS\""},{"name":"USER_DICTIONARY_INSERT","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_DICTIONARY_INSERT\""},{"name":"USER_DICTIONARY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_DICTIONARY_SETTINGS\""},{"name":"USER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_SETTINGS\""},{"name":"VOICE_CONTROL_AIRPLANE_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_AIRPLANE_MODE\""},{"name":"VOICE_CONTROL_BATTERY_SAVER_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_BATTERY_SAVER_MODE\""},{"name":"VOICE_CONTROL_DO_NOT_DISTURB_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_DO_NOT_DISTURB_MODE\""},{"name":"VOICE_INPUT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_INPUT_SETTINGS\""},{"name":"VPN_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VPN_SETTINGS\""},{"name":"VR_LISTENER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VR_LISTENER_SETTINGS\""},{"name":"WEBVIEW_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WEBVIEW_SETTINGS\""},{"name":"WIFI_IP_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIFI_IP_SETTINGS\""},{"name":"WIFI_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIFI_SETTINGS\""},{"name":"WIRELESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIRELESS_SETTINGS\""},{"name":"ZEN_MODE_AUTOMATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_AUTOMATION_SETTINGS\""},{"name":"ZEN_MODE_EVENT_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_EVENT_RULE_SETTINGS\""},{"name":"ZEN_MODE_EXTERNAL_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_EXTERNAL_RULE_SETTINGS\""},{"name":"ZEN_MODE_PRIORITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_PRIORITY_SETTINGS\""},{"name":"ZEN_MODE_SCHEDULE_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_SCHEDULE_RULE_SETTINGS\""},{"name":"ZEN_MODE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_SETTINGS\""}]},{"name":"ResultCode","kind":8,"kindString":"Enumeration","children":[{"name":"Canceled","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Means that the activity was canceled, e.g. by tapping on the back button."},"defaultValue":"0"},{"name":"FirstUser","kind":16,"kindString":"Enumeration member","comment":{"shortText":"First custom, user-defined value that can be returned by the activity."},"defaultValue":"1"},{"name":"Success","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Indicates that the activity operation succeeded."},"defaultValue":"-1"}]},{"name":"IntentLauncherParams","kind":256,"kindString":"Interface","children":[{"name":"category","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Category provides more details about the action the intent performs. See [Intent.addCategory](https://developer.android.com/reference/android/content/Intent.html#addCategory(java.lang.String))."},"type":{"type":"intrinsic","name":"string"}},{"name":"className","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Class name of the ComponentName."},"type":{"type":"intrinsic","name":"string"}},{"name":"data","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A URI specifying the data that the intent should operate upon. (_Note:_ Android requires the URI\nscheme to be lowercase, unlike the formal RFC.)"},"type":{"type":"intrinsic","name":"string"}},{"name":"extra","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A map specifying additional key-value pairs which are passed with the intent as `extras`.\nThe keys must include a package prefix, for example the app `com.android.contacts` would use\nnames like `com.android.contacts.ShowAll`."},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"string"},{"type":"intrinsic","name":"any"}],"name":"Record"}},{"name":"flags","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Bitmask of flags to be used. See [Intent.setFlags]() for more details."},"type":{"type":"intrinsic","name":"number"}},{"name":"packageName","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Package name used as an identifier of ComponentName. Set this only if you want to explicitly\nset the component to handle the intent."},"type":{"type":"intrinsic","name":"string"}},{"name":"type","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A string specifying the MIME type of the data represented by the data parameter. Ignore this\nargument to allow Android to infer the correct MIME type."},"type":{"type":"intrinsic","name":"string"}}]},{"name":"IntentLauncherResult","kind":256,"kindString":"Interface","children":[{"name":"data","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Optional data URI that can be returned by the activity."},"type":{"type":"intrinsic","name":"string"}},{"name":"extra","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Optional extras object that can be returned by the activity."},"type":{"type":"intrinsic","name":"object"}},{"name":"resultCode","kind":1024,"kindString":"Property","comment":{"shortText":"Result code returned by the activity."},"type":{"type":"reference","name":"ResultCode"}}]},{"name":"startActivityAsync","kind":64,"kindString":"Function","signatures":[{"name":"startActivityAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Starts the specified activity. The method will return a promise which resolves when the user\nreturns to the app.","returns":"A promise which fulfils with `IntentLauncherResult` object.\n"},"parameters":[{"name":"activityAction","kind":32768,"kindString":"Parameter","comment":{"text":"The action to be performed, e.g. `IntentLauncher.ActivityAction.WIRELESS_SETTINGS`.\nThere are a few pre-defined constants you can use for this parameter.\nYou can find them at [expo-intent-launcher/src/IntentLauncher.ts](https://github.com/expo/expo/blob/master/packages/expo-intent-launcher/src/IntentLauncher.ts)."},"type":{"type":"reference","name":"ActivityAction"}},{"name":"params","kind":32768,"kindString":"Parameter","comment":{"text":"An object of intent parameters."},"type":{"type":"reference","name":"IntentLauncherParams"},"defaultValue":"{}"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"IntentLauncherResult"}],"name":"Promise"}}]}]} \ No newline at end of file +{"name":"expo-intent-launcher","kind":1,"kindString":"Project","originalName":"","children":[{"name":"ActivityAction","kind":8,"kindString":"Enumeration","comment":{"shortText":"Constants are from the source code of [Settings provider](https://developer.android.com/reference/android/provider/Settings)."},"children":[{"name":"ACCESSIBILITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACCESSIBILITY_SETTINGS\""},{"name":"ADD_ACCOUNT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ADD_ACCOUNT_SETTINGS\""},{"name":"AIRPLANE_MODE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.AIRPLANE_MODE_SETTINGS\""},{"name":"APN_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APN_SETTINGS\""},{"name":"APPLICATION_DETAILS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_DETAILS_SETTINGS\""},{"name":"APPLICATION_DEVELOPMENT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_DEVELOPMENT_SETTINGS\""},{"name":"APPLICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_SETTINGS\""},{"name":"APP_NOTIFICATION_REDACTION","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_APP_NOTIFICATION_REDACTION\""},{"name":"APP_NOTIFICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APP_NOTIFICATION_SETTINGS\""},{"name":"APP_OPS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APP_OPS_SETTINGS\""},{"name":"BATTERY_SAVER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.BATTERY_SAVER_SETTINGS\""},{"name":"BLUETOOTH_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.BLUETOOTH_SETTINGS\""},{"name":"CAPTIONING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.CAPTIONING_SETTINGS\""},{"name":"CAST_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.CAST_SETTINGS\""},{"name":"CONDITION_PROVIDER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_CONDITION_PROVIDER_SETTINGS\""},{"name":"DATA_ROAMING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DATA_ROAMING_SETTINGS\""},{"name":"DATE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DATE_SETTINGS\""},{"name":"DEVICE_INFO_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DEVICE_INFO_SETTINGS\""},{"name":"DEVICE_NAME","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DEVICE_NAME\""},{"name":"DISPLAY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DISPLAY_SETTINGS\""},{"name":"DREAM_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DREAM_SETTINGS\""},{"name":"HARD_KEYBOARD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.HARD_KEYBOARD_SETTINGS\""},{"name":"HOME_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.HOME_SETTINGS\""},{"name":"IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS\""},{"name":"IGNORE_BATTERY_OPTIMIZATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS\""},{"name":"INPUT_METHOD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INPUT_METHOD_SETTINGS\""},{"name":"INPUT_METHOD_SUBTYPE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INPUT_METHOD_SUBTYPE_SETTINGS\""},{"name":"INTERNAL_STORAGE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INTERNAL_STORAGE_SETTINGS\""},{"name":"LOCALE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.LOCALE_SETTINGS\""},{"name":"LOCATION_SOURCE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.LOCATION_SOURCE_SETTINGS\""},{"name":"MANAGE_ALL_APPLICATIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS\""},{"name":"MANAGE_APPLICATIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_APPLICATIONS_SETTINGS\""},{"name":"MANAGE_DEFAULT_APPS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_DEFAULT_APPS_SETTINGS\""},{"name":"MEMORY_CARD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MEMORY_CARD_SETTINGS\""},{"name":"MONITORING_CERT_INFO","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MONITORING_CERT_INFO\""},{"name":"NETWORK_OPERATOR_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NETWORK_OPERATOR_SETTINGS\""},{"name":"NFCSHARING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFCSHARING_SETTINGS\""},{"name":"NFC_PAYMENT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFC_PAYMENT_SETTINGS\""},{"name":"NFC_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFC_SETTINGS\""},{"name":"NIGHT_DISPLAY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NIGHT_DISPLAY_SETTINGS\""},{"name":"NOTIFICATION_LISTENER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS\""},{"name":"NOTIFICATION_POLICY_ACCESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS\""},{"name":"NOTIFICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NOTIFICATION_SETTINGS\""},{"name":"PAIRING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.PAIRING_SETTINGS\""},{"name":"PRINT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_PRINT_SETTINGS\""},{"name":"PRIVACY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.PRIVACY_SETTINGS\""},{"name":"QUICK_LAUNCH_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.QUICK_LAUNCH_SETTINGS\""},{"name":"REQUEST_IGNORE_BATTERY_OPTIMIZATIONS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS\""},{"name":"SECURITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SECURITY_SETTINGS\""},{"name":"SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SETTINGS\""},{"name":"SHOW_ADMIN_SUPPORT_DETAILS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_ADMIN_SUPPORT_DETAILS\""},{"name":"SHOW_INPUT_METHOD_PICKER","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_INPUT_METHOD_PICKER\""},{"name":"SHOW_REGULATORY_INFO","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_REGULATORY_INFO\""},{"name":"SHOW_REMOTE_BUGREPORT_DIALOG","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_REMOTE_BUGREPORT_DIALOG\""},{"name":"SOUND_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SOUND_SETTINGS\""},{"name":"STORAGE_MANAGER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.STORAGE_MANAGER_SETTINGS\""},{"name":"SYNC_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SYNC_SETTINGS\""},{"name":"SYSTEM_UPDATE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SYSTEM_UPDATE_SETTINGS\""},{"name":"TETHER_PROVISIONING_UI","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.TETHER_PROVISIONING_UI\""},{"name":"TRUSTED_CREDENTIALS_USER","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.TRUSTED_CREDENTIALS_USER\""},{"name":"USAGE_ACCESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USAGE_ACCESS_SETTINGS\""},{"name":"USER_DICTIONARY_INSERT","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_DICTIONARY_INSERT\""},{"name":"USER_DICTIONARY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_DICTIONARY_SETTINGS\""},{"name":"USER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_SETTINGS\""},{"name":"VOICE_CONTROL_AIRPLANE_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_AIRPLANE_MODE\""},{"name":"VOICE_CONTROL_BATTERY_SAVER_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_BATTERY_SAVER_MODE\""},{"name":"VOICE_CONTROL_DO_NOT_DISTURB_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_DO_NOT_DISTURB_MODE\""},{"name":"VOICE_INPUT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_INPUT_SETTINGS\""},{"name":"VPN_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VPN_SETTINGS\""},{"name":"VR_LISTENER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VR_LISTENER_SETTINGS\""},{"name":"WEBVIEW_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WEBVIEW_SETTINGS\""},{"name":"WIFI_IP_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIFI_IP_SETTINGS\""},{"name":"WIFI_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIFI_SETTINGS\""},{"name":"WIRELESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIRELESS_SETTINGS\""},{"name":"ZEN_MODE_AUTOMATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_AUTOMATION_SETTINGS\""},{"name":"ZEN_MODE_EVENT_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_EVENT_RULE_SETTINGS\""},{"name":"ZEN_MODE_EXTERNAL_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_EXTERNAL_RULE_SETTINGS\""},{"name":"ZEN_MODE_PRIORITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_PRIORITY_SETTINGS\""},{"name":"ZEN_MODE_SCHEDULE_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_SCHEDULE_RULE_SETTINGS\""},{"name":"ZEN_MODE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_SETTINGS\""}]},{"name":"ResultCode","kind":8,"kindString":"Enumeration","children":[{"name":"Canceled","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Means that the activity was canceled, e.g. by tapping on the back button."},"defaultValue":"0"},{"name":"FirstUser","kind":16,"kindString":"Enumeration member","comment":{"shortText":"First custom, user-defined value that can be returned by the activity."},"defaultValue":"1"},{"name":"Success","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Indicates that the activity operation succeeded."},"defaultValue":"-1"}]},{"name":"IntentLauncherParams","kind":256,"kindString":"Interface","children":[{"name":"category","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Category provides more details about the action the intent performs. See [Intent.addCategory](https://developer.android.com/reference/android/content/Intent.html#addCategory(java.lang.String))."},"type":{"type":"intrinsic","name":"string"}},{"name":"className","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Class name of the ComponentName."},"type":{"type":"intrinsic","name":"string"}},{"name":"data","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A URI specifying the data that the intent should operate upon. (_Note:_ Android requires the URI\nscheme to be lowercase, unlike the formal RFC.)"},"type":{"type":"intrinsic","name":"string"}},{"name":"extra","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A map specifying additional key-value pairs which are passed with the intent as `extras`.\nThe keys must include a package prefix, for example the app `com.android.contacts` would use\nnames like `com.android.contacts.ShowAll`."},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"string"},{"type":"intrinsic","name":"any"}],"name":"Record"}},{"name":"flags","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Bitmask of flags to be used. See [Intent.setFlags]() for more details."},"type":{"type":"intrinsic","name":"number"}},{"name":"packageName","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Package name used as an identifier of ComponentName. Set this only if you want to explicitly\nset the component to handle the intent."},"type":{"type":"intrinsic","name":"string"}},{"name":"type","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A string specifying the MIME type of the data represented by the data parameter. Ignore this\nargument to allow Android to infer the correct MIME type."},"type":{"type":"intrinsic","name":"string"}}]},{"name":"IntentLauncherResult","kind":256,"kindString":"Interface","children":[{"name":"data","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Optional data URI that can be returned by the activity."},"type":{"type":"intrinsic","name":"string"}},{"name":"extra","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Optional extras object that can be returned by the activity."},"type":{"type":"intrinsic","name":"object"}},{"name":"resultCode","kind":1024,"kindString":"Property","comment":{"shortText":"Result code returned by the activity."},"type":{"type":"reference","name":"ResultCode"}}]},{"name":"startActivityAsync","kind":64,"kindString":"Function","signatures":[{"name":"startActivityAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Starts the specified activity. The method will return a promise which resolves when the user\nreturns to the app.","returns":"A promise which fulfils with `IntentLauncherResult` object.\n"},"parameters":[{"name":"activityAction","kind":32768,"kindString":"Parameter","comment":{"text":"The action to be performed, e.g. `IntentLauncher.ActivityAction.WIRELESS_SETTINGS`.\nThere are a few pre-defined constants you can use for this parameter.\nYou can find them at [expo-intent-launcher/src/IntentLauncher.ts](https://github.com/expo/expo/tree/main/packages/expo-intent-launcher/src/IntentLauncher.ts)."},"type":{"type":"reference","name":"ActivityAction"}},{"name":"params","kind":32768,"kindString":"Parameter","comment":{"text":"An object of intent parameters."},"type":{"type":"reference","name":"IntentLauncherParams"},"defaultValue":"{}"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"IntentLauncherResult"}],"name":"Promise"}}]}]} \ No newline at end of file diff --git a/docs/public/static/data/v44.0.0/expo-intent-launcher.json b/docs/public/static/data/v44.0.0/expo-intent-launcher.json index 0cdab7d6dd971..843f00572069b 100644 --- a/docs/public/static/data/v44.0.0/expo-intent-launcher.json +++ b/docs/public/static/data/v44.0.0/expo-intent-launcher.json @@ -1 +1 @@ -{"name":"expo-intent-launcher","kind":1,"kindString":"Project","originalName":"","children":[{"name":"ActivityAction","kind":8,"kindString":"Enumeration","comment":{"shortText":"Constants are from the source code of [Settings provider](https://developer.android.com/reference/android/provider/Settings)."},"children":[{"name":"ACCESSIBILITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACCESSIBILITY_SETTINGS\""},{"name":"ADD_ACCOUNT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ADD_ACCOUNT_SETTINGS\""},{"name":"AIRPLANE_MODE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.AIRPLANE_MODE_SETTINGS\""},{"name":"APN_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APN_SETTINGS\""},{"name":"APPLICATION_DETAILS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_DETAILS_SETTINGS\""},{"name":"APPLICATION_DEVELOPMENT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_DEVELOPMENT_SETTINGS\""},{"name":"APPLICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_SETTINGS\""},{"name":"APP_NOTIFICATION_REDACTION","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_APP_NOTIFICATION_REDACTION\""},{"name":"APP_NOTIFICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APP_NOTIFICATION_SETTINGS\""},{"name":"APP_OPS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APP_OPS_SETTINGS\""},{"name":"BATTERY_SAVER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.BATTERY_SAVER_SETTINGS\""},{"name":"BLUETOOTH_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.BLUETOOTH_SETTINGS\""},{"name":"CAPTIONING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.CAPTIONING_SETTINGS\""},{"name":"CAST_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.CAST_SETTINGS\""},{"name":"CONDITION_PROVIDER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_CONDITION_PROVIDER_SETTINGS\""},{"name":"DATA_ROAMING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DATA_ROAMING_SETTINGS\""},{"name":"DATE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DATE_SETTINGS\""},{"name":"DEVICE_INFO_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DEVICE_INFO_SETTINGS\""},{"name":"DEVICE_NAME","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DEVICE_NAME\""},{"name":"DISPLAY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DISPLAY_SETTINGS\""},{"name":"DREAM_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DREAM_SETTINGS\""},{"name":"HARD_KEYBOARD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.HARD_KEYBOARD_SETTINGS\""},{"name":"HOME_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.HOME_SETTINGS\""},{"name":"IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS\""},{"name":"IGNORE_BATTERY_OPTIMIZATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS\""},{"name":"INPUT_METHOD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INPUT_METHOD_SETTINGS\""},{"name":"INPUT_METHOD_SUBTYPE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INPUT_METHOD_SUBTYPE_SETTINGS\""},{"name":"INTERNAL_STORAGE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INTERNAL_STORAGE_SETTINGS\""},{"name":"LOCALE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.LOCALE_SETTINGS\""},{"name":"LOCATION_SOURCE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.LOCATION_SOURCE_SETTINGS\""},{"name":"MANAGE_ALL_APPLICATIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS\""},{"name":"MANAGE_APPLICATIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_APPLICATIONS_SETTINGS\""},{"name":"MANAGE_DEFAULT_APPS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_DEFAULT_APPS_SETTINGS\""},{"name":"MEMORY_CARD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MEMORY_CARD_SETTINGS\""},{"name":"MONITORING_CERT_INFO","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MONITORING_CERT_INFO\""},{"name":"NETWORK_OPERATOR_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NETWORK_OPERATOR_SETTINGS\""},{"name":"NFCSHARING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFCSHARING_SETTINGS\""},{"name":"NFC_PAYMENT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFC_PAYMENT_SETTINGS\""},{"name":"NFC_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFC_SETTINGS\""},{"name":"NIGHT_DISPLAY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NIGHT_DISPLAY_SETTINGS\""},{"name":"NOTIFICATION_LISTENER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS\""},{"name":"NOTIFICATION_POLICY_ACCESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS\""},{"name":"NOTIFICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NOTIFICATION_SETTINGS\""},{"name":"PAIRING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.PAIRING_SETTINGS\""},{"name":"PRINT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_PRINT_SETTINGS\""},{"name":"PRIVACY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.PRIVACY_SETTINGS\""},{"name":"QUICK_LAUNCH_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.QUICK_LAUNCH_SETTINGS\""},{"name":"REQUEST_IGNORE_BATTERY_OPTIMIZATIONS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS\""},{"name":"SECURITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SECURITY_SETTINGS\""},{"name":"SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SETTINGS\""},{"name":"SHOW_ADMIN_SUPPORT_DETAILS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_ADMIN_SUPPORT_DETAILS\""},{"name":"SHOW_INPUT_METHOD_PICKER","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_INPUT_METHOD_PICKER\""},{"name":"SHOW_REGULATORY_INFO","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_REGULATORY_INFO\""},{"name":"SHOW_REMOTE_BUGREPORT_DIALOG","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_REMOTE_BUGREPORT_DIALOG\""},{"name":"SOUND_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SOUND_SETTINGS\""},{"name":"STORAGE_MANAGER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.STORAGE_MANAGER_SETTINGS\""},{"name":"SYNC_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SYNC_SETTINGS\""},{"name":"SYSTEM_UPDATE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SYSTEM_UPDATE_SETTINGS\""},{"name":"TETHER_PROVISIONING_UI","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.TETHER_PROVISIONING_UI\""},{"name":"TRUSTED_CREDENTIALS_USER","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.TRUSTED_CREDENTIALS_USER\""},{"name":"USAGE_ACCESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USAGE_ACCESS_SETTINGS\""},{"name":"USER_DICTIONARY_INSERT","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_DICTIONARY_INSERT\""},{"name":"USER_DICTIONARY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_DICTIONARY_SETTINGS\""},{"name":"USER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_SETTINGS\""},{"name":"VOICE_CONTROL_AIRPLANE_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_AIRPLANE_MODE\""},{"name":"VOICE_CONTROL_BATTERY_SAVER_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_BATTERY_SAVER_MODE\""},{"name":"VOICE_CONTROL_DO_NOT_DISTURB_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_DO_NOT_DISTURB_MODE\""},{"name":"VOICE_INPUT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_INPUT_SETTINGS\""},{"name":"VPN_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VPN_SETTINGS\""},{"name":"VR_LISTENER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VR_LISTENER_SETTINGS\""},{"name":"WEBVIEW_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WEBVIEW_SETTINGS\""},{"name":"WIFI_IP_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIFI_IP_SETTINGS\""},{"name":"WIFI_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIFI_SETTINGS\""},{"name":"WIRELESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIRELESS_SETTINGS\""},{"name":"ZEN_MODE_AUTOMATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_AUTOMATION_SETTINGS\""},{"name":"ZEN_MODE_EVENT_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_EVENT_RULE_SETTINGS\""},{"name":"ZEN_MODE_EXTERNAL_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_EXTERNAL_RULE_SETTINGS\""},{"name":"ZEN_MODE_PRIORITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_PRIORITY_SETTINGS\""},{"name":"ZEN_MODE_SCHEDULE_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_SCHEDULE_RULE_SETTINGS\""},{"name":"ZEN_MODE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_SETTINGS\""}]},{"name":"ResultCode","kind":8,"kindString":"Enumeration","children":[{"name":"Canceled","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Means that the activity was canceled, e.g. by tapping on the back button."},"defaultValue":"0"},{"name":"FirstUser","kind":16,"kindString":"Enumeration member","comment":{"shortText":"First custom, user-defined value that can be returned by the activity."},"defaultValue":"1"},{"name":"Success","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Indicates that the activity operation succeeded."},"defaultValue":"-1"}]},{"name":"IntentLauncherParams","kind":256,"kindString":"Interface","children":[{"name":"category","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Category provides more details about the action the intent performs. See [Intent.addCategory](https://developer.android.com/reference/android/content/Intent.html#addCategory(java.lang.String))."},"type":{"type":"intrinsic","name":"string"}},{"name":"className","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Class name of the ComponentName."},"type":{"type":"intrinsic","name":"string"}},{"name":"data","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A URI specifying the data that the intent should operate upon. (_Note:_ Android requires the URI\nscheme to be lowercase, unlike the formal RFC.)"},"type":{"type":"intrinsic","name":"string"}},{"name":"extra","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A map specifying additional key-value pairs which are passed with the intent as `extras`.\nThe keys must include a package prefix, for example the app `com.android.contacts` would use\nnames like `com.android.contacts.ShowAll`."},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"string"},{"type":"intrinsic","name":"any"}],"name":"Record"}},{"name":"flags","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Bitmask of flags to be used. See [Intent.setFlags]() for more details."},"type":{"type":"intrinsic","name":"number"}},{"name":"packageName","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Package name used as an identifier of ComponentName. Set this only if you want to explicitly\nset the component to handle the intent."},"type":{"type":"intrinsic","name":"string"}},{"name":"type","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A string specifying the MIME type of the data represented by the data parameter. Ignore this\nargument to allow Android to infer the correct MIME type."},"type":{"type":"intrinsic","name":"string"}}]},{"name":"IntentLauncherResult","kind":256,"kindString":"Interface","children":[{"name":"data","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Optional data URI that can be returned by the activity."},"type":{"type":"intrinsic","name":"string"}},{"name":"extra","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Optional extras object that can be returned by the activity."},"type":{"type":"intrinsic","name":"object"}},{"name":"resultCode","kind":1024,"kindString":"Property","comment":{"shortText":"Result code returned by the activity."},"type":{"type":"reference","name":"ResultCode"}}]},{"name":"startActivityAsync","kind":64,"kindString":"Function","signatures":[{"name":"startActivityAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Starts the specified activity. The method will return a promise which resolves when the user\nreturns to the app.","returns":"A promise which fulfils with `IntentLauncherResult` object.\n"},"parameters":[{"name":"activityAction","kind":32768,"kindString":"Parameter","comment":{"shortText":"The action to be performed, e.g. `IntentLauncher.ActivityAction.WIRELESS_SETTINGS`.\nThere are a few pre-defined constants you can use for this parameter.\nYou can find them at [expo-intent-launcher/src/IntentLauncher.ts](https://github.com/expo/expo/blob/master/packages/expo-intent-launcher/src/IntentLauncher.ts)."},"type":{"type":"reference","name":"ActivityAction"}},{"name":"params","kind":32768,"kindString":"Parameter","comment":{"shortText":"An object of intent parameters."},"type":{"type":"reference","name":"IntentLauncherParams"},"defaultValue":"{}"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"IntentLauncherResult"}],"name":"Promise"}}]}]} \ No newline at end of file +{"name":"expo-intent-launcher","kind":1,"kindString":"Project","originalName":"","children":[{"name":"ActivityAction","kind":8,"kindString":"Enumeration","comment":{"shortText":"Constants are from the source code of [Settings provider](https://developer.android.com/reference/android/provider/Settings)."},"children":[{"name":"ACCESSIBILITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACCESSIBILITY_SETTINGS\""},{"name":"ADD_ACCOUNT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ADD_ACCOUNT_SETTINGS\""},{"name":"AIRPLANE_MODE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.AIRPLANE_MODE_SETTINGS\""},{"name":"APN_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APN_SETTINGS\""},{"name":"APPLICATION_DETAILS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_DETAILS_SETTINGS\""},{"name":"APPLICATION_DEVELOPMENT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_DEVELOPMENT_SETTINGS\""},{"name":"APPLICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APPLICATION_SETTINGS\""},{"name":"APP_NOTIFICATION_REDACTION","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_APP_NOTIFICATION_REDACTION\""},{"name":"APP_NOTIFICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APP_NOTIFICATION_SETTINGS\""},{"name":"APP_OPS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.APP_OPS_SETTINGS\""},{"name":"BATTERY_SAVER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.BATTERY_SAVER_SETTINGS\""},{"name":"BLUETOOTH_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.BLUETOOTH_SETTINGS\""},{"name":"CAPTIONING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.CAPTIONING_SETTINGS\""},{"name":"CAST_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.CAST_SETTINGS\""},{"name":"CONDITION_PROVIDER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_CONDITION_PROVIDER_SETTINGS\""},{"name":"DATA_ROAMING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DATA_ROAMING_SETTINGS\""},{"name":"DATE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DATE_SETTINGS\""},{"name":"DEVICE_INFO_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DEVICE_INFO_SETTINGS\""},{"name":"DEVICE_NAME","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DEVICE_NAME\""},{"name":"DISPLAY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DISPLAY_SETTINGS\""},{"name":"DREAM_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.DREAM_SETTINGS\""},{"name":"HARD_KEYBOARD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.HARD_KEYBOARD_SETTINGS\""},{"name":"HOME_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.HOME_SETTINGS\""},{"name":"IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS\""},{"name":"IGNORE_BATTERY_OPTIMIZATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS\""},{"name":"INPUT_METHOD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INPUT_METHOD_SETTINGS\""},{"name":"INPUT_METHOD_SUBTYPE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INPUT_METHOD_SUBTYPE_SETTINGS\""},{"name":"INTERNAL_STORAGE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.INTERNAL_STORAGE_SETTINGS\""},{"name":"LOCALE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.LOCALE_SETTINGS\""},{"name":"LOCATION_SOURCE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.LOCATION_SOURCE_SETTINGS\""},{"name":"MANAGE_ALL_APPLICATIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS\""},{"name":"MANAGE_APPLICATIONS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_APPLICATIONS_SETTINGS\""},{"name":"MANAGE_DEFAULT_APPS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MANAGE_DEFAULT_APPS_SETTINGS\""},{"name":"MEMORY_CARD_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MEMORY_CARD_SETTINGS\""},{"name":"MONITORING_CERT_INFO","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.MONITORING_CERT_INFO\""},{"name":"NETWORK_OPERATOR_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NETWORK_OPERATOR_SETTINGS\""},{"name":"NFCSHARING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFCSHARING_SETTINGS\""},{"name":"NFC_PAYMENT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFC_PAYMENT_SETTINGS\""},{"name":"NFC_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NFC_SETTINGS\""},{"name":"NIGHT_DISPLAY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NIGHT_DISPLAY_SETTINGS\""},{"name":"NOTIFICATION_LISTENER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS\""},{"name":"NOTIFICATION_POLICY_ACCESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS\""},{"name":"NOTIFICATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.NOTIFICATION_SETTINGS\""},{"name":"PAIRING_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.PAIRING_SETTINGS\""},{"name":"PRINT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ACTION_PRINT_SETTINGS\""},{"name":"PRIVACY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.PRIVACY_SETTINGS\""},{"name":"QUICK_LAUNCH_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.QUICK_LAUNCH_SETTINGS\""},{"name":"REQUEST_IGNORE_BATTERY_OPTIMIZATIONS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS\""},{"name":"SECURITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SECURITY_SETTINGS\""},{"name":"SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SETTINGS\""},{"name":"SHOW_ADMIN_SUPPORT_DETAILS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_ADMIN_SUPPORT_DETAILS\""},{"name":"SHOW_INPUT_METHOD_PICKER","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_INPUT_METHOD_PICKER\""},{"name":"SHOW_REGULATORY_INFO","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_REGULATORY_INFO\""},{"name":"SHOW_REMOTE_BUGREPORT_DIALOG","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SHOW_REMOTE_BUGREPORT_DIALOG\""},{"name":"SOUND_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SOUND_SETTINGS\""},{"name":"STORAGE_MANAGER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.STORAGE_MANAGER_SETTINGS\""},{"name":"SYNC_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SYNC_SETTINGS\""},{"name":"SYSTEM_UPDATE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.SYSTEM_UPDATE_SETTINGS\""},{"name":"TETHER_PROVISIONING_UI","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.TETHER_PROVISIONING_UI\""},{"name":"TRUSTED_CREDENTIALS_USER","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.TRUSTED_CREDENTIALS_USER\""},{"name":"USAGE_ACCESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USAGE_ACCESS_SETTINGS\""},{"name":"USER_DICTIONARY_INSERT","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_DICTIONARY_INSERT\""},{"name":"USER_DICTIONARY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_DICTIONARY_SETTINGS\""},{"name":"USER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.USER_SETTINGS\""},{"name":"VOICE_CONTROL_AIRPLANE_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_AIRPLANE_MODE\""},{"name":"VOICE_CONTROL_BATTERY_SAVER_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_BATTERY_SAVER_MODE\""},{"name":"VOICE_CONTROL_DO_NOT_DISTURB_MODE","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_CONTROL_DO_NOT_DISTURB_MODE\""},{"name":"VOICE_INPUT_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VOICE_INPUT_SETTINGS\""},{"name":"VPN_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VPN_SETTINGS\""},{"name":"VR_LISTENER_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.VR_LISTENER_SETTINGS\""},{"name":"WEBVIEW_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WEBVIEW_SETTINGS\""},{"name":"WIFI_IP_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIFI_IP_SETTINGS\""},{"name":"WIFI_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIFI_SETTINGS\""},{"name":"WIRELESS_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.WIRELESS_SETTINGS\""},{"name":"ZEN_MODE_AUTOMATION_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_AUTOMATION_SETTINGS\""},{"name":"ZEN_MODE_EVENT_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_EVENT_RULE_SETTINGS\""},{"name":"ZEN_MODE_EXTERNAL_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_EXTERNAL_RULE_SETTINGS\""},{"name":"ZEN_MODE_PRIORITY_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_PRIORITY_SETTINGS\""},{"name":"ZEN_MODE_SCHEDULE_RULE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_SCHEDULE_RULE_SETTINGS\""},{"name":"ZEN_MODE_SETTINGS","kind":16,"kindString":"Enumeration member","defaultValue":"\"android.settings.ZEN_MODE_SETTINGS\""}]},{"name":"ResultCode","kind":8,"kindString":"Enumeration","children":[{"name":"Canceled","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Means that the activity was canceled, e.g. by tapping on the back button."},"defaultValue":"0"},{"name":"FirstUser","kind":16,"kindString":"Enumeration member","comment":{"shortText":"First custom, user-defined value that can be returned by the activity."},"defaultValue":"1"},{"name":"Success","kind":16,"kindString":"Enumeration member","comment":{"shortText":"Indicates that the activity operation succeeded."},"defaultValue":"-1"}]},{"name":"IntentLauncherParams","kind":256,"kindString":"Interface","children":[{"name":"category","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Category provides more details about the action the intent performs. See [Intent.addCategory](https://developer.android.com/reference/android/content/Intent.html#addCategory(java.lang.String))."},"type":{"type":"intrinsic","name":"string"}},{"name":"className","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Class name of the ComponentName."},"type":{"type":"intrinsic","name":"string"}},{"name":"data","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A URI specifying the data that the intent should operate upon. (_Note:_ Android requires the URI\nscheme to be lowercase, unlike the formal RFC.)"},"type":{"type":"intrinsic","name":"string"}},{"name":"extra","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A map specifying additional key-value pairs which are passed with the intent as `extras`.\nThe keys must include a package prefix, for example the app `com.android.contacts` would use\nnames like `com.android.contacts.ShowAll`."},"type":{"type":"reference","typeArguments":[{"type":"intrinsic","name":"string"},{"type":"intrinsic","name":"any"}],"name":"Record"}},{"name":"flags","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Bitmask of flags to be used. See [Intent.setFlags]() for more details."},"type":{"type":"intrinsic","name":"number"}},{"name":"packageName","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Package name used as an identifier of ComponentName. Set this only if you want to explicitly\nset the component to handle the intent."},"type":{"type":"intrinsic","name":"string"}},{"name":"type","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"A string specifying the MIME type of the data represented by the data parameter. Ignore this\nargument to allow Android to infer the correct MIME type."},"type":{"type":"intrinsic","name":"string"}}]},{"name":"IntentLauncherResult","kind":256,"kindString":"Interface","children":[{"name":"data","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Optional data URI that can be returned by the activity."},"type":{"type":"intrinsic","name":"string"}},{"name":"extra","kind":1024,"kindString":"Property","flags":{"isOptional":true},"comment":{"shortText":"Optional extras object that can be returned by the activity."},"type":{"type":"intrinsic","name":"object"}},{"name":"resultCode","kind":1024,"kindString":"Property","comment":{"shortText":"Result code returned by the activity."},"type":{"type":"reference","name":"ResultCode"}}]},{"name":"startActivityAsync","kind":64,"kindString":"Function","signatures":[{"name":"startActivityAsync","kind":4096,"kindString":"Call signature","comment":{"shortText":"Starts the specified activity. The method will return a promise which resolves when the user\nreturns to the app.","returns":"A promise which fulfils with `IntentLauncherResult` object.\n"},"parameters":[{"name":"activityAction","kind":32768,"kindString":"Parameter","comment":{"shortText":"The action to be performed, e.g. `IntentLauncher.ActivityAction.WIRELESS_SETTINGS`.\nThere are a few pre-defined constants you can use for this parameter.\nYou can find them at [expo-intent-launcher/src/IntentLauncher.ts](https://github.com/expo/expo/tree/main/packages/expo-intent-launcher/src/IntentLauncher.ts)."},"type":{"type":"reference","name":"ActivityAction"}},{"name":"params","kind":32768,"kindString":"Parameter","comment":{"shortText":"An object of intent parameters."},"type":{"type":"reference","name":"IntentLauncherParams"},"defaultValue":"{}"}],"type":{"type":"reference","typeArguments":[{"type":"reference","name":"IntentLauncherResult"}],"name":"Promise"}}]}]} \ No newline at end of file diff --git a/docs/scripts/schemas/unversioned/app-config-schema.js b/docs/scripts/schemas/unversioned/app-config-schema.js index 1e24ee88805da..c651dabe9b28d 100644 --- a/docs/scripts/schemas/unversioned/app-config-schema.js +++ b/docs/scripts/schemas/unversioned/app-config-schema.js @@ -1 +1 @@ -export default {"name":{"description":"The name of your app as it appears both within Expo Go and on your home screen as a standalone app.","type":"string","meta":{"bareWorkflow":"To change the name of your app, edit the 'Display Name' field in Xcode and the `app_name` string in `android/app/src/main/res/values/strings.xml`"}},"description":{"description":"A short description of what your app is and why it is great.","type":"string"},"slug":{"description":"The friendly URL name for publishing. For example, `myAppName` will refer to the `expo.dev/@project-owner/myAppName` project.","type":"string","pattern":"^[a-zA-Z0-9_\\-]+$"},"owner":{"description":"The Expo account name of the team owner, only applicable if you are enrolled in the EAS Priority Plan. If not provided, defaults to the username of the current user.","type":"string","minLength":1},"currentFullName":{"description":"The auto generated Expo account name and slug used for display purposes. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value may change when a project is transferred between accounts or renamed.","type":"string","meta":{"autogenerated":true}},"originalFullName":{"description":"The auto generated Expo account name and slug used for services like Notifications and AuthSession proxy. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value will not change when a project is transferred between accounts or renamed.","type":"string","meta":{"autogenerated":true}},"privacy":{"description":"Defaults to `unlisted`. `unlisted` hides the project from search results. `hidden` restricts access to the project page to only the owner and other users that have been granted access. Valid values: `public`, `unlisted`, `hidden`.","enum":["public","unlisted","hidden"],"type":"string","fallback":"unlisted"},"sdkVersion":{"description":"The Expo sdkVersion to run the project on. This should line up with the version specified in your package.json.","type":"string","pattern":"^(\\d+\\.\\d+\\.\\d+)|(UNVERSIONED)$"},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest for bare workflow projects. If provided, this must match the version set in Expo.plist or AndroidManifest.xml.","type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\" or \"-\". Example: \"1.0.3a+\"."}},"version":{"description":"Your app version. In addition to this field, you'll also use `ios.buildNumber` and `android.versionCode` — read more about how to version your app [here](https://docs.expo.dev/distribution/app-stores/#versioning-your-app). On iOS this corresponds to `CFBundleShortVersionString`, and on Android, this corresponds to `versionName`. The required format can be found [here](https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring).","type":"string","meta":{"bareWorkflow":"To change your app version, edit the 'Version' field in Xcode and the `versionName` string in `android/app/build.gradle`"}},"platforms":{"description":"Platforms that your project explicitly supports. If not specified, it defaults to `[\"ios\", \"android\"]`.","example":["ios","android","web"],"type":"array","uniqueItems":true,"items":{"type":"string","enum":["android","ios","web"]}},"githubUrl":{"description":"If you would like to share the source code of your app on Github, enter the URL for the repository here and it will be linked to from your Expo project page.","pattern":"^https://github\\.com/","example":"https://github.com/expo/expo","type":["string"]},"orientation":{"description":"Locks your app to a specific orientation with portrait or landscape. Defaults to no lock. Valid values: `default`, `portrait`, `landscape`","enum":["default","portrait","landscape"],"type":"string"},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"backgroundColor":{"description":"The background color for your app, behind any of your React views. This is also known as the root view background color.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`. Default is white: `'#ffffff'`"}},"primaryColor":{"description":"On Android, this will determine the color of your app in the multitasker. Currently this is not used on iOS, but it may be used for other purposes in the future.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon. We recommend that you use a 1024x1024 png file. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true,"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-`. Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each existing size."}},"notification":{"description":"Configuration for remote (push) notifications.","type":"object","properties":{"icon":{"description":"(Android only) Local path or remote URL to an image to use as the icon for push notifications. 96x96 png grayscale with transparency. We recommend following [Google's design guidelines](https://material.io/design/iconography/product-icons.html#design-principles). If not provided, defaults to your app icon.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"color":{"description":"(Android only) Tint color for the push notification image when it appears in the notification tray. Defaults to `#ffffff`","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"iosDisplayInForeground":{"description":"Whether or not to display notifications when the app is in the foreground on iOS. `_displayInForeground` option in the individual push notification message overrides this option. [Learn more.](https://docs.expo.dev/push-notifications/receiving-notifications/#foreground-notification-behavior) Defaults to `false`.","type":"boolean"},"androidMode":{"description":"Show each push notification individually (`default`) or collapse into one (`collapse`).","enum":["default","collapse"],"type":"string"},"androidCollapsedTitle":{"description":"If `androidMode` is set to `collapse`, this title is used for the collapsed notification message. For example, `'#{unread_notifications} new interactions'`.","type":"string"}},"additionalProperties":false},"appKey":{"description":"By default, Expo looks for the application registered with the AppRegistry as `main`. If you would like to change this, you can specify the name in this property.","type":"string"},"androidStatusBar":{"description":"Configuration for the status bar on Android. For more details please navigate to [Configuring StatusBar](https://docs.expo.dev/guides/configuring-statusbar/).","type":"object","properties":{"barStyle":{"description":"Configures the status bar icons to have a light or dark color. Valid values: `light-content`, `dark-content`. Defaults to `dark-content`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the status bar. Defaults to `#00000000` (transparent) for `dark-content` bar style and `#00000088` (semi-transparent black) for `light-content` bar style","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string `'#RRGGBB'`, for example, `'#000000'` for black. Or 8 character long hex color string `'#RRGGBBAA'`, for example, `'#00000088'` for semi-transparent black."}},"hidden":{"description":"Instructs the system whether the status bar should be visible or not. Defaults to `false`","type":"boolean"},"translucent":{"description":"Sets `android:windowTranslucentStatus` in `styles.xml`. When false, the system status bar pushes the content of your app down (similar to `position: relative`). When true, the status bar floats above the content in your app (similar to `position: absolute`). Defaults to `true` to match the iOS status bar behavior (which can only float above content).","type":"boolean"}},"additionalProperties":false},"androidNavigationBar":{"description":"Configuration for the bottom navigation bar on Android.","type":"object","properties":{"visible":{"description":"Determines how and when the navigation bar is shown. [Learn more](https://developer.android.com/training/system-ui/immersive). Valid values: `leanback`, `immersive`, `sticky-immersive` \n\n `leanback` results in the navigation bar being hidden until the first touch gesture is registered. \n\n `immersive` results in the navigation bar being hidden until the user swipes up from the edge where the navigation bar is hidden. \n\n `sticky-immersive` is identical to `'immersive'` except that the navigation bar will be semi-transparent and will be hidden again after a short period of time","type":"string","enum":["leanback","immersive","sticky-immersive"]},"barStyle":{"description":"Configure the navigation bar icons to have a light or dark color. Supported on Android Oreo and newer. Valid values: `'light-content'`, `'dark-content'`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the navigation bar.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"developmentClient":{"description":"Settings that apply specifically to running this app in a development client","type":"object","properties":{"silentLaunch":{"description":"If true, the app will launch in a development client with no additional dialogs or progress indicators, just like in a standalone app.","type":"boolean","fallback":false}},"additionalProperties":false},"scheme":{"description":"**Standalone Apps Only**. URL scheme to link into your app. For example, if we set this to `'demo'`, then demo:// URLs would open your app when tapped.","type":"string","pattern":"^[a-z][a-z0-9+.-]*$","meta":{"regexHuman":"String beginning with a **lowercase** letter followed by any combination of **lowercase** letters, digits, \"+\", \".\" or \"-\"","standaloneOnly":true,"bareWorkflow":"To change your app's scheme, replace all occurrences of the old scheme in `Info.plist` and `AndroidManifest.xml`"}},"entryPoint":{"description":"The relative path to your main JavaScript file.","type":"string"},"extra":{"description":"Any extra fields you want to pass to your experience. Values are accessible via `Expo.Constants.manifest.extra` ([Learn more](https://docs.expo.dev/versions/latest/sdk/constants/#constantsmanifest))","type":"object","properties":{},"additionalProperties":true},"packagerOpts":{"description":"@deprecated Use a `metro.config.js` file instead. [Learn more](https://docs.expo.dev/guides/customizing-metro/)","meta":{"deprecated":true,"autogenerated":true},"type":"object","properties":{},"additionalProperties":true},"updates":{"description":"Configuration for how and when the app should request OTA JavaScript updates","type":"object","properties":{"enabled":{"description":"If set to false, your standalone app will never download any code, and will only use code bundled locally on the device. In that case, all updates to your app must be submitted through app store review. Defaults to true. (Note: This will not work out of the box with ExpoKit projects)","type":"boolean"},"checkAutomatically":{"description":"By default, Expo will check for updates every time the app is loaded. Set this to `ON_ERROR_RECOVERY` to disable automatic checking unless recovering from an error. Must be one of `ON_LOAD` or `ON_ERROR_RECOVERY`","enum":["ON_ERROR_RECOVERY","ON_LOAD"],"type":"string"},"fallbackToCacheTimeout":{"description":"How long (in ms) to allow for fetching OTA updates before falling back to a cached version of the app. Defaults to 0. Must be between 0 and 300000 (5 minutes).","type":"number","minimum":0,"maximum":300000},"url":{"description":"URL from which expo-updates will fetch update manifests","type":"string"}},"additionalProperties":false},"locales":{"description":"Provide overrides by locale for System Dialog prompts like Permissions Boxes","type":"object","properties":{},"meta":{"bareWorkflow":"To add or change language and localization information in your iOS app, you need to use Xcode."},"additionalProperties":{"type":["string","object"]}},"facebookAppId":{"description":"Used for all Facebook libraries. Set up your Facebook App ID at https://developers.facebook.com.","type":"string","pattern":"^[0-9]+$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAutoInitEnabled":{"description":"Whether the Facebook SDK should be initialized automatically. The default in Expo (Client and in standalone apps) is `false`.","type":"boolean"},"facebookAutoLogAppEventsEnabled":{"description":"Whether the Facebook SDK log app events automatically. If you don't set this property, Facebook's default will be used. (Applicable only to standalone apps.) Note: The Facebook SDK must be initialized for app events to work. You may autoinitialize Facebook SDK by setting `facebookAutoInitEnabled` to `true`","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAdvertiserIDCollectionEnabled":{"description":"Whether the Facebook SDK should collect advertiser ID properties, like the Apple IDFA and Android Advertising ID, automatically. If you don't set this property, Facebook's default policy will be used. (Applicable only to standalone apps.)","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookDisplayName":{"description":"Used for native Facebook login.","type":"string","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookScheme":{"description":"Used for Facebook native login. Starts with 'fb' and followed by a string of digits, like 'fb1234567890'. You can find your scheme [here](https://developers.facebook.com/docs/facebook-login/ios)in the 'Configuring Your info.plist' section (only applicable to standalone apps and custom Expo Go apps).","type":"string","pattern":"^fb[0-9]+[A-Za-z]*$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"isDetached":{"description":"Is app detached","type":"boolean","meta":{"autogenerated":true}},"detach":{"description":"Extra fields needed by detached apps","type":"object","properties":{},"meta":{"autogenerated":true},"additionalProperties":true},"assetBundlePatterns":{"description":"An array of file glob strings which point to assets that will be bundled within your standalone app binary. Read more in the [Offline Support guide](https://docs.expo.dev/guides/offline-support/)","type":"array","items":{"type":"string"}},"plugins":{"description":"Config plugins for adding extra functionality to your project. [Learn more](https://docs.expo.dev/guides/config-plugins/).","meta":{"bareWorkflow":"Plugins that add modifications can only be used with [prebuilding](https://expo.fyi/prebuilding) and managed EAS Build"},"type":"array","items":{"anyOf":[{"type":["string"]},{"type":"array","items":[{"type":["string"]},{}],"additionalItems":false}]}},"splash":{"description":"Configuration for loading and splash screen for standalone apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"For Android, edit the `colorPrimary` item in `android/app/src/main/res/values/colors.xml`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-` (Android Studio can [generate the appropriate image files for you](https://developer.android.com/studio/write/image-asset-studio)). Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each required size."}},"ios":{"description":"Configuration that is specific to the iOS platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"bundleIdentifier":{"description":"The bundle identifier for your iOS standalone app. You make it up, but it needs to be unique on the App Store. See [this StackOverflow question](http://stackoverflow.com/questions/11347470/what-does-bundle-identifier-mean-in-the-ios-project).","type":"string","pattern":"^[a-zA-Z0-9.-]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`","regexHuman":"iOS bundle identifier notation unique name for your app. For example, `host.exp.expo`, where `exp.host` is our domain and `expo` is our app name."}},"buildNumber":{"description":"Build number for your iOS standalone app. Corresponds to `CFBundleVersion` and must match Apple's [specified format](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102364). (Note: Transporter will pull the value for `Version Number` from `expo.version` and NOT from `expo.ios.buildNumber`.)","type":"string","pattern":"^[A-Za-z0-9\\.]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`"}},"backgroundColor":{"description":"The background color for your iOS app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on iOS. If specified, this overrides the top-level `icon` key. Use a 1024x1024 icon which follows Apple's interface guidelines for icons, including color profile and transparency. \n\n Expo will generate the other required sizes. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"merchantId":{"description":"@deprecated Merchant ID for use with Apple Pay in your standalone app.","type":"string","meta":{"deprecated":true}},"appStoreUrl":{"description":"URL to your app on the Apple App Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://(itunes|apps)\\.apple\\.com/.*?\\d+","example":"https://apps.apple.com/us/app/expo-client/id982107779","type":["string"]},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"usesNonExemptEncryption":{"description":"Sets `ITSAppUsesNonExemptEncryption` in the standalone ipa's Info.plist to the given boolean value.","type":"boolean"},"googleMapsApiKey":{"description":"[Google Maps iOS SDK](https://developers.google.com/maps/documentation/ios-sdk/start) key for your standalone app.","type":"string"},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Go and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`.](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"description":"[Google Sign-In iOS SDK](https://developers.google.com/identity/sign-in/ios/start-integrating) keys for your standalone app.","type":"object","properties":{"reservedClientId":{"description":"The reserved client ID URL scheme. Can be found in `GoogleService-Info.plist`.","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase.","type":"string"},"supportsTablet":{"description":"Whether your standalone iOS app supports tablet screen sizes. Defaults to `false`.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations~ipad`"}},"isTabletOnly":{"description":"If true, indicates that your standalone iOS app does not support handsets, and only supports tablets.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations`"}},"requireFullScreen":{"description":"If true, indicates that your standalone iOS app does not support Slide Over and Split View on iPad. Defaults to `false`","type":"boolean","meta":{"bareWorkflow":"Use Xcode to set `UIRequiresFullScreen`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"infoPlist":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native Info.plist. Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"entitlements":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native *.entitlements (plist). Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"associatedDomains":{"description":"An array that contains Associated Domains for the standalone app. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains).","type":"array","uniqueItems":true,"items":{"type":"string"},"meta":{"regexHuman":"Entries must follow the format `applinks:[:port number]`. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains).","bareWorkflow":"Build with EAS, or use Xcode to enable this capability manually. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains)."}},"usesIcloudStorage":{"description":"A boolean indicating if the app uses iCloud Storage for `DocumentPicker`. See `DocumentPicker` docs for details.","type":"boolean","meta":{"bareWorkflow":"Use Xcode, or ios.entitlements to configure this."}},"usesAppleSignIn":{"description":"A boolean indicating if the app uses Apple Sign-In. See `AppleAuthentication` docs for details.","type":"boolean","fallback":false},"accessesContactNotes":{"description":"A Boolean value that indicates whether the app may access the notes stored in contacts. You must [receive permission from Apple](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_contacts_notes) before you can submit your app for review with this capability.","type":"boolean","fallback":false},"splash":{"description":"Configuration for loading and splash screen for standalone iOS apps.","type":"object","properties":{"xib":{"description":"@deprecated Apple has deprecated `.xib` splash screens in favor of `.storyboard` files. Local path to a XIB file as the loading screen. It overrides other loading screen options. Note: This will only be used in the standalone app (i.e., after you build the app). It will not be used in the Expo Go.","type":"string","meta":{"deprecated":true,"asset":true,"contentTypePattern":"^text/xml$","contentTypeHuman":".xib interface builder document"}},"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"tabletImage":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}}},"additionalProperties":false},"android":{"description":"Configuration that is specific to the Android platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"package":{"description":"The package name for your Android standalone app. You make it up, but it needs to be unique on the Play Store. See [this StackOverflow question](http://stackoverflow.com/questions/6273892/android-package-name-convention).","type":"string","pattern":"^[a-zA-Z][a-zA-Z0-9\\_]*(\\.[a-zA-Z][a-zA-Z0-9\\_]*)+$","meta":{"regexHuman":"Reverse DNS notation unique name for your app. Valid Android Application ID. For example, `com.example.app`, where `com.example` is our domain and `app` is our app. The name may only contain lowercase and uppercase letters (a-z, A-Z), numbers (0-9) and underscores (_), separated by periods (.). Each component of the name should start with a lowercase letter.","bareWorkflow":"This is set in `android/app/build.gradle` as `applicationId` as well as in your `AndroidManifest.xml` file (multiple places)."}},"versionCode":{"description":"Version number required by Google Play. Increment by one for each release. Must be a positive integer. [Learn more](https://developer.android.com/studio/publish/versioning.html)","type":"integer","minimum":0,"maximum":2100000000,"meta":{"bareWorkflow":"This is set in `android/app/build.gradle` as `versionCode`"}},"backgroundColor":{"description":"The background color for your Android app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"This is set in `android/app/src/main/AndroidManifest.xml` under `android:windowBackground`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"useNextNotificationsApi":{"deprecated":true,"description":"@deprecated A Boolean value that indicates whether the app should use the new notifications API.","type":"boolean","fallback":false},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` key. We recommend that you use a 1024x1024 png file (transparency is recommended for the Google Play Store). This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"adaptiveIcon":{"description":"Settings for an Adaptive Launcher Icon on Android. [Learn more](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)","type":"object","properties":{"foregroundImage":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` and the `android.icon` keys. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive). This icon will appear on the home screen.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundImage":{"description":"Local path or remote URL to a background image for your app's Adaptive Icon on Android. If specified, this overrides the `backgroundColor` key. Must have the same dimensions as foregroundImage`, and has no effect if `foregroundImage` is not specified. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive).","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundColor":{"description":"Color to use as the background for your app's Adaptive Icon on Android. Defaults to white, `#FFFFFF`. Has no effect if `foregroundImage` is not specified.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"playStoreUrl":{"description":"URL to your app on the Google Play Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://play\\.google\\.com/","example":"https://play.google.com/store/apps/details?id=host.exp.exponent","type":["string"]},"permissions":{"description":"List of permissions used by the standalone app. \n\n To use ONLY the following minimum necessary permissions and none of the extras supported by Expo in a default managed app, set `permissions` to `[]`. The minimum necessary permissions do not require a Privacy Policy when uploading to Google Play Store and are: \n• receive data from Internet \n• view network connections \n• full network access \n• change your audio settings \n• prevent device from sleeping \n\n To use ALL permissions supported by Expo by default, do not specify the `permissions` key. \n\n To use the minimum necessary permissions ALONG with certain additional permissions, specify those extras in `permissions`, e.g.\n\n `[ \"CAMERA\", \"ACCESS_FINE_LOCATION\" ]`.\n\n You can specify the following permissions depending on what you need:\n\n- `ACCESS_COARSE_LOCATION`\n- `ACCESS_FINE_LOCATION`\n- `ACCESS_BACKGROUND_LOCATION`\n- `CAMERA`\n- `RECORD_AUDIO`\n- `READ_CONTACTS`\n- `WRITE_CONTACTS`\n- `READ_CALENDAR`\n- `WRITE_CALENDAR`\n- `READ_EXTERNAL_STORAGE`\n- `WRITE_EXTERNAL_STORAGE`\n- `USE_FINGERPRINT`\n- `USE_BIOMETRIC`\n- `WRITE_SETTINGS`\n- `VIBRATE`\n- `READ_PHONE_STATE`\n- `com.anddoes.launcher.permission.UPDATE_COUNT`\n- `com.android.launcher.permission.INSTALL_SHORTCUT`\n- `com.google.android.c2dm.permission.RECEIVE`\n- `com.google.android.gms.permission.ACTIVITY_RECOGNITION`\n- `com.google.android.providers.gsf.permission.READ_GSERVICES`\n- `com.htc.launcher.permission.READ_SETTINGS`\n- `com.htc.launcher.permission.UPDATE_SHORTCUT`\n- `com.majeur.launcher.permission.UPDATE_BADGE`\n- `com.sec.android.provider.badge.permission.READ`\n- `com.sec.android.provider.badge.permission.WRITE`\n- `com.sonyericsson.home.permission.BROADCAST_BADGE`\n","type":"array","meta":{"bareWorkflow":"To change the permissions your app requests, you'll need to edit `AndroidManifest.xml` manually. To prevent your app from requesting one of the permissions listed below, you'll need to explicitly add it to `AndroidManifest.xml` along with a `tools:node=\"remove\"` tag."},"items":{"type":"string"}},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase. Including this key automatically enables FCM in your standalone app.","type":"string","meta":{"bareWorkflow":"Add or edit the file directly at `android/app/google-services.json`"}},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"googleMaps":{"description":"[Google Maps Android SDK](https://developers.google.com/maps/documentation/android-api/signup) configuration for your standalone app.","type":"object","properties":{"apiKey":{"description":"Your Google Maps Android SDK API key","type":"string"}},"additionalProperties":false},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Client and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"deprecated":true,"meta":{"deprecated":true},"description":"@deprecated Use `googleServicesFile` instead. [Google Sign-In Android SDK](https://developers.google.com/identity/sign-in/android/start-integrating) keys for your standalone app.","type":"object","properties":{"apiKey":{"description":"The Android API key. Can be found in the credentials section of the developer console or in `google-services.json`.","type":"string"},"certificateHash":{"description":"The SHA-1 hash of the signing certificate used to build the APK without any separator (`:`). Can be found in `google-services.json`. https://developers.google.com/android/guides/client-auth","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"splash":{"description":"Configuration for loading and splash screen for managed and standalone Android apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover`, `contain` or `native`, defaults to `contain`.","enum":["cover","contain","native"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"mdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Natural sized image (baseline)`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"hdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 1.5x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 2x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 3x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 4x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}},"intentFilters":{"description":"Configuration for setting an array of custom intent filters in Android manifest. [Learn more](https://developer.android.com/guide/components/intents-filters)","example":[{"autoVerify":true,"action":"VIEW","data":{"scheme":"https","host":"*.example.com"},"category":["BROWSABLE","DEFAULT"]}],"exampleString":"\n [{ \n \"autoVerify\": true, \n \"action\": \"VIEW\", \n \"data\": { \n \"scheme\": \"https\", \n \"host\": \"*.example.com\" \n }, \n \"category\": [\"BROWSABLE\", \"DEFAULT\"] \n }]","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"autoVerify":{"description":"You may also use an intent filter to set your app as the default handler for links (without showing the user a dialog with options). To do so use `true` and then configure your server to serve a JSON file verifying that you own the domain. [Learn more](developer.android.com/training/app-links)","type":"boolean"},"action":{"type":"string"},"data":{"anyOf":[{"type":"object","properties":{"scheme":{"description":"Scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"Hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"Port, e.g. `3000`","type":"string"},"path":{"description":"Exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":"Pattern for paths that should be matched by the filter, e.g. `.*`. Must begin with `/`","type":"string"},"pathPrefix":{"description":"Prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false},{"type":["array"],"items":{"type":"object","properties":{"scheme":{"description":"Scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"Hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"Port, e.g. `3000`","type":"string"},"path":{"description":"Exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":"Pattern for paths that should be matched by the filter, e.g. `.*`. Must begin with `/`","type":"string"},"pathPrefix":{"description":"Prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false}}]},"category":{"anyOf":[{"type":["string"]},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false,"required":["action"]},"meta":{"bareWorkflow":"This is set in `AndroidManifest.xml` directly. [Learn more.](developer.android.com/guide/components/intents-filters)"}},"allowBackup":{"description":"Allows your user's app data to be automatically backed up to their Google Drive. If this is set to false, no backup or restore of the application will ever be performed (this is useful if your app deals with sensitive information). Defaults to the Android default, which is `true`.","fallback":true,"type":"boolean"},"softwareKeyboardLayoutMode":{"description":"Determines how the software keyboard will impact the layout of your application. This maps to the `android:windowSoftInputMode` property. Defaults to `resize`. Valid values: `resize`, `pan`.","enum":["resize","pan"],"type":"string","fallback":"resize"},"jsEngine":{"description":"Specifies the JavaScript engine. Supported only on EAS Build. Defaults to `jsc`. Valid values: `hermes`, `jsc`.","type":"string","fallback":"jsc","enum":["hermes","jsc"],"meta":{"bareWorkflow":"To change the JavaScript engine, update the `expo.jsEngine` value in `android/gradle.properties`"}}},"additionalProperties":false},"web":{"description":"Configuration that is specific to the web platform.","type":"object","additionalProperties":true,"properties":{"favicon":{"description":"Relative path of an image to use for your app's favicon.","type":"string"},"name":{"description":"Defines the title of the document, defaults to the outer level name","type":"string","meta":{"pwa":"name"}},"shortName":{"description":"A short version of the app's name, 12 characters or fewer. Used in app launcher and new tab pages. Maps to `short_name` in the PWA manifest.json. Defaults to the `name` property.","type":"string","meta":{"pwa":"short_name","regexHuman":"Maximum 12 characters long"}},"lang":{"description":"Specifies the primary language for the values in the name and short_name members. This value is a string containing a single language tag.","type":"string","fallback":"en","meta":{"pwa":"lang"}},"scope":{"description":"Defines the navigation scope of this website's context. This restricts what web pages can be viewed while the manifest is applied. If the user navigates outside the scope, it returns to a normal web page inside a browser tab/window. If the scope is a relative URL, the base URL will be the URL of the manifest.","type":"string","meta":{"pwa":"scope"}},"themeColor":{"description":"Defines the color of the Android tool bar, and may be reflected in the app's preview in task switchers.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"theme_color","html":"theme-color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"description":{"description":"Provides a general description of what the pinned website does.","type":"string","meta":{"html":"description","pwa":"description"}},"dir":{"description":"Specifies the primary text direction for the name, short_name, and description members. Together with the lang member, it helps the correct display of right-to-left languages.","enum":["auto","ltr","rtl"],"type":"string","meta":{"pwa":"dir"}},"display":{"description":"Defines the developers’ preferred display mode for the website.","enum":["fullscreen","standalone","minimal-ui","browser"],"type":"string","meta":{"pwa":"display"}},"startUrl":{"description":"The URL that loads when a user launches the application (e.g., when added to home screen), typically the index. Note: This has to be a relative URL, relative to the manifest URL.","type":"string","meta":{"pwa":"start_url"}},"orientation":{"description":"Defines the default orientation for all the website's top level browsing contexts.","enum":["any","natural","landscape","landscape-primary","landscape-secondary","portrait","portrait-primary","portrait-secondary"],"type":"string","meta":{"pwa":"orientation"}},"backgroundColor":{"description":"Defines the expected “background color” for the website. This value repeats what is already available in the site’s CSS, but can be used by browsers to draw the background color of a shortcut when the manifest is available before the stylesheet has loaded. This creates a smooth transition between launching the web application and loading the site's content.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"background_color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"barStyle":{"description":"If content is set to default, the status bar appears normal. If set to black, the status bar has a black background. If set to black-translucent, the status bar is black and translucent. If set to default or black, the web content is displayed below the status bar. If set to black-translucent, the web content is displayed on the entire screen, partially obscured by the status bar.","enum":["default","black","black-translucent"],"type":"string","fallback":"black-translucent","meta":{"html":"apple-mobile-web-app-status-bar-style","pwa":"name"}},"preferRelatedApplications":{"description":"Hints for the user agent to indicate to the user that the specified native applications (defined in expo.ios and expo.android) are recommended over the website.","type":"boolean","fallback":true,"meta":{"pwa":"prefer_related_applications"}},"dangerous":{"description":"Experimental features. These will break without deprecation notice.","type":"object","properties":{},"additionalProperties":true},"splash":{"description":"Configuration for PWA splash screens.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"Use [expo-splash-screen](https://github.com/expo/expo/tree/master/packages/expo-splash-screen#expo-splash-screen)"}},"config":{"description":"Firebase web configuration. Used by the expo-firebase packages on both web and native. [Learn more](https://firebase.google.com/docs/reference/js/firebase.html#initializeapp)","type":"object","properties":{"firebase":{"type":"object","properties":{"apiKey":{"type":"string"},"authDomain":{"type":"string"},"databaseURL":{"type":"string"},"projectId":{"type":"string"},"storageBucket":{"type":"string"},"messagingSenderId":{"type":"string"},"appId":{"type":"string"},"measurementId":{"type":"string"}}}}}}},"hooks":{"description":"Configuration for scripts to run to hook into the publish process","type":"object","additionalProperties":false,"properties":{"postPublish":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}},"postExport":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}}}},"experiments":{"description":"Enable experimental features that may be unstable, unsupported, or removed without deprecation notices.","type":"object","additionalProperties":false,"properties":{"turboModules":{"description":"Enables Turbo Modules, which are a type of native modules that use a different way of communicating between JS and platform code. When installing a Turbo Module you will need to enable this experimental option (the library still needs to be a part of Expo SDK already, like react-native-reanimated v2). Turbo Modules do not support remote debugging and enabling this option will disable remote debugging.","type":"boolean","fallback":false}}},"_internal":{"description":"Internal properties for developer tools","type":"object","properties":{"pluginHistory":{"description":"List of plugins already run on the config","type":"object","properties":{},"additionalProperties":true}},"additionalProperties":true,"meta":{"autogenerated":true}}} \ No newline at end of file +export default {"name":{"description":"The name of your app as it appears both within Expo Go and on your home screen as a standalone app.","type":"string","meta":{"bareWorkflow":"To change the name of your app, edit the 'Display Name' field in Xcode and the `app_name` string in `android/app/src/main/res/values/strings.xml`"}},"description":{"description":"A short description of what your app is and why it is great.","type":"string"},"slug":{"description":"The friendly URL name for publishing. For example, `myAppName` will refer to the `expo.dev/@project-owner/myAppName` project.","type":"string","pattern":"^[a-zA-Z0-9_\\-]+$"},"owner":{"description":"The Expo account name of the team owner, only applicable if you are enrolled in the EAS Priority Plan. If not provided, defaults to the username of the current user.","type":"string","minLength":1},"currentFullName":{"description":"The auto generated Expo account name and slug used for display purposes. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value may change when a project is transferred between accounts or renamed.","type":"string","meta":{"autogenerated":true}},"originalFullName":{"description":"The auto generated Expo account name and slug used for services like Notifications and AuthSession proxy. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value will not change when a project is transferred between accounts or renamed.","type":"string","meta":{"autogenerated":true}},"privacy":{"description":"Defaults to `unlisted`. `unlisted` hides the project from search results. `hidden` restricts access to the project page to only the owner and other users that have been granted access. Valid values: `public`, `unlisted`, `hidden`.","enum":["public","unlisted","hidden"],"type":"string","fallback":"unlisted"},"sdkVersion":{"description":"The Expo sdkVersion to run the project on. This should line up with the version specified in your package.json.","type":"string","pattern":"^(\\d+\\.\\d+\\.\\d+)|(UNVERSIONED)$"},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest for bare workflow projects. If provided, this must match the version set in Expo.plist or AndroidManifest.xml.","type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\" or \"-\". Example: \"1.0.3a+\"."}},"version":{"description":"Your app version. In addition to this field, you'll also use `ios.buildNumber` and `android.versionCode` — read more about how to version your app [here](https://docs.expo.dev/distribution/app-stores/#versioning-your-app). On iOS this corresponds to `CFBundleShortVersionString`, and on Android, this corresponds to `versionName`. The required format can be found [here](https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring).","type":"string","meta":{"bareWorkflow":"To change your app version, edit the 'Version' field in Xcode and the `versionName` string in `android/app/build.gradle`"}},"platforms":{"description":"Platforms that your project explicitly supports. If not specified, it defaults to `[\"ios\", \"android\"]`.","example":["ios","android","web"],"type":"array","uniqueItems":true,"items":{"type":"string","enum":["android","ios","web"]}},"githubUrl":{"description":"If you would like to share the source code of your app on Github, enter the URL for the repository here and it will be linked to from your Expo project page.","pattern":"^https://github\\.com/","example":"https://github.com/expo/expo","type":["string"]},"orientation":{"description":"Locks your app to a specific orientation with portrait or landscape. Defaults to no lock. Valid values: `default`, `portrait`, `landscape`","enum":["default","portrait","landscape"],"type":"string"},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"backgroundColor":{"description":"The background color for your app, behind any of your React views. This is also known as the root view background color.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`. Default is white: `'#ffffff'`"}},"primaryColor":{"description":"On Android, this will determine the color of your app in the multitasker. Currently this is not used on iOS, but it may be used for other purposes in the future.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon. We recommend that you use a 1024x1024 png file. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true,"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-`. Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each existing size."}},"notification":{"description":"Configuration for remote (push) notifications.","type":"object","properties":{"icon":{"description":"(Android only) Local path or remote URL to an image to use as the icon for push notifications. 96x96 png grayscale with transparency. We recommend following [Google's design guidelines](https://material.io/design/iconography/product-icons.html#design-principles). If not provided, defaults to your app icon.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"color":{"description":"(Android only) Tint color for the push notification image when it appears in the notification tray. Defaults to `#ffffff`","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"iosDisplayInForeground":{"description":"Whether or not to display notifications when the app is in the foreground on iOS. `_displayInForeground` option in the individual push notification message overrides this option. [Learn more.](https://docs.expo.dev/push-notifications/receiving-notifications/#foreground-notification-behavior) Defaults to `false`.","type":"boolean"},"androidMode":{"description":"Show each push notification individually (`default`) or collapse into one (`collapse`).","enum":["default","collapse"],"type":"string"},"androidCollapsedTitle":{"description":"If `androidMode` is set to `collapse`, this title is used for the collapsed notification message. For example, `'#{unread_notifications} new interactions'`.","type":"string"}},"additionalProperties":false},"appKey":{"description":"By default, Expo looks for the application registered with the AppRegistry as `main`. If you would like to change this, you can specify the name in this property.","type":"string"},"androidStatusBar":{"description":"Configuration for the status bar on Android. For more details please navigate to [Configuring StatusBar](https://docs.expo.dev/guides/configuring-statusbar/).","type":"object","properties":{"barStyle":{"description":"Configures the status bar icons to have a light or dark color. Valid values: `light-content`, `dark-content`. Defaults to `dark-content`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the status bar. Defaults to `#00000000` (transparent) for `dark-content` bar style and `#00000088` (semi-transparent black) for `light-content` bar style","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string `'#RRGGBB'`, for example, `'#000000'` for black. Or 8 character long hex color string `'#RRGGBBAA'`, for example, `'#00000088'` for semi-transparent black."}},"hidden":{"description":"Instructs the system whether the status bar should be visible or not. Defaults to `false`","type":"boolean"},"translucent":{"description":"Sets `android:windowTranslucentStatus` in `styles.xml`. When false, the system status bar pushes the content of your app down (similar to `position: relative`). When true, the status bar floats above the content in your app (similar to `position: absolute`). Defaults to `true` to match the iOS status bar behavior (which can only float above content).","type":"boolean"}},"additionalProperties":false},"androidNavigationBar":{"description":"Configuration for the bottom navigation bar on Android.","type":"object","properties":{"visible":{"description":"Determines how and when the navigation bar is shown. [Learn more](https://developer.android.com/training/system-ui/immersive). Valid values: `leanback`, `immersive`, `sticky-immersive` \n\n `leanback` results in the navigation bar being hidden until the first touch gesture is registered. \n\n `immersive` results in the navigation bar being hidden until the user swipes up from the edge where the navigation bar is hidden. \n\n `sticky-immersive` is identical to `'immersive'` except that the navigation bar will be semi-transparent and will be hidden again after a short period of time","type":"string","enum":["leanback","immersive","sticky-immersive"]},"barStyle":{"description":"Configure the navigation bar icons to have a light or dark color. Supported on Android Oreo and newer. Valid values: `'light-content'`, `'dark-content'`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the navigation bar.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"developmentClient":{"description":"Settings that apply specifically to running this app in a development client","type":"object","properties":{"silentLaunch":{"description":"If true, the app will launch in a development client with no additional dialogs or progress indicators, just like in a standalone app.","type":"boolean","fallback":false}},"additionalProperties":false},"scheme":{"description":"**Standalone Apps Only**. URL scheme to link into your app. For example, if we set this to `'demo'`, then demo:// URLs would open your app when tapped.","type":"string","pattern":"^[a-z][a-z0-9+.-]*$","meta":{"regexHuman":"String beginning with a **lowercase** letter followed by any combination of **lowercase** letters, digits, \"+\", \".\" or \"-\"","standaloneOnly":true,"bareWorkflow":"To change your app's scheme, replace all occurrences of the old scheme in `Info.plist` and `AndroidManifest.xml`"}},"entryPoint":{"description":"The relative path to your main JavaScript file.","type":"string"},"extra":{"description":"Any extra fields you want to pass to your experience. Values are accessible via `Expo.Constants.manifest.extra` ([Learn more](https://docs.expo.dev/versions/latest/sdk/constants/#constantsmanifest))","type":"object","properties":{},"additionalProperties":true},"packagerOpts":{"description":"@deprecated Use a `metro.config.js` file instead. [Learn more](https://docs.expo.dev/guides/customizing-metro/)","meta":{"deprecated":true,"autogenerated":true},"type":"object","properties":{},"additionalProperties":true},"updates":{"description":"Configuration for how and when the app should request OTA JavaScript updates","type":"object","properties":{"enabled":{"description":"If set to false, your standalone app will never download any code, and will only use code bundled locally on the device. In that case, all updates to your app must be submitted through app store review. Defaults to true. (Note: This will not work out of the box with ExpoKit projects)","type":"boolean"},"checkAutomatically":{"description":"By default, Expo will check for updates every time the app is loaded. Set this to `ON_ERROR_RECOVERY` to disable automatic checking unless recovering from an error. Must be one of `ON_LOAD` or `ON_ERROR_RECOVERY`","enum":["ON_ERROR_RECOVERY","ON_LOAD"],"type":"string"},"fallbackToCacheTimeout":{"description":"How long (in ms) to allow for fetching OTA updates before falling back to a cached version of the app. Defaults to 0. Must be between 0 and 300000 (5 minutes).","type":"number","minimum":0,"maximum":300000},"url":{"description":"URL from which expo-updates will fetch update manifests","type":"string"}},"additionalProperties":false},"locales":{"description":"Provide overrides by locale for System Dialog prompts like Permissions Boxes","type":"object","properties":{},"meta":{"bareWorkflow":"To add or change language and localization information in your iOS app, you need to use Xcode."},"additionalProperties":{"type":["string","object"]}},"facebookAppId":{"description":"Used for all Facebook libraries. Set up your Facebook App ID at https://developers.facebook.com.","type":"string","pattern":"^[0-9]+$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAutoInitEnabled":{"description":"Whether the Facebook SDK should be initialized automatically. The default in Expo (Client and in standalone apps) is `false`.","type":"boolean"},"facebookAutoLogAppEventsEnabled":{"description":"Whether the Facebook SDK log app events automatically. If you don't set this property, Facebook's default will be used. (Applicable only to standalone apps.) Note: The Facebook SDK must be initialized for app events to work. You may autoinitialize Facebook SDK by setting `facebookAutoInitEnabled` to `true`","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAdvertiserIDCollectionEnabled":{"description":"Whether the Facebook SDK should collect advertiser ID properties, like the Apple IDFA and Android Advertising ID, automatically. If you don't set this property, Facebook's default policy will be used. (Applicable only to standalone apps.)","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookDisplayName":{"description":"Used for native Facebook login.","type":"string","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookScheme":{"description":"Used for Facebook native login. Starts with 'fb' and followed by a string of digits, like 'fb1234567890'. You can find your scheme [here](https://developers.facebook.com/docs/facebook-login/ios)in the 'Configuring Your info.plist' section (only applicable to standalone apps and custom Expo Go apps).","type":"string","pattern":"^fb[0-9]+[A-Za-z]*$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"isDetached":{"description":"Is app detached","type":"boolean","meta":{"autogenerated":true}},"detach":{"description":"Extra fields needed by detached apps","type":"object","properties":{},"meta":{"autogenerated":true},"additionalProperties":true},"assetBundlePatterns":{"description":"An array of file glob strings which point to assets that will be bundled within your standalone app binary. Read more in the [Offline Support guide](https://docs.expo.dev/guides/offline-support/)","type":"array","items":{"type":"string"}},"plugins":{"description":"Config plugins for adding extra functionality to your project. [Learn more](https://docs.expo.dev/guides/config-plugins/).","meta":{"bareWorkflow":"Plugins that add modifications can only be used with [prebuilding](https://expo.fyi/prebuilding) and managed EAS Build"},"type":"array","items":{"anyOf":[{"type":["string"]},{"type":"array","items":[{"type":["string"]},{}],"additionalItems":false}]}},"splash":{"description":"Configuration for loading and splash screen for standalone apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"For Android, edit the `colorPrimary` item in `android/app/src/main/res/values/colors.xml`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-` (Android Studio can [generate the appropriate image files for you](https://developer.android.com/studio/write/image-asset-studio)). Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each required size."}},"ios":{"description":"Configuration that is specific to the iOS platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"bundleIdentifier":{"description":"The bundle identifier for your iOS standalone app. You make it up, but it needs to be unique on the App Store. See [this StackOverflow question](http://stackoverflow.com/questions/11347470/what-does-bundle-identifier-mean-in-the-ios-project).","type":"string","pattern":"^[a-zA-Z0-9.-]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`","regexHuman":"iOS bundle identifier notation unique name for your app. For example, `host.exp.expo`, where `exp.host` is our domain and `expo` is our app name."}},"buildNumber":{"description":"Build number for your iOS standalone app. Corresponds to `CFBundleVersion` and must match Apple's [specified format](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102364). (Note: Transporter will pull the value for `Version Number` from `expo.version` and NOT from `expo.ios.buildNumber`.)","type":"string","pattern":"^[A-Za-z0-9\\.]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`"}},"backgroundColor":{"description":"The background color for your iOS app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on iOS. If specified, this overrides the top-level `icon` key. Use a 1024x1024 icon which follows Apple's interface guidelines for icons, including color profile and transparency. \n\n Expo will generate the other required sizes. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"merchantId":{"description":"@deprecated Merchant ID for use with Apple Pay in your standalone app.","type":"string","meta":{"deprecated":true}},"appStoreUrl":{"description":"URL to your app on the Apple App Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://(itunes|apps)\\.apple\\.com/.*?\\d+","example":"https://apps.apple.com/us/app/expo-client/id982107779","type":["string"]},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"usesNonExemptEncryption":{"description":"Sets `ITSAppUsesNonExemptEncryption` in the standalone ipa's Info.plist to the given boolean value.","type":"boolean"},"googleMapsApiKey":{"description":"[Google Maps iOS SDK](https://developers.google.com/maps/documentation/ios-sdk/start) key for your standalone app.","type":"string"},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Go and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`.](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"description":"[Google Sign-In iOS SDK](https://developers.google.com/identity/sign-in/ios/start-integrating) keys for your standalone app.","type":"object","properties":{"reservedClientId":{"description":"The reserved client ID URL scheme. Can be found in `GoogleService-Info.plist`.","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase.","type":"string"},"supportsTablet":{"description":"Whether your standalone iOS app supports tablet screen sizes. Defaults to `false`.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations~ipad`"}},"isTabletOnly":{"description":"If true, indicates that your standalone iOS app does not support handsets, and only supports tablets.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations`"}},"requireFullScreen":{"description":"If true, indicates that your standalone iOS app does not support Slide Over and Split View on iPad. Defaults to `false`","type":"boolean","meta":{"bareWorkflow":"Use Xcode to set `UIRequiresFullScreen`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"infoPlist":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native Info.plist. Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"entitlements":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native *.entitlements (plist). Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"associatedDomains":{"description":"An array that contains Associated Domains for the standalone app. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains).","type":"array","uniqueItems":true,"items":{"type":"string"},"meta":{"regexHuman":"Entries must follow the format `applinks:[:port number]`. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains).","bareWorkflow":"Build with EAS, or use Xcode to enable this capability manually. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains)."}},"usesIcloudStorage":{"description":"A boolean indicating if the app uses iCloud Storage for `DocumentPicker`. See `DocumentPicker` docs for details.","type":"boolean","meta":{"bareWorkflow":"Use Xcode, or ios.entitlements to configure this."}},"usesAppleSignIn":{"description":"A boolean indicating if the app uses Apple Sign-In. See `AppleAuthentication` docs for details.","type":"boolean","fallback":false},"accessesContactNotes":{"description":"A Boolean value that indicates whether the app may access the notes stored in contacts. You must [receive permission from Apple](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_contacts_notes) before you can submit your app for review with this capability.","type":"boolean","fallback":false},"splash":{"description":"Configuration for loading and splash screen for standalone iOS apps.","type":"object","properties":{"xib":{"description":"@deprecated Apple has deprecated `.xib` splash screens in favor of `.storyboard` files. Local path to a XIB file as the loading screen. It overrides other loading screen options. Note: This will only be used in the standalone app (i.e., after you build the app). It will not be used in the Expo Go.","type":"string","meta":{"deprecated":true,"asset":true,"contentTypePattern":"^text/xml$","contentTypeHuman":".xib interface builder document"}},"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"tabletImage":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}}},"additionalProperties":false},"android":{"description":"Configuration that is specific to the Android platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"package":{"description":"The package name for your Android standalone app. You make it up, but it needs to be unique on the Play Store. See [this StackOverflow question](http://stackoverflow.com/questions/6273892/android-package-name-convention).","type":"string","pattern":"^[a-zA-Z][a-zA-Z0-9\\_]*(\\.[a-zA-Z][a-zA-Z0-9\\_]*)+$","meta":{"regexHuman":"Reverse DNS notation unique name for your app. Valid Android Application ID. For example, `com.example.app`, where `com.example` is our domain and `app` is our app. The name may only contain lowercase and uppercase letters (a-z, A-Z), numbers (0-9) and underscores (_), separated by periods (.). Each component of the name should start with a lowercase letter.","bareWorkflow":"This is set in `android/app/build.gradle` as `applicationId` as well as in your `AndroidManifest.xml` file (multiple places)."}},"versionCode":{"description":"Version number required by Google Play. Increment by one for each release. Must be a positive integer. [Learn more](https://developer.android.com/studio/publish/versioning.html)","type":"integer","minimum":0,"maximum":2100000000,"meta":{"bareWorkflow":"This is set in `android/app/build.gradle` as `versionCode`"}},"backgroundColor":{"description":"The background color for your Android app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"This is set in `android/app/src/main/AndroidManifest.xml` under `android:windowBackground`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"useNextNotificationsApi":{"deprecated":true,"description":"@deprecated A Boolean value that indicates whether the app should use the new notifications API.","type":"boolean","fallback":false},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` key. We recommend that you use a 1024x1024 png file (transparency is recommended for the Google Play Store). This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"adaptiveIcon":{"description":"Settings for an Adaptive Launcher Icon on Android. [Learn more](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)","type":"object","properties":{"foregroundImage":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` and the `android.icon` keys. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive). This icon will appear on the home screen.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundImage":{"description":"Local path or remote URL to a background image for your app's Adaptive Icon on Android. If specified, this overrides the `backgroundColor` key. Must have the same dimensions as foregroundImage`, and has no effect if `foregroundImage` is not specified. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive).","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundColor":{"description":"Color to use as the background for your app's Adaptive Icon on Android. Defaults to white, `#FFFFFF`. Has no effect if `foregroundImage` is not specified.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"playStoreUrl":{"description":"URL to your app on the Google Play Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://play\\.google\\.com/","example":"https://play.google.com/store/apps/details?id=host.exp.exponent","type":["string"]},"permissions":{"description":"List of permissions used by the standalone app. \n\n To use ONLY the following minimum necessary permissions and none of the extras supported by Expo in a default managed app, set `permissions` to `[]`. The minimum necessary permissions do not require a Privacy Policy when uploading to Google Play Store and are: \n• receive data from Internet \n• view network connections \n• full network access \n• change your audio settings \n• prevent device from sleeping \n\n To use ALL permissions supported by Expo by default, do not specify the `permissions` key. \n\n To use the minimum necessary permissions ALONG with certain additional permissions, specify those extras in `permissions`, e.g.\n\n `[ \"CAMERA\", \"ACCESS_FINE_LOCATION\" ]`.\n\n You can specify the following permissions depending on what you need:\n\n- `ACCESS_COARSE_LOCATION`\n- `ACCESS_FINE_LOCATION`\n- `ACCESS_BACKGROUND_LOCATION`\n- `CAMERA`\n- `RECORD_AUDIO`\n- `READ_CONTACTS`\n- `WRITE_CONTACTS`\n- `READ_CALENDAR`\n- `WRITE_CALENDAR`\n- `READ_EXTERNAL_STORAGE`\n- `WRITE_EXTERNAL_STORAGE`\n- `USE_FINGERPRINT`\n- `USE_BIOMETRIC`\n- `WRITE_SETTINGS`\n- `VIBRATE`\n- `READ_PHONE_STATE`\n- `com.anddoes.launcher.permission.UPDATE_COUNT`\n- `com.android.launcher.permission.INSTALL_SHORTCUT`\n- `com.google.android.c2dm.permission.RECEIVE`\n- `com.google.android.gms.permission.ACTIVITY_RECOGNITION`\n- `com.google.android.providers.gsf.permission.READ_GSERVICES`\n- `com.htc.launcher.permission.READ_SETTINGS`\n- `com.htc.launcher.permission.UPDATE_SHORTCUT`\n- `com.majeur.launcher.permission.UPDATE_BADGE`\n- `com.sec.android.provider.badge.permission.READ`\n- `com.sec.android.provider.badge.permission.WRITE`\n- `com.sonyericsson.home.permission.BROADCAST_BADGE`\n","type":"array","meta":{"bareWorkflow":"To change the permissions your app requests, you'll need to edit `AndroidManifest.xml` manually. To prevent your app from requesting one of the permissions listed below, you'll need to explicitly add it to `AndroidManifest.xml` along with a `tools:node=\"remove\"` tag."},"items":{"type":"string"}},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase. Including this key automatically enables FCM in your standalone app.","type":"string","meta":{"bareWorkflow":"Add or edit the file directly at `android/app/google-services.json`"}},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"googleMaps":{"description":"[Google Maps Android SDK](https://developers.google.com/maps/documentation/android-api/signup) configuration for your standalone app.","type":"object","properties":{"apiKey":{"description":"Your Google Maps Android SDK API key","type":"string"}},"additionalProperties":false},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Client and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"deprecated":true,"meta":{"deprecated":true},"description":"@deprecated Use `googleServicesFile` instead. [Google Sign-In Android SDK](https://developers.google.com/identity/sign-in/android/start-integrating) keys for your standalone app.","type":"object","properties":{"apiKey":{"description":"The Android API key. Can be found in the credentials section of the developer console or in `google-services.json`.","type":"string"},"certificateHash":{"description":"The SHA-1 hash of the signing certificate used to build the APK without any separator (`:`). Can be found in `google-services.json`. https://developers.google.com/android/guides/client-auth","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"splash":{"description":"Configuration for loading and splash screen for managed and standalone Android apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover`, `contain` or `native`, defaults to `contain`.","enum":["cover","contain","native"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"mdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Natural sized image (baseline)`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"hdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 1.5x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 2x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 3x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 4x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}},"intentFilters":{"description":"Configuration for setting an array of custom intent filters in Android manifest. [Learn more](https://developer.android.com/guide/components/intents-filters)","example":[{"autoVerify":true,"action":"VIEW","data":{"scheme":"https","host":"*.example.com"},"category":["BROWSABLE","DEFAULT"]}],"exampleString":"\n [{ \n \"autoVerify\": true, \n \"action\": \"VIEW\", \n \"data\": { \n \"scheme\": \"https\", \n \"host\": \"*.example.com\" \n }, \n \"category\": [\"BROWSABLE\", \"DEFAULT\"] \n }]","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"autoVerify":{"description":"You may also use an intent filter to set your app as the default handler for links (without showing the user a dialog with options). To do so use `true` and then configure your server to serve a JSON file verifying that you own the domain. [Learn more](developer.android.com/training/app-links)","type":"boolean"},"action":{"type":"string"},"data":{"anyOf":[{"type":"object","properties":{"scheme":{"description":"Scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"Hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"Port, e.g. `3000`","type":"string"},"path":{"description":"Exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":"Pattern for paths that should be matched by the filter, e.g. `.*`. Must begin with `/`","type":"string"},"pathPrefix":{"description":"Prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false},{"type":["array"],"items":{"type":"object","properties":{"scheme":{"description":"Scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"Hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"Port, e.g. `3000`","type":"string"},"path":{"description":"Exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":"Pattern for paths that should be matched by the filter, e.g. `.*`. Must begin with `/`","type":"string"},"pathPrefix":{"description":"Prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false}}]},"category":{"anyOf":[{"type":["string"]},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false,"required":["action"]},"meta":{"bareWorkflow":"This is set in `AndroidManifest.xml` directly. [Learn more.](developer.android.com/guide/components/intents-filters)"}},"allowBackup":{"description":"Allows your user's app data to be automatically backed up to their Google Drive. If this is set to false, no backup or restore of the application will ever be performed (this is useful if your app deals with sensitive information). Defaults to the Android default, which is `true`.","fallback":true,"type":"boolean"},"softwareKeyboardLayoutMode":{"description":"Determines how the software keyboard will impact the layout of your application. This maps to the `android:windowSoftInputMode` property. Defaults to `resize`. Valid values: `resize`, `pan`.","enum":["resize","pan"],"type":"string","fallback":"resize"},"jsEngine":{"description":"Specifies the JavaScript engine. Supported only on EAS Build. Defaults to `jsc`. Valid values: `hermes`, `jsc`.","type":"string","fallback":"jsc","enum":["hermes","jsc"],"meta":{"bareWorkflow":"To change the JavaScript engine, update the `expo.jsEngine` value in `android/gradle.properties`"}}},"additionalProperties":false},"web":{"description":"Configuration that is specific to the web platform.","type":"object","additionalProperties":true,"properties":{"favicon":{"description":"Relative path of an image to use for your app's favicon.","type":"string"},"name":{"description":"Defines the title of the document, defaults to the outer level name","type":"string","meta":{"pwa":"name"}},"shortName":{"description":"A short version of the app's name, 12 characters or fewer. Used in app launcher and new tab pages. Maps to `short_name` in the PWA manifest.json. Defaults to the `name` property.","type":"string","meta":{"pwa":"short_name","regexHuman":"Maximum 12 characters long"}},"lang":{"description":"Specifies the primary language for the values in the name and short_name members. This value is a string containing a single language tag.","type":"string","fallback":"en","meta":{"pwa":"lang"}},"scope":{"description":"Defines the navigation scope of this website's context. This restricts what web pages can be viewed while the manifest is applied. If the user navigates outside the scope, it returns to a normal web page inside a browser tab/window. If the scope is a relative URL, the base URL will be the URL of the manifest.","type":"string","meta":{"pwa":"scope"}},"themeColor":{"description":"Defines the color of the Android tool bar, and may be reflected in the app's preview in task switchers.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"theme_color","html":"theme-color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"description":{"description":"Provides a general description of what the pinned website does.","type":"string","meta":{"html":"description","pwa":"description"}},"dir":{"description":"Specifies the primary text direction for the name, short_name, and description members. Together with the lang member, it helps the correct display of right-to-left languages.","enum":["auto","ltr","rtl"],"type":"string","meta":{"pwa":"dir"}},"display":{"description":"Defines the developers’ preferred display mode for the website.","enum":["fullscreen","standalone","minimal-ui","browser"],"type":"string","meta":{"pwa":"display"}},"startUrl":{"description":"The URL that loads when a user launches the application (e.g., when added to home screen), typically the index. Note: This has to be a relative URL, relative to the manifest URL.","type":"string","meta":{"pwa":"start_url"}},"orientation":{"description":"Defines the default orientation for all the website's top level browsing contexts.","enum":["any","natural","landscape","landscape-primary","landscape-secondary","portrait","portrait-primary","portrait-secondary"],"type":"string","meta":{"pwa":"orientation"}},"backgroundColor":{"description":"Defines the expected “background color” for the website. This value repeats what is already available in the site’s CSS, but can be used by browsers to draw the background color of a shortcut when the manifest is available before the stylesheet has loaded. This creates a smooth transition between launching the web application and loading the site's content.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"background_color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"barStyle":{"description":"If content is set to default, the status bar appears normal. If set to black, the status bar has a black background. If set to black-translucent, the status bar is black and translucent. If set to default or black, the web content is displayed below the status bar. If set to black-translucent, the web content is displayed on the entire screen, partially obscured by the status bar.","enum":["default","black","black-translucent"],"type":"string","fallback":"black-translucent","meta":{"html":"apple-mobile-web-app-status-bar-style","pwa":"name"}},"preferRelatedApplications":{"description":"Hints for the user agent to indicate to the user that the specified native applications (defined in expo.ios and expo.android) are recommended over the website.","type":"boolean","fallback":true,"meta":{"pwa":"prefer_related_applications"}},"dangerous":{"description":"Experimental features. These will break without deprecation notice.","type":"object","properties":{},"additionalProperties":true},"splash":{"description":"Configuration for PWA splash screens.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"Use [expo-splash-screen](https://github.com/expo/expo/tree/main/packages/expo-splash-screen#expo-splash-screen)"}},"config":{"description":"Firebase web configuration. Used by the expo-firebase packages on both web and native. [Learn more](https://firebase.google.com/docs/reference/js/firebase.html#initializeapp)","type":"object","properties":{"firebase":{"type":"object","properties":{"apiKey":{"type":"string"},"authDomain":{"type":"string"},"databaseURL":{"type":"string"},"projectId":{"type":"string"},"storageBucket":{"type":"string"},"messagingSenderId":{"type":"string"},"appId":{"type":"string"},"measurementId":{"type":"string"}}}}}}},"hooks":{"description":"Configuration for scripts to run to hook into the publish process","type":"object","additionalProperties":false,"properties":{"postPublish":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}},"postExport":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}}}},"experiments":{"description":"Enable experimental features that may be unstable, unsupported, or removed without deprecation notices.","type":"object","additionalProperties":false,"properties":{"turboModules":{"description":"Enables Turbo Modules, which are a type of native modules that use a different way of communicating between JS and platform code. When installing a Turbo Module you will need to enable this experimental option (the library still needs to be a part of Expo SDK already, like react-native-reanimated v2). Turbo Modules do not support remote debugging and enabling this option will disable remote debugging.","type":"boolean","fallback":false}}},"_internal":{"description":"Internal properties for developer tools","type":"object","properties":{"pluginHistory":{"description":"List of plugins already run on the config","type":"object","properties":{},"additionalProperties":true}},"additionalProperties":true,"meta":{"autogenerated":true}}} \ No newline at end of file diff --git a/docs/scripts/schemas/v40.0.0/app-config-schema.js b/docs/scripts/schemas/v40.0.0/app-config-schema.js index 6bb1e053a47f8..7c72b90926529 100644 --- a/docs/scripts/schemas/v40.0.0/app-config-schema.js +++ b/docs/scripts/schemas/v40.0.0/app-config-schema.js @@ -1 +1 @@ -export default {"name":{"description":"The name of your app as it appears both within Expo Go and on your home screen as a standalone app.","type":"string","meta":{"bareWorkflow":"To change the name of your app, edit the 'Display Name' field in Xcode and the `app_name` string in `android/app/src/main/res/values/strings.xml`"}},"description":{"description":"A short description of what your app is and why it is great.","type":"string"},"slug":{"description":"The friendly URL name for publishing. For example, `myAppName` will refer to the `expo.io/@project-owner/myAppName` project.","type":"string","pattern":"^[a-zA-Z0-9_\\-]+$"},"owner":{"description":"The Expo account name of the team owner, only applicable if you are enrolled in the EAS Priority Plan. If not provided, defaults to the username of the current user.","type":"string","minLength":1},"currentFullName":{"description":"The auto generated Expo account name and slug used for display purposes. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value may change when a project is transferred between accounts or renamed.","type":"string","autogenerated":true},"originalFullName":{"description":"The auto generated Expo account name and slug used for services like Notifications and AuthSession proxy. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value will not change when a project is transferred between accounts or renamed.","type":"string","autogenerated":true},"privacy":{"description":"Defaults to `unlisted`. `unlisted` hides the project from search results. `hidden` restricts access to the project page to only the owner and other users that have been granted access. Valid values: `public`, `unlisted`, `hidden`.","enum":["public","unlisted","hidden"],"type":"string","fallback":"unlisted"},"sdkVersion":{"description":"The Expo sdkVersion to run the project on. This should line up with the version specified in your package.json.","type":"string","pattern":"^(\\d+\\.\\d+\\.\\d+)|(UNVERSIONED)$"},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest for bare workflow projects. If provided, this must match the version set in Expo.plist or AndroidManifest.xml.","type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\" or \"-\". Example: \"1.0.3a+\"."}},"version":{"description":"Your app version. In addition to this field, you'll also use `ios.buildNumber` and `android.versionCode` — read more about how to version your app [here](https://docs.expo.io/distribution/app-stores/#versioning-your-app). On iOS this corresponds to `CFBundleShortVersionString`, and on Android, this corresponds to `versionName`. The required format can be found [here](https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring).","type":"string","meta":{"bareWorkflow":"To change your app version, edit the 'Version' field in Xcode and the `versionName` string in `android/app/build.gradle`"}},"platforms":{"description":"Platforms that your project explicitly supports. If not specified, it defaults to `[\"ios\", \"android\"]`.","example":["ios","android","web"],"type":"array","uniqueItems":true,"items":{"type":"string","enum":["android","ios","web"]}},"githubUrl":{"description":"If you would like to share the source code of your app on Github, enter the URL for the repository here and it will be linked to from your Expo project page.","pattern":"^https://github\\.com/","example":"https://github.com/expo/expo","type":["string"]},"orientation":{"description":"Locks your app to a specific orientation with portrait or landscape. Defaults to no lock. Valid values: `default`, `portrait`, `landscape`","enum":["default","portrait","landscape"],"type":"string"},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"backgroundColor":{"description":"The background color for your app, behind any of your React views. This is also known as the root view background color.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`. Default is white: `'#ffffff'`"}},"primaryColor":{"description":"On Android, this will determine the color of your app in the multitasker. Currently this is not used on iOS, but it may be used for other purposes in the future.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon. We recommend that you use a 1024x1024 png file. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true,"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-`. Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each existing size."}},"notification":{"description":"Configuration for remote (push) notifications.","type":"object","properties":{"icon":{"description":"(Android only) Local path or remote URL to an image to use as the icon for push notifications. 96x96 png grayscale with transparency. We recommend following [Google's design guidelines](https://material.io/design/iconography/product-icons.html#design-principles). If not provided, defaults to your app icon.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"color":{"description":"(Android only) Tint color for the push notification image when it appears in the notification tray. Defaults to `#ffffff`","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"iosDisplayInForeground":{"description":"Whether or not to display notifications when the app is in the foreground on iOS. `_displayInForeground` option in the individual push notification message overrides this option. [Learn more.](https://docs.expo.io/push-notifications/receiving-notifications/#foreground-notification-behavior) Defaults to `false`.","type":"boolean"},"androidMode":{"description":"Show each push notification individually (`default`) or collapse into one (`collapse`).","enum":["default","collapse"],"type":"string"},"androidCollapsedTitle":{"description":"If `androidMode` is set to `collapse`, this title is used for the collapsed notification message. For example, `'#{unread_notifications} new interactions'`.","type":"string"}},"additionalProperties":false},"appKey":{"description":"By default, Expo looks for the application registered with the AppRegistry as `main`. If you would like to change this, you can specify the name in this property.","type":"string"},"androidStatusBarColor":{"description":"@deprecated Use `androidStatusBar` instead.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"deprecated":true,"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"androidStatusBar":{"description":"Configuration for the status bar on Android. For more details please navigate to [Configuring StatusBar](https://docs.expo.io/guides/configuring-statusbar/).","type":"object","properties":{"barStyle":{"description":"Configures the status bar icons to have a light or dark color. Valid values: `light-content`, `dark-content`. Defaults to `dark-content`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the status bar. Defaults to `#00000000` (transparent) for `dark-content` bar style and `#00000088` (semi-transparent black) for `light-content` bar style","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string `'#RRGGBB'`, for example, `'#000000'` for black. Or 8 character long hex color string `'#RRGGBBAA'`, for example, `'#00000088'` for semi-transparent black."}},"hidden":{"description":"Instructs the system whether the status bar should be visible or not. Defaults to `false`","type":"boolean"},"translucent":{"description":"Sets `android:windowTranslucentStatus` in `styles.xml`. When false, the system status bar pushes the content of your app down (similar to `position: relative`). When true, the status bar floats above the content in your app (similar to `position: absolute`). Defaults to `true` to match the iOS status bar behavior (which can only float above content).","type":"boolean"}},"additionalProperties":false},"androidNavigationBar":{"description":"Configuration for the bottom navigation bar on Android.","type":"object","properties":{"visible":{"description":"Determines how and when the navigation bar is shown. [Learn more](https://developer.android.com/training/system-ui/immersive). Valid values: `leanback`, `immersive`, `sticky-immersive` \n\n `leanback` results in the navigation bar being hidden until the first touch gesture is registered. \n\n `immersive` results in the navigation bar being hidden until the user swipes up from the edge where the navigation bar is hidden. \n\n `sticky-immersive` is identical to `'immersive'` except that the navigation bar will be semi-transparent and will be hidden again after a short period of time","type":"string","enum":["leanback","immersive","sticky-immersive"]},"barStyle":{"description":"Configure the navigation bar icons to have a light or dark color. Supported on Android Oreo and newer. Valid values: `'light-content'`, `'dark-content'`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the navigation bar.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"developmentClient":{"description":"Settings that apply specifically to running this app in a development client","type":"object","properties":{"silentLaunch":{"description":"If true, the app will launch in a development client with no additional dialogs or progress indicators, just like in a standalone app.","type":"boolean","fallback":false}},"additionalProperties":false},"scheme":{"description":"**Standalone Apps Only**. URL scheme to link into your app. For example, if we set this to `'demo'`, then demo:// URLs would open your app when tapped.","type":"string","pattern":"^[a-z][a-z0-9+.-]*$","meta":{"regexHuman":"String beginning with a **lowercase** letter followed by any combination of **lowercase** letters, digits, \"+\", \".\" or \"-\"","standaloneOnly":true,"bareWorkflow":"To change your app's scheme, replace all occurrences of the old scheme in `Info.plist` and `AndroidManifest.xml`"}},"entryPoint":{"description":"The relative path to your main JavaScript file.","type":"string"},"extra":{"description":"Any extra fields you want to pass to your experience. Values are accessible via `Expo.Constants.manifest.extra` ([Learn more](https://docs.expo.io/versions/latest/sdk/constants/#constantsmanifest))","type":"object","properties":{},"additionalProperties":true},"packagerOpts":{"description":"@deprecated Use a `metro.config.js` file instead. [Learn more](https://docs.expo.io/guides/customizing-metro/)","meta":{"deprecated":true,"autogenerated":true},"type":"object","properties":{},"additionalProperties":true},"ignoreNodeModulesValidation":{"type":"boolean"},"nodeModulesPath":{"type":"string"},"updates":{"description":"Configuration for how and when the app should request OTA JavaScript updates","type":"object","properties":{"enabled":{"description":"If set to false, your standalone app will never download any code, and will only use code bundled locally on the device. In that case, all updates to your app must be submitted through Apple review. Defaults to true. (Note: This will not work out of the box with ExpoKit projects)","type":"boolean"},"checkAutomatically":{"description":"By default, Expo will check for updates every time the app is loaded. Set this to `ON_ERROR_RECOVERY` to disable automatic checking unless recovering from an error. Must be one of `ON_LOAD` or `ON_ERROR_RECOVERY`","enum":["ON_ERROR_RECOVERY","ON_LOAD"],"type":"string"},"fallbackToCacheTimeout":{"description":"How long (in ms) to allow for fetching OTA updates before falling back to a cached version of the app. Defaults to 0. Must be between 0 and 300000 (5 minutes).","type":"number","minimum":0,"maximum":300000}},"additionalProperties":false},"locales":{"description":"Provide overrides by locale for System Dialog prompts like Permissions Boxes","type":"object","properties":{},"meta":{"bareWorkflow":"To add or change language and localization information in your iOS app, you need to use Xcode."},"additionalProperties":{"type":["string","object"]}},"facebookAppId":{"description":"Used for all Facebook libraries. Set up your Facebook App ID at https://developers.facebook.com.","type":"string","pattern":"^[0-9]+$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAutoInitEnabled":{"description":"Whether the Facebook SDK should be initialized automatically. The default in Expo (Client and in standalone apps) is `false`.","type":"boolean"},"facebookAutoLogAppEventsEnabled":{"description":"Whether the Facebook SDK log app events automatically. If you don't set this property, Facebook's default will be used. (Applicable only to standalone apps.) Note: The Facebook SDK must be initialized for app events to work. You may autoinitialize Facebook SDK by setting `facebookAutoInitEnabled` to `true`","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAdvertiserIDCollectionEnabled":{"description":"Whether the Facebook SDK should collect advertiser ID properties, like the Apple IDFA and Android Advertising ID, automatically. If you don't set this property, Facebook's default policy will be used. (Applicable only to standalone apps.)","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookDisplayName":{"description":"Used for native Facebook login.","type":"string","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookScheme":{"description":"Used for Facebook native login. Starts with 'fb' and followed by a string of digits, like 'fb1234567890'. You can find your scheme [here](https://developers.facebook.com/docs/facebook-login/ios)in the 'Configuring Your info.plist' section (only applicable to standalone apps and custom Expo Go apps).","type":"string","pattern":"^fb[0-9]+[A-Za-z]*$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"isDetached":{"description":"Is app detached","type":"boolean","meta":{"autogenerated":true}},"detach":{"description":"Extra fields needed by detached apps","type":"object","properties":{},"meta":{"autogenerated":true},"additionalProperties":true},"assetBundlePatterns":{"description":"An array of file glob strings which point to assets that will be bundled within your standalone app binary. Read more in the [Offline Support guide](https://docs.expo.io/guides/offline-support/)","type":"array","items":{"type":"string"}},"splash":{"description":"Configuration for loading and splash screen for standalone apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"For Android, edit the `colorPrimary` item in `android/app/src/main/res/values/colors.xml`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-` (Android Studio can [generate the appropriate image files for you](https://developer.android.com/studio/write/image-asset-studio)). Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each required size."}},"ios":{"description":"Configuration that is specific to the iOS platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"bundleIdentifier":{"description":"The bundle identifier for your iOS standalone app. You make it up, but it needs to be unique on the App Store. See [this StackOverflow question](http://stackoverflow.com/questions/11347470/what-does-bundle-identifier-mean-in-the-ios-project).","type":"string","pattern":"^[a-zA-Z0-9.-]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`","regexHuman":"iOS bundle identifier notation unique name for your app. For example, `host.exp.expo`, where `exp.host` is our domain and `expo` is our app name."}},"buildNumber":{"description":"Build number for your iOS standalone app. Corresponds to `CFBundleVersion` and must match Apple's [specified format](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102364). (Note: Transporter will pull the value for `Version Number` from `expo.version` and NOT from `expo.ios.buildNumber`.)","type":"string","pattern":"^[A-Za-z0-9\\.]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`"}},"backgroundColor":{"description":"The background color for your iOS app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on iOS. If specified, this overrides the top-level `icon` key. Use a 1024x1024 icon which follows Apple's interface guidelines for icons, including color profile and transparency. \n\n Expo will generate the other required sizes. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"merchantId":{"description":"Merchant ID for use with Apple Pay in your standalone app.","type":"string"},"appStoreUrl":{"description":"URL to your app on the Apple App Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://(itunes|apps)\\.apple\\.com/.*?\\d+","example":"https://apps.apple.com/us/app/expo-client/id982107779","type":["string"]},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"usesNonExemptEncryption":{"description":"Sets `ITSAppUsesNonExemptEncryption` in the standalone ipa's Info.plist to the given boolean value.","type":"boolean"},"googleMapsApiKey":{"description":"[Google Maps iOS SDK](https://developers.google.com/maps/documentation/ios-sdk/start) key for your standalone app.","type":"string"},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Client and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`.](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"description":"[Google Sign-In iOS SDK](https://developers.google.com/identity/sign-in/ios/start-integrating) keys for your standalone app.","type":"object","properties":{"reservedClientId":{"description":"The reserved client ID URL scheme. Can be found in `GoogleService-Info.plist`.","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"isRemoteJSEnabled":{"description":"@deprecated Use `updates.enabled` instead.","type":"boolean","meta":{"deprecated":true}},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase.","type":"string"},"loadJSInBackgroundExperimental":{"description":"@deprecated Use `updates` key with `fallbackToCacheTimeout: 0` instead.","type":"boolean","meta":{"deprecated":true}},"supportsTablet":{"description":"Whether your standalone iOS app supports tablet screen sizes. Defaults to `false`.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations~ipad`"}},"isTabletOnly":{"description":"If true, indicates that your standalone iOS app does not support handsets, and only supports tablets.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations`"}},"requireFullScreen":{"description":"If true, indicates that your standalone iOS app does not support Slide Over and Split View on iPad. Defaults to `true` currently, but will change to `false` in a future SDK version.","type":"boolean","meta":{"bareWorkflow":"Use Xcode to set `UIRequiresFullScreen`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"infoPlist":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native Info.plist. Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"entitlements":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native *.entitlements (plist). Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"associatedDomains":{"description":"An array that contains Associated Domains for the standalone app. See [Apple's docs for config](https://developer.apple.com/documentation/safariservices/supporting_associated_domains). ","type":"array","uniqueItems":true,"items":{"type":"string"},"meta":{"regexHuman":"Entries must follow the format `applinks:[:port number]`. See [Apple's docs for details](https://developer.apple.com/documentation/safariservices/supporting_associated_domains)","bareWorkflow":"Use Xcode to set this. See [Apple's documentation](https://developer.apple.com/documentation/safariservices/supporting_associated_domains) for details."}},"usesIcloudStorage":{"description":"A boolean indicating if the app uses iCloud Storage for `DocumentPicker`. See `DocumentPicker` docs for details.","type":"boolean","meta":{"bareWorkflow":"Use Xcode, or ios.entitlements to configure this."}},"usesAppleSignIn":{"description":"A boolean indicating if the app uses Apple Sign-In. See `AppleAuthentication` docs for details.","type":"boolean","fallback":false},"accessesContactNotes":{"description":"A Boolean value that indicates whether the app may access the notes stored in contacts. You must [receive permission from Apple](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_contacts_notes) before you can submit your app for review with this capability.","type":"boolean","fallback":false},"splash":{"description":"Configuration for loading and splash screen for standalone iOS apps.","type":"object","properties":{"xib":{"description":"Local path to a XIB file as the loading screen. It overrides other loading screen options. Note: This will only be used in the standalone app (i.e., after you build the app). It will not be used in Expo Go.","type":"string","meta":{"asset":true,"contentTypePattern":"^text/xml$","contentTypeHuman":".xib interface builder document"}},"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"tabletImage":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}}},"additionalProperties":false},"android":{"description":"Configuration that is specific to the Android platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"enableDangerousExperimentalLeanBuilds":{"description":"If set to true, APK will contain only unimodules that are explicitly added in package.json and their dependecies","type":"boolean"},"publishManifestPath":{"description":"The manifest for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"package":{"description":"The package name for your Android standalone app. You make it up, but it needs to be unique on the Play Store. See [this StackOverflow question](http://stackoverflow.com/questions/6273892/android-package-name-convention).","type":"string","pattern":"^[a-zA-Z][a-zA-Z0-9\\_]*(\\.[a-zA-Z][a-zA-Z0-9\\_]*)+$","meta":{"regexHuman":"Reverse DNS notation unique name for your app. Valid Android Application ID. For example, `com.example.app`, where `com.example` is our domain and `app` is our app. The name may only contain lowercase and uppercase letters (a-z, A-Z), numbers (0-9) and underscores (_), separated by periods (.). Each component of the name should start with a lowercase letter.","bareWorkflow":"This is set in `android/app/build.gradle` as `applicationId` as well as in your `AndroidManifest.xml` file (multiple places)."}},"versionCode":{"description":"Version number required by Google Play. Increment by one for each release. Must be a positive integer. [Learn more](https://developer.android.com/studio/publish/versioning.html)","type":"integer","minimum":0,"maximum":2100000000,"meta":{"bareWorkflow":"This is set in `android/app/build.gradle` as `versionCode`"}},"backgroundColor":{"description":"The background color for your Android app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"This is set in `android/app/src/main/AndroidManifest.xml` under `android:windowBackground`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"useNextNotificationsApi":{"description":"A Boolean value that indicates whether the app should use the new notifications API.","type":"boolean","fallback":false},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` key. We recommend that you use a 1024x1024 png file (transparency is recommended for the Google Play Store). This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"adaptiveIcon":{"description":"Settings for an Adaptive Launcher Icon on Android. [Learn more](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)","type":"object","properties":{"foregroundImage":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` and the `android.icon` keys. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive). This icon will appear on the home screen.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundImage":{"description":"Local path or remote URL to a background image for your app's Adaptive Icon on Android. If specified, this overrides the `backgroundColor` key. Must have the same dimensions as foregroundImage`, and has no effect if `foregroundImage` is not specified. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive).","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundColor":{"description":"Color to use as the background for your app's Adaptive Icon on Android. Defaults to white, `#FFFFFF`. Has no effect if `foregroundImage` is not specified.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"playStoreUrl":{"description":"URL to your app on the Google Play Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://play\\.google\\.com/","example":"https://play.google.com/store/apps/details?id=host.exp.exponent","type":["string"]},"permissions":{"description":"List of permissions used by the standalone app. \n\n To use ONLY the following minimum necessary permissions and none of the extras supported by Expo in a default managed app, set `permissions` to `[]`. The minimum necessary permissions do not require a Privacy Policy when uploading to Google Play Store and are: \n• receive data from Internet \n• view network connections \n• full network access \n• change your audio settings \n• prevent device from sleeping \n\n To use ALL permissions supported by Expo by default, do not specify the `permissions` key. \n\n To use the minimum necessary permissions ALONG with certain additional permissions, specify those extras in `permissions`, e.g.\n\n `[ \"CAMERA\", \"ACCESS_FINE_LOCATION\" ]`.\n\n You can specify the following permissions depending on what you need:\n\n- `ACCESS_COARSE_LOCATION`\n- `ACCESS_FINE_LOCATION`\n- `ACCESS_BACKGROUND_LOCATION`\n- `CAMERA`\n- `RECORD_AUDIO`\n- `READ_CONTACTS`\n- `WRITE_CONTACTS`\n- `READ_CALENDAR`\n- `WRITE_CALENDAR`\n- `READ_EXTERNAL_STORAGE`\n- `WRITE_EXTERNAL_STORAGE`\n- `USE_FINGERPRINT`\n- `USE_BIOMETRIC`\n- `WRITE_SETTINGS`\n- `VIBRATE`\n- `READ_PHONE_STATE`\n- `com.anddoes.launcher.permission.UPDATE_COUNT`\n- `com.android.launcher.permission.INSTALL_SHORTCUT`\n- `com.google.android.c2dm.permission.RECEIVE`\n- `com.google.android.gms.permission.ACTIVITY_RECOGNITION`\n- `com.google.android.providers.gsf.permission.READ_GSERVICES`\n- `com.htc.launcher.permission.READ_SETTINGS`\n- `com.htc.launcher.permission.UPDATE_SHORTCUT`\n- `com.majeur.launcher.permission.UPDATE_BADGE`\n- `com.sec.android.provider.badge.permission.READ`\n- `com.sec.android.provider.badge.permission.WRITE`\n- `com.sonyericsson.home.permission.BROADCAST_BADGE`\n","type":"array","bareWorkflow":"To change the permissions your app requests, you'll need to edit `AndroidManifest.xml` manually. To prevent your app from requesting one of the permissions listed below, you'll need to explicitly add it to `AndroidManifest.xml` along with a `tools:node=\"remove\"` tag.","items":{"type":"string"}},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase. Including this key automatically enables FCM in your standalone app.","type":"string","bareWorkflow":"Add or edit the file directly at `android/app/google-services.json`"},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"googleMaps":{"description":"[Google Maps Android SDK](https://developers.google.com/maps/documentation/android-api/signup) configuration for your standalone app.","type":"object","properties":{"apiKey":{"description":"Your Google Maps Android SDK API key","type":"string"}},"additionalProperties":false},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Go and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"deprecated":true,"meta":{"deprecated":true},"description":"@deprecated Use `googleServicesFile` instead. [Google Sign-In Android SDK](https://developers.google.com/identity/sign-in/android/start-integrating) keys for your standalone app.","type":"object","properties":{"apiKey":{"description":"The Android API key. Can be found in the credentials section of the developer console or in `google-services.json`.","type":"string"},"certificateHash":{"description":"The SHA-1 hash of the signing certificate used to build the APK without any separator (`:`). Can be found in `google-services.json`. https://developers.google.com/android/guides/client-auth","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"splash":{"description":"Configuration for loading and splash screen for managed and standalone Android apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover`, `contain` or `native`, defaults to `contain`.","enum":["cover","contain","native"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"mdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Natural sized image (baseline)`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"hdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 1.5x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 2x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 3x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 4x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}},"intentFilters":{"description":"Configuration for setting an array of custom intent filters in Android manifest. [Learn more](https://developer.android.com/guide/components/intents-filters)","example":[{"autoVerify":true,"action":"VIEW","data":{"scheme":"https","host":"*.expo.io"},"category":["BROWSABLE","DEFAULT"]}],"exampleString":"\n [{ \n \"autoVerify\": true, \n \"action\": \"VIEW\", \n \"data\": { \n \"scheme\": \"https\", \n \"host\": \"*.expo.io\" \n }, \n \"category\": [\"BROWSABLE\", \"DEFAULT\"] \n }]","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"autoVerify":{"description":"You may also use an intent filter to set your app as the default handler for links (without showing the user a dialog with options). To do so use `true` and then configure your server to serve a JSON file verifying that you own the domain. [Learn more](developer.android.com/training/app-links)","type":"boolean"},"action":{"type":"string"},"data":{"anyOf":[{"type":"object","properties":{"scheme":{"description":"the scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"the hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"the port, e.g. `3000`","type":"string"},"path":{"description":"an exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":" a regex for paths that should be matched by the filter, e.g. `.*`","type":"string"},"pathPrefix":{"description":"a prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"a MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false},{"type":["array"],"items":{"type":"object","properties":{"scheme":{"description":"the scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"the hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"the port, e.g. `3000`","type":"string"},"path":{"description":"an exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":" a regex for paths that should be matched by the filter, e.g. `.*`","type":"string"},"pathPrefix":{"description":"a prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"a MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false}}]},"category":{"anyOf":[{"type":["string"]},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false,"required":["action"]},"meta":{"bareWorkflow":"This is set in `AndroidManifest.xml` directly. [Learn more.](developer.android.com/guide/components/intents-filters)"}},"allowBackup":{"description":"Allows your user's app data to be automatically backed up to their Google Drive. If this is set to false, no backup or restore of the application will ever be performed (this is useful if your app deals with sensitive information). Defaults to the Android default, which is `true`.","fallback":true,"type":"boolean"},"softwareKeyboardLayoutMode":{"description":"Determines how the software keyboard will impact the layout of your application. This maps to the `android:windowSoftInputMode` property. Defaults to `resize`. Valid values: `resize`, `pan`.","enum":["resize","pan"],"type":"string","fallback":"resize"}},"additionalProperties":false},"web":{"description":"Configuration that is specific to the web platform.","type":"object","additionalProperties":true,"properties":{"favicon":{"description":"Relative path of an image to use for your app's favicon.","type":"string"},"name":{"description":"Defines the title of the document, defaults to the outer level name","type":"string","meta":{"pwa":"name"}},"shortName":{"description":"A short version of the app's name, 12 characters or fewer. Used in app launcher and new tab pages. Maps to `short_name` in the PWA manifest.json. Defaults to the `name` property.","type":"string","meta":{"pwa":"short_name","regexHuman":"Maximum 12 characters long"}},"lang":{"description":"Specifies the primary language for the values in the name and short_name members. This value is a string containing a single language tag.","type":"string","fallback":"en","meta":{"pwa":"lang"}},"scope":{"description":"Defines the navigation scope of this website's context. This restricts what web pages can be viewed while the manifest is applied. If the user navigates outside the scope, it returns to a normal web page inside a browser tab/window. If the scope is a relative URL, the base URL will be the URL of the manifest.","type":"string","meta":{"pwa":"scope"}},"themeColor":{"description":"Defines the color of the Android tool bar, and may be reflected in the app's preview in task switchers.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"theme_color","html":"theme-color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"description":{"description":"Provides a general description of what the pinned website does.","type":"string","meta":{"html":"description","pwa":"description"}},"dir":{"description":"Specifies the primary text direction for the name, short_name, and description members. Together with the lang member, it helps the correct display of right-to-left languages.","enum":["auto","ltr","rtl"],"type":"string","meta":{"pwa":"dir"}},"display":{"description":"Defines the developers’ preferred display mode for the website.","enum":["fullscreen","standalone","minimal-ui","browser"],"type":"string","meta":{"pwa":"display"}},"startUrl":{"description":"The URL that loads when a user launches the application (e.g., when added to home screen), typically the index. Note: This has to be a relative URL, relative to the manifest URL.","type":"string","meta":{"pwa":"start_url"}},"orientation":{"description":"Defines the default orientation for all the website's top level browsing contexts.","enum":["any","natural","landscape","landscape-primary","landscape-secondary","portrait","portrait-primary","portrait-secondary"],"type":"string","meta":{"pwa":"orientation"}},"backgroundColor":{"description":"Defines the expected “background color” for the website. This value repeats what is already available in the site’s CSS, but can be used by browsers to draw the background color of a shortcut when the manifest is available before the stylesheet has loaded. This creates a smooth transition between launching the web application and loading the site's content.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"background_color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"barStyle":{"description":"If content is set to default, the status bar appears normal. If set to black, the status bar has a black background. If set to black-translucent, the status bar is black and translucent. If set to default or black, the web content is displayed below the status bar. If set to black-translucent, the web content is displayed on the entire screen, partially obscured by the status bar.","enum":["default","black","black-translucent"],"type":"string","fallback":"black-translucent","meta":{"html":"apple-mobile-web-app-status-bar-style","pwa":"name"}},"preferRelatedApplications":{"description":"Hints for the user agent to indicate to the user that the specified native applications (defined in expo.ios and expo.android) are recommended over the website.","type":"boolean","fallback":true,"meta":{"pwa":"prefer_related_applications"}},"dangerous":{"description":"Experimental features. These will break without deprecation notice.","type":"object","properties":{},"additionalProperties":true},"splash":{"description":"Configuration for PWA splash screens.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"Use [expo-splash-screen](https://github.com/expo/expo/tree/master/packages/expo-splash-screen#expo-splash-screen)"}},"config":{"description":"Firebase web configuration. Used by the expo-firebase packages on both web and native. [Learn more](https://firebase.google.com/docs/reference/js/firebase.html#initializeapp)","type":"object","properties":{"firebase":{"type":"object","properties":{"apiKey":{"type":"string"},"authDomain":{"type":"string"},"databaseURL":{"type":"string"},"projectId":{"type":"string"},"storageBucket":{"type":"string"},"messagingSenderId":{"type":"string"},"appId":{"type":"string"},"measurementId":{"type":"string"}}}}}}},"hooks":{"description":"Configuration for scripts to run to hook into the publish process","type":"object","additionalProperties":false,"properties":{"postPublish":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}},"postExport":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}}}},"experiments":{"description":"Enable experimental features that may be unstable, unsupported, or removed without deprecation notices.","type":"object","additionalProperties":false,"properties":{"turboModules":{"description":"Enables Turbo Modules, which are a type of native modules that use a different way of communicating between JS and platform code. When installing a Turbo Module you will need to enable this experimental option (the library still needs to be a part of Expo SDK already, like react-native-reanimated v2). Turbo Modules do not support remote debugging and enabling this option will disable remote debugging.","type":"boolean","fallback":false}}}} \ No newline at end of file +export default {"name":{"description":"The name of your app as it appears both within Expo Go and on your home screen as a standalone app.","type":"string","meta":{"bareWorkflow":"To change the name of your app, edit the 'Display Name' field in Xcode and the `app_name` string in `android/app/src/main/res/values/strings.xml`"}},"description":{"description":"A short description of what your app is and why it is great.","type":"string"},"slug":{"description":"The friendly URL name for publishing. For example, `myAppName` will refer to the `expo.io/@project-owner/myAppName` project.","type":"string","pattern":"^[a-zA-Z0-9_\\-]+$"},"owner":{"description":"The Expo account name of the team owner, only applicable if you are enrolled in the EAS Priority Plan. If not provided, defaults to the username of the current user.","type":"string","minLength":1},"currentFullName":{"description":"The auto generated Expo account name and slug used for display purposes. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value may change when a project is transferred between accounts or renamed.","type":"string","autogenerated":true},"originalFullName":{"description":"The auto generated Expo account name and slug used for services like Notifications and AuthSession proxy. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value will not change when a project is transferred between accounts or renamed.","type":"string","autogenerated":true},"privacy":{"description":"Defaults to `unlisted`. `unlisted` hides the project from search results. `hidden` restricts access to the project page to only the owner and other users that have been granted access. Valid values: `public`, `unlisted`, `hidden`.","enum":["public","unlisted","hidden"],"type":"string","fallback":"unlisted"},"sdkVersion":{"description":"The Expo sdkVersion to run the project on. This should line up with the version specified in your package.json.","type":"string","pattern":"^(\\d+\\.\\d+\\.\\d+)|(UNVERSIONED)$"},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest for bare workflow projects. If provided, this must match the version set in Expo.plist or AndroidManifest.xml.","type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\" or \"-\". Example: \"1.0.3a+\"."}},"version":{"description":"Your app version. In addition to this field, you'll also use `ios.buildNumber` and `android.versionCode` — read more about how to version your app [here](https://docs.expo.io/distribution/app-stores/#versioning-your-app). On iOS this corresponds to `CFBundleShortVersionString`, and on Android, this corresponds to `versionName`. The required format can be found [here](https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring).","type":"string","meta":{"bareWorkflow":"To change your app version, edit the 'Version' field in Xcode and the `versionName` string in `android/app/build.gradle`"}},"platforms":{"description":"Platforms that your project explicitly supports. If not specified, it defaults to `[\"ios\", \"android\"]`.","example":["ios","android","web"],"type":"array","uniqueItems":true,"items":{"type":"string","enum":["android","ios","web"]}},"githubUrl":{"description":"If you would like to share the source code of your app on Github, enter the URL for the repository here and it will be linked to from your Expo project page.","pattern":"^https://github\\.com/","example":"https://github.com/expo/expo","type":["string"]},"orientation":{"description":"Locks your app to a specific orientation with portrait or landscape. Defaults to no lock. Valid values: `default`, `portrait`, `landscape`","enum":["default","portrait","landscape"],"type":"string"},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"backgroundColor":{"description":"The background color for your app, behind any of your React views. This is also known as the root view background color.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`. Default is white: `'#ffffff'`"}},"primaryColor":{"description":"On Android, this will determine the color of your app in the multitasker. Currently this is not used on iOS, but it may be used for other purposes in the future.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon. We recommend that you use a 1024x1024 png file. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true,"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-`. Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each existing size."}},"notification":{"description":"Configuration for remote (push) notifications.","type":"object","properties":{"icon":{"description":"(Android only) Local path or remote URL to an image to use as the icon for push notifications. 96x96 png grayscale with transparency. We recommend following [Google's design guidelines](https://material.io/design/iconography/product-icons.html#design-principles). If not provided, defaults to your app icon.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"color":{"description":"(Android only) Tint color for the push notification image when it appears in the notification tray. Defaults to `#ffffff`","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"iosDisplayInForeground":{"description":"Whether or not to display notifications when the app is in the foreground on iOS. `_displayInForeground` option in the individual push notification message overrides this option. [Learn more.](https://docs.expo.io/push-notifications/receiving-notifications/#foreground-notification-behavior) Defaults to `false`.","type":"boolean"},"androidMode":{"description":"Show each push notification individually (`default`) or collapse into one (`collapse`).","enum":["default","collapse"],"type":"string"},"androidCollapsedTitle":{"description":"If `androidMode` is set to `collapse`, this title is used for the collapsed notification message. For example, `'#{unread_notifications} new interactions'`.","type":"string"}},"additionalProperties":false},"appKey":{"description":"By default, Expo looks for the application registered with the AppRegistry as `main`. If you would like to change this, you can specify the name in this property.","type":"string"},"androidStatusBarColor":{"description":"@deprecated Use `androidStatusBar` instead.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"deprecated":true,"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"androidStatusBar":{"description":"Configuration for the status bar on Android. For more details please navigate to [Configuring StatusBar](https://docs.expo.io/guides/configuring-statusbar/).","type":"object","properties":{"barStyle":{"description":"Configures the status bar icons to have a light or dark color. Valid values: `light-content`, `dark-content`. Defaults to `dark-content`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the status bar. Defaults to `#00000000` (transparent) for `dark-content` bar style and `#00000088` (semi-transparent black) for `light-content` bar style","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string `'#RRGGBB'`, for example, `'#000000'` for black. Or 8 character long hex color string `'#RRGGBBAA'`, for example, `'#00000088'` for semi-transparent black."}},"hidden":{"description":"Instructs the system whether the status bar should be visible or not. Defaults to `false`","type":"boolean"},"translucent":{"description":"Sets `android:windowTranslucentStatus` in `styles.xml`. When false, the system status bar pushes the content of your app down (similar to `position: relative`). When true, the status bar floats above the content in your app (similar to `position: absolute`). Defaults to `true` to match the iOS status bar behavior (which can only float above content).","type":"boolean"}},"additionalProperties":false},"androidNavigationBar":{"description":"Configuration for the bottom navigation bar on Android.","type":"object","properties":{"visible":{"description":"Determines how and when the navigation bar is shown. [Learn more](https://developer.android.com/training/system-ui/immersive). Valid values: `leanback`, `immersive`, `sticky-immersive` \n\n `leanback` results in the navigation bar being hidden until the first touch gesture is registered. \n\n `immersive` results in the navigation bar being hidden until the user swipes up from the edge where the navigation bar is hidden. \n\n `sticky-immersive` is identical to `'immersive'` except that the navigation bar will be semi-transparent and will be hidden again after a short period of time","type":"string","enum":["leanback","immersive","sticky-immersive"]},"barStyle":{"description":"Configure the navigation bar icons to have a light or dark color. Supported on Android Oreo and newer. Valid values: `'light-content'`, `'dark-content'`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the navigation bar.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"developmentClient":{"description":"Settings that apply specifically to running this app in a development client","type":"object","properties":{"silentLaunch":{"description":"If true, the app will launch in a development client with no additional dialogs or progress indicators, just like in a standalone app.","type":"boolean","fallback":false}},"additionalProperties":false},"scheme":{"description":"**Standalone Apps Only**. URL scheme to link into your app. For example, if we set this to `'demo'`, then demo:// URLs would open your app when tapped.","type":"string","pattern":"^[a-z][a-z0-9+.-]*$","meta":{"regexHuman":"String beginning with a **lowercase** letter followed by any combination of **lowercase** letters, digits, \"+\", \".\" or \"-\"","standaloneOnly":true,"bareWorkflow":"To change your app's scheme, replace all occurrences of the old scheme in `Info.plist` and `AndroidManifest.xml`"}},"entryPoint":{"description":"The relative path to your main JavaScript file.","type":"string"},"extra":{"description":"Any extra fields you want to pass to your experience. Values are accessible via `Expo.Constants.manifest.extra` ([Learn more](https://docs.expo.io/versions/latest/sdk/constants/#constantsmanifest))","type":"object","properties":{},"additionalProperties":true},"packagerOpts":{"description":"@deprecated Use a `metro.config.js` file instead. [Learn more](https://docs.expo.io/guides/customizing-metro/)","meta":{"deprecated":true,"autogenerated":true},"type":"object","properties":{},"additionalProperties":true},"ignoreNodeModulesValidation":{"type":"boolean"},"nodeModulesPath":{"type":"string"},"updates":{"description":"Configuration for how and when the app should request OTA JavaScript updates","type":"object","properties":{"enabled":{"description":"If set to false, your standalone app will never download any code, and will only use code bundled locally on the device. In that case, all updates to your app must be submitted through Apple review. Defaults to true. (Note: This will not work out of the box with ExpoKit projects)","type":"boolean"},"checkAutomatically":{"description":"By default, Expo will check for updates every time the app is loaded. Set this to `ON_ERROR_RECOVERY` to disable automatic checking unless recovering from an error. Must be one of `ON_LOAD` or `ON_ERROR_RECOVERY`","enum":["ON_ERROR_RECOVERY","ON_LOAD"],"type":"string"},"fallbackToCacheTimeout":{"description":"How long (in ms) to allow for fetching OTA updates before falling back to a cached version of the app. Defaults to 0. Must be between 0 and 300000 (5 minutes).","type":"number","minimum":0,"maximum":300000}},"additionalProperties":false},"locales":{"description":"Provide overrides by locale for System Dialog prompts like Permissions Boxes","type":"object","properties":{},"meta":{"bareWorkflow":"To add or change language and localization information in your iOS app, you need to use Xcode."},"additionalProperties":{"type":["string","object"]}},"facebookAppId":{"description":"Used for all Facebook libraries. Set up your Facebook App ID at https://developers.facebook.com.","type":"string","pattern":"^[0-9]+$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAutoInitEnabled":{"description":"Whether the Facebook SDK should be initialized automatically. The default in Expo (Client and in standalone apps) is `false`.","type":"boolean"},"facebookAutoLogAppEventsEnabled":{"description":"Whether the Facebook SDK log app events automatically. If you don't set this property, Facebook's default will be used. (Applicable only to standalone apps.) Note: The Facebook SDK must be initialized for app events to work. You may autoinitialize Facebook SDK by setting `facebookAutoInitEnabled` to `true`","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAdvertiserIDCollectionEnabled":{"description":"Whether the Facebook SDK should collect advertiser ID properties, like the Apple IDFA and Android Advertising ID, automatically. If you don't set this property, Facebook's default policy will be used. (Applicable only to standalone apps.)","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookDisplayName":{"description":"Used for native Facebook login.","type":"string","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookScheme":{"description":"Used for Facebook native login. Starts with 'fb' and followed by a string of digits, like 'fb1234567890'. You can find your scheme [here](https://developers.facebook.com/docs/facebook-login/ios)in the 'Configuring Your info.plist' section (only applicable to standalone apps and custom Expo Go apps).","type":"string","pattern":"^fb[0-9]+[A-Za-z]*$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"isDetached":{"description":"Is app detached","type":"boolean","meta":{"autogenerated":true}},"detach":{"description":"Extra fields needed by detached apps","type":"object","properties":{},"meta":{"autogenerated":true},"additionalProperties":true},"assetBundlePatterns":{"description":"An array of file glob strings which point to assets that will be bundled within your standalone app binary. Read more in the [Offline Support guide](https://docs.expo.io/guides/offline-support/)","type":"array","items":{"type":"string"}},"splash":{"description":"Configuration for loading and splash screen for standalone apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"For Android, edit the `colorPrimary` item in `android/app/src/main/res/values/colors.xml`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-` (Android Studio can [generate the appropriate image files for you](https://developer.android.com/studio/write/image-asset-studio)). Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each required size."}},"ios":{"description":"Configuration that is specific to the iOS platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"bundleIdentifier":{"description":"The bundle identifier for your iOS standalone app. You make it up, but it needs to be unique on the App Store. See [this StackOverflow question](http://stackoverflow.com/questions/11347470/what-does-bundle-identifier-mean-in-the-ios-project).","type":"string","pattern":"^[a-zA-Z0-9.-]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`","regexHuman":"iOS bundle identifier notation unique name for your app. For example, `host.exp.expo`, where `exp.host` is our domain and `expo` is our app name."}},"buildNumber":{"description":"Build number for your iOS standalone app. Corresponds to `CFBundleVersion` and must match Apple's [specified format](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102364). (Note: Transporter will pull the value for `Version Number` from `expo.version` and NOT from `expo.ios.buildNumber`.)","type":"string","pattern":"^[A-Za-z0-9\\.]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`"}},"backgroundColor":{"description":"The background color for your iOS app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on iOS. If specified, this overrides the top-level `icon` key. Use a 1024x1024 icon which follows Apple's interface guidelines for icons, including color profile and transparency. \n\n Expo will generate the other required sizes. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"merchantId":{"description":"Merchant ID for use with Apple Pay in your standalone app.","type":"string"},"appStoreUrl":{"description":"URL to your app on the Apple App Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://(itunes|apps)\\.apple\\.com/.*?\\d+","example":"https://apps.apple.com/us/app/expo-client/id982107779","type":["string"]},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"usesNonExemptEncryption":{"description":"Sets `ITSAppUsesNonExemptEncryption` in the standalone ipa's Info.plist to the given boolean value.","type":"boolean"},"googleMapsApiKey":{"description":"[Google Maps iOS SDK](https://developers.google.com/maps/documentation/ios-sdk/start) key for your standalone app.","type":"string"},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Client and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`.](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"description":"[Google Sign-In iOS SDK](https://developers.google.com/identity/sign-in/ios/start-integrating) keys for your standalone app.","type":"object","properties":{"reservedClientId":{"description":"The reserved client ID URL scheme. Can be found in `GoogleService-Info.plist`.","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"isRemoteJSEnabled":{"description":"@deprecated Use `updates.enabled` instead.","type":"boolean","meta":{"deprecated":true}},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase.","type":"string"},"loadJSInBackgroundExperimental":{"description":"@deprecated Use `updates` key with `fallbackToCacheTimeout: 0` instead.","type":"boolean","meta":{"deprecated":true}},"supportsTablet":{"description":"Whether your standalone iOS app supports tablet screen sizes. Defaults to `false`.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations~ipad`"}},"isTabletOnly":{"description":"If true, indicates that your standalone iOS app does not support handsets, and only supports tablets.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations`"}},"requireFullScreen":{"description":"If true, indicates that your standalone iOS app does not support Slide Over and Split View on iPad. Defaults to `true` currently, but will change to `false` in a future SDK version.","type":"boolean","meta":{"bareWorkflow":"Use Xcode to set `UIRequiresFullScreen`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"infoPlist":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native Info.plist. Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"entitlements":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native *.entitlements (plist). Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"associatedDomains":{"description":"An array that contains Associated Domains for the standalone app. See [Apple's docs for config](https://developer.apple.com/documentation/safariservices/supporting_associated_domains). ","type":"array","uniqueItems":true,"items":{"type":"string"},"meta":{"regexHuman":"Entries must follow the format `applinks:[:port number]`. See [Apple's docs for details](https://developer.apple.com/documentation/safariservices/supporting_associated_domains)","bareWorkflow":"Use Xcode to set this. See [Apple's documentation](https://developer.apple.com/documentation/safariservices/supporting_associated_domains) for details."}},"usesIcloudStorage":{"description":"A boolean indicating if the app uses iCloud Storage for `DocumentPicker`. See `DocumentPicker` docs for details.","type":"boolean","meta":{"bareWorkflow":"Use Xcode, or ios.entitlements to configure this."}},"usesAppleSignIn":{"description":"A boolean indicating if the app uses Apple Sign-In. See `AppleAuthentication` docs for details.","type":"boolean","fallback":false},"accessesContactNotes":{"description":"A Boolean value that indicates whether the app may access the notes stored in contacts. You must [receive permission from Apple](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_contacts_notes) before you can submit your app for review with this capability.","type":"boolean","fallback":false},"splash":{"description":"Configuration for loading and splash screen for standalone iOS apps.","type":"object","properties":{"xib":{"description":"Local path to a XIB file as the loading screen. It overrides other loading screen options. Note: This will only be used in the standalone app (i.e., after you build the app). It will not be used in Expo Go.","type":"string","meta":{"asset":true,"contentTypePattern":"^text/xml$","contentTypeHuman":".xib interface builder document"}},"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"tabletImage":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}}},"additionalProperties":false},"android":{"description":"Configuration that is specific to the Android platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"enableDangerousExperimentalLeanBuilds":{"description":"If set to true, APK will contain only unimodules that are explicitly added in package.json and their dependecies","type":"boolean"},"publishManifestPath":{"description":"The manifest for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"package":{"description":"The package name for your Android standalone app. You make it up, but it needs to be unique on the Play Store. See [this StackOverflow question](http://stackoverflow.com/questions/6273892/android-package-name-convention).","type":"string","pattern":"^[a-zA-Z][a-zA-Z0-9\\_]*(\\.[a-zA-Z][a-zA-Z0-9\\_]*)+$","meta":{"regexHuman":"Reverse DNS notation unique name for your app. Valid Android Application ID. For example, `com.example.app`, where `com.example` is our domain and `app` is our app. The name may only contain lowercase and uppercase letters (a-z, A-Z), numbers (0-9) and underscores (_), separated by periods (.). Each component of the name should start with a lowercase letter.","bareWorkflow":"This is set in `android/app/build.gradle` as `applicationId` as well as in your `AndroidManifest.xml` file (multiple places)."}},"versionCode":{"description":"Version number required by Google Play. Increment by one for each release. Must be a positive integer. [Learn more](https://developer.android.com/studio/publish/versioning.html)","type":"integer","minimum":0,"maximum":2100000000,"meta":{"bareWorkflow":"This is set in `android/app/build.gradle` as `versionCode`"}},"backgroundColor":{"description":"The background color for your Android app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"This is set in `android/app/src/main/AndroidManifest.xml` under `android:windowBackground`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"useNextNotificationsApi":{"description":"A Boolean value that indicates whether the app should use the new notifications API.","type":"boolean","fallback":false},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` key. We recommend that you use a 1024x1024 png file (transparency is recommended for the Google Play Store). This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"adaptiveIcon":{"description":"Settings for an Adaptive Launcher Icon on Android. [Learn more](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)","type":"object","properties":{"foregroundImage":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` and the `android.icon` keys. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive). This icon will appear on the home screen.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundImage":{"description":"Local path or remote URL to a background image for your app's Adaptive Icon on Android. If specified, this overrides the `backgroundColor` key. Must have the same dimensions as foregroundImage`, and has no effect if `foregroundImage` is not specified. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive).","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundColor":{"description":"Color to use as the background for your app's Adaptive Icon on Android. Defaults to white, `#FFFFFF`. Has no effect if `foregroundImage` is not specified.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"playStoreUrl":{"description":"URL to your app on the Google Play Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://play\\.google\\.com/","example":"https://play.google.com/store/apps/details?id=host.exp.exponent","type":["string"]},"permissions":{"description":"List of permissions used by the standalone app. \n\n To use ONLY the following minimum necessary permissions and none of the extras supported by Expo in a default managed app, set `permissions` to `[]`. The minimum necessary permissions do not require a Privacy Policy when uploading to Google Play Store and are: \n• receive data from Internet \n• view network connections \n• full network access \n• change your audio settings \n• prevent device from sleeping \n\n To use ALL permissions supported by Expo by default, do not specify the `permissions` key. \n\n To use the minimum necessary permissions ALONG with certain additional permissions, specify those extras in `permissions`, e.g.\n\n `[ \"CAMERA\", \"ACCESS_FINE_LOCATION\" ]`.\n\n You can specify the following permissions depending on what you need:\n\n- `ACCESS_COARSE_LOCATION`\n- `ACCESS_FINE_LOCATION`\n- `ACCESS_BACKGROUND_LOCATION`\n- `CAMERA`\n- `RECORD_AUDIO`\n- `READ_CONTACTS`\n- `WRITE_CONTACTS`\n- `READ_CALENDAR`\n- `WRITE_CALENDAR`\n- `READ_EXTERNAL_STORAGE`\n- `WRITE_EXTERNAL_STORAGE`\n- `USE_FINGERPRINT`\n- `USE_BIOMETRIC`\n- `WRITE_SETTINGS`\n- `VIBRATE`\n- `READ_PHONE_STATE`\n- `com.anddoes.launcher.permission.UPDATE_COUNT`\n- `com.android.launcher.permission.INSTALL_SHORTCUT`\n- `com.google.android.c2dm.permission.RECEIVE`\n- `com.google.android.gms.permission.ACTIVITY_RECOGNITION`\n- `com.google.android.providers.gsf.permission.READ_GSERVICES`\n- `com.htc.launcher.permission.READ_SETTINGS`\n- `com.htc.launcher.permission.UPDATE_SHORTCUT`\n- `com.majeur.launcher.permission.UPDATE_BADGE`\n- `com.sec.android.provider.badge.permission.READ`\n- `com.sec.android.provider.badge.permission.WRITE`\n- `com.sonyericsson.home.permission.BROADCAST_BADGE`\n","type":"array","bareWorkflow":"To change the permissions your app requests, you'll need to edit `AndroidManifest.xml` manually. To prevent your app from requesting one of the permissions listed below, you'll need to explicitly add it to `AndroidManifest.xml` along with a `tools:node=\"remove\"` tag.","items":{"type":"string"}},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase. Including this key automatically enables FCM in your standalone app.","type":"string","bareWorkflow":"Add or edit the file directly at `android/app/google-services.json`"},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"googleMaps":{"description":"[Google Maps Android SDK](https://developers.google.com/maps/documentation/android-api/signup) configuration for your standalone app.","type":"object","properties":{"apiKey":{"description":"Your Google Maps Android SDK API key","type":"string"}},"additionalProperties":false},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Go and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"deprecated":true,"meta":{"deprecated":true},"description":"@deprecated Use `googleServicesFile` instead. [Google Sign-In Android SDK](https://developers.google.com/identity/sign-in/android/start-integrating) keys for your standalone app.","type":"object","properties":{"apiKey":{"description":"The Android API key. Can be found in the credentials section of the developer console or in `google-services.json`.","type":"string"},"certificateHash":{"description":"The SHA-1 hash of the signing certificate used to build the APK without any separator (`:`). Can be found in `google-services.json`. https://developers.google.com/android/guides/client-auth","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"splash":{"description":"Configuration for loading and splash screen for managed and standalone Android apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover`, `contain` or `native`, defaults to `contain`.","enum":["cover","contain","native"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"mdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Natural sized image (baseline)`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"hdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 1.5x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 2x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 3x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 4x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}},"intentFilters":{"description":"Configuration for setting an array of custom intent filters in Android manifest. [Learn more](https://developer.android.com/guide/components/intents-filters)","example":[{"autoVerify":true,"action":"VIEW","data":{"scheme":"https","host":"*.expo.io"},"category":["BROWSABLE","DEFAULT"]}],"exampleString":"\n [{ \n \"autoVerify\": true, \n \"action\": \"VIEW\", \n \"data\": { \n \"scheme\": \"https\", \n \"host\": \"*.expo.io\" \n }, \n \"category\": [\"BROWSABLE\", \"DEFAULT\"] \n }]","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"autoVerify":{"description":"You may also use an intent filter to set your app as the default handler for links (without showing the user a dialog with options). To do so use `true` and then configure your server to serve a JSON file verifying that you own the domain. [Learn more](developer.android.com/training/app-links)","type":"boolean"},"action":{"type":"string"},"data":{"anyOf":[{"type":"object","properties":{"scheme":{"description":"the scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"the hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"the port, e.g. `3000`","type":"string"},"path":{"description":"an exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":" a regex for paths that should be matched by the filter, e.g. `.*`","type":"string"},"pathPrefix":{"description":"a prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"a MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false},{"type":["array"],"items":{"type":"object","properties":{"scheme":{"description":"the scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"the hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"the port, e.g. `3000`","type":"string"},"path":{"description":"an exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":" a regex for paths that should be matched by the filter, e.g. `.*`","type":"string"},"pathPrefix":{"description":"a prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"a MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false}}]},"category":{"anyOf":[{"type":["string"]},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false,"required":["action"]},"meta":{"bareWorkflow":"This is set in `AndroidManifest.xml` directly. [Learn more.](developer.android.com/guide/components/intents-filters)"}},"allowBackup":{"description":"Allows your user's app data to be automatically backed up to their Google Drive. If this is set to false, no backup or restore of the application will ever be performed (this is useful if your app deals with sensitive information). Defaults to the Android default, which is `true`.","fallback":true,"type":"boolean"},"softwareKeyboardLayoutMode":{"description":"Determines how the software keyboard will impact the layout of your application. This maps to the `android:windowSoftInputMode` property. Defaults to `resize`. Valid values: `resize`, `pan`.","enum":["resize","pan"],"type":"string","fallback":"resize"}},"additionalProperties":false},"web":{"description":"Configuration that is specific to the web platform.","type":"object","additionalProperties":true,"properties":{"favicon":{"description":"Relative path of an image to use for your app's favicon.","type":"string"},"name":{"description":"Defines the title of the document, defaults to the outer level name","type":"string","meta":{"pwa":"name"}},"shortName":{"description":"A short version of the app's name, 12 characters or fewer. Used in app launcher and new tab pages. Maps to `short_name` in the PWA manifest.json. Defaults to the `name` property.","type":"string","meta":{"pwa":"short_name","regexHuman":"Maximum 12 characters long"}},"lang":{"description":"Specifies the primary language for the values in the name and short_name members. This value is a string containing a single language tag.","type":"string","fallback":"en","meta":{"pwa":"lang"}},"scope":{"description":"Defines the navigation scope of this website's context. This restricts what web pages can be viewed while the manifest is applied. If the user navigates outside the scope, it returns to a normal web page inside a browser tab/window. If the scope is a relative URL, the base URL will be the URL of the manifest.","type":"string","meta":{"pwa":"scope"}},"themeColor":{"description":"Defines the color of the Android tool bar, and may be reflected in the app's preview in task switchers.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"theme_color","html":"theme-color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"description":{"description":"Provides a general description of what the pinned website does.","type":"string","meta":{"html":"description","pwa":"description"}},"dir":{"description":"Specifies the primary text direction for the name, short_name, and description members. Together with the lang member, it helps the correct display of right-to-left languages.","enum":["auto","ltr","rtl"],"type":"string","meta":{"pwa":"dir"}},"display":{"description":"Defines the developers’ preferred display mode for the website.","enum":["fullscreen","standalone","minimal-ui","browser"],"type":"string","meta":{"pwa":"display"}},"startUrl":{"description":"The URL that loads when a user launches the application (e.g., when added to home screen), typically the index. Note: This has to be a relative URL, relative to the manifest URL.","type":"string","meta":{"pwa":"start_url"}},"orientation":{"description":"Defines the default orientation for all the website's top level browsing contexts.","enum":["any","natural","landscape","landscape-primary","landscape-secondary","portrait","portrait-primary","portrait-secondary"],"type":"string","meta":{"pwa":"orientation"}},"backgroundColor":{"description":"Defines the expected “background color” for the website. This value repeats what is already available in the site’s CSS, but can be used by browsers to draw the background color of a shortcut when the manifest is available before the stylesheet has loaded. This creates a smooth transition between launching the web application and loading the site's content.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"background_color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"barStyle":{"description":"If content is set to default, the status bar appears normal. If set to black, the status bar has a black background. If set to black-translucent, the status bar is black and translucent. If set to default or black, the web content is displayed below the status bar. If set to black-translucent, the web content is displayed on the entire screen, partially obscured by the status bar.","enum":["default","black","black-translucent"],"type":"string","fallback":"black-translucent","meta":{"html":"apple-mobile-web-app-status-bar-style","pwa":"name"}},"preferRelatedApplications":{"description":"Hints for the user agent to indicate to the user that the specified native applications (defined in expo.ios and expo.android) are recommended over the website.","type":"boolean","fallback":true,"meta":{"pwa":"prefer_related_applications"}},"dangerous":{"description":"Experimental features. These will break without deprecation notice.","type":"object","properties":{},"additionalProperties":true},"splash":{"description":"Configuration for PWA splash screens.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"Use [expo-splash-screen](https://github.com/expo/expo/tree/main/packages/expo-splash-screen#expo-splash-screen)"}},"config":{"description":"Firebase web configuration. Used by the expo-firebase packages on both web and native. [Learn more](https://firebase.google.com/docs/reference/js/firebase.html#initializeapp)","type":"object","properties":{"firebase":{"type":"object","properties":{"apiKey":{"type":"string"},"authDomain":{"type":"string"},"databaseURL":{"type":"string"},"projectId":{"type":"string"},"storageBucket":{"type":"string"},"messagingSenderId":{"type":"string"},"appId":{"type":"string"},"measurementId":{"type":"string"}}}}}}},"hooks":{"description":"Configuration for scripts to run to hook into the publish process","type":"object","additionalProperties":false,"properties":{"postPublish":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}},"postExport":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}}}},"experiments":{"description":"Enable experimental features that may be unstable, unsupported, or removed without deprecation notices.","type":"object","additionalProperties":false,"properties":{"turboModules":{"description":"Enables Turbo Modules, which are a type of native modules that use a different way of communicating between JS and platform code. When installing a Turbo Module you will need to enable this experimental option (the library still needs to be a part of Expo SDK already, like react-native-reanimated v2). Turbo Modules do not support remote debugging and enabling this option will disable remote debugging.","type":"boolean","fallback":false}}}} \ No newline at end of file diff --git a/docs/scripts/schemas/v41.0.0/app-config-schema.js b/docs/scripts/schemas/v41.0.0/app-config-schema.js index f8265aec2ffaf..803e7910a92db 100644 --- a/docs/scripts/schemas/v41.0.0/app-config-schema.js +++ b/docs/scripts/schemas/v41.0.0/app-config-schema.js @@ -1 +1 @@ -export default {"name":{"description":"The name of your app as it appears both within Expo Go and on your home screen as a standalone app.","type":"string","meta":{"bareWorkflow":"To change the name of your app, edit the 'Display Name' field in Xcode and the `app_name` string in `android/app/src/main/res/values/strings.xml`"}},"description":{"description":"A short description of what your app is and why it is great.","type":"string"},"slug":{"description":"The friendly URL name for publishing. For example, `myAppName` will refer to the `expo.io/@project-owner/myAppName` project.","type":"string","pattern":"^[a-zA-Z0-9_\\-]+$"},"owner":{"description":"The Expo account name of the team owner, only applicable if you are enrolled in the EAS Priority Plan. If not provided, defaults to the username of the current user.","type":"string","minLength":1},"currentFullName":{"description":"The auto generated Expo account name and slug used for display purposes. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value may change when a project is transferred between accounts or renamed.","type":"string","autogenerated":true},"originalFullName":{"description":"The auto generated Expo account name and slug used for services like Notifications and AuthSession proxy. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value will not change when a project is transferred between accounts or renamed.","type":"string","autogenerated":true},"privacy":{"description":"Defaults to `unlisted`. `unlisted` hides the project from search results. `hidden` restricts access to the project page to only the owner and other users that have been granted access. Valid values: `public`, `unlisted`, `hidden`.","enum":["public","unlisted","hidden"],"type":"string","fallback":"unlisted"},"sdkVersion":{"description":"The Expo sdkVersion to run the project on. This should line up with the version specified in your package.json.","type":"string","pattern":"^(\\d+\\.\\d+\\.\\d+)|(UNVERSIONED)$"},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest for bare workflow projects. If provided, this must match the version set in Expo.plist or AndroidManifest.xml.","type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\" or \"-\". Example: \"1.0.3a+\"."}},"version":{"description":"Your app version. In addition to this field, you'll also use `ios.buildNumber` and `android.versionCode` — read more about how to version your app [here](https://docs.expo.io/distribution/app-stores/#versioning-your-app). On iOS this corresponds to `CFBundleShortVersionString`, and on Android, this corresponds to `versionName`. The required format can be found [here](https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring).","type":"string","meta":{"bareWorkflow":"To change your app version, edit the 'Version' field in Xcode and the `versionName` string in `android/app/build.gradle`"}},"platforms":{"description":"Platforms that your project explicitly supports. If not specified, it defaults to `[\"ios\", \"android\"]`.","example":["ios","android","web"],"type":"array","uniqueItems":true,"items":{"type":"string","enum":["android","ios","web"]}},"githubUrl":{"description":"If you would like to share the source code of your app on Github, enter the URL for the repository here and it will be linked to from your Expo project page.","pattern":"^https://github\\.com/","example":"https://github.com/expo/expo","type":["string"]},"orientation":{"description":"Locks your app to a specific orientation with portrait or landscape. Defaults to no lock. Valid values: `default`, `portrait`, `landscape`","enum":["default","portrait","landscape"],"type":"string"},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"backgroundColor":{"description":"The background color for your app, behind any of your React views. This is also known as the root view background color.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`. Default is white: `'#ffffff'`"}},"primaryColor":{"description":"On Android, this will determine the color of your app in the multitasker. Currently this is not used on iOS, but it may be used for other purposes in the future.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon. We recommend that you use a 1024x1024 png file. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true,"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-`. Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each existing size."}},"notification":{"description":"Configuration for remote (push) notifications.","type":"object","properties":{"icon":{"description":"(Android only) Local path or remote URL to an image to use as the icon for push notifications. 96x96 png grayscale with transparency. We recommend following [Google's design guidelines](https://material.io/design/iconography/product-icons.html#design-principles). If not provided, defaults to your app icon.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"color":{"description":"(Android only) Tint color for the push notification image when it appears in the notification tray. Defaults to `#ffffff`","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"iosDisplayInForeground":{"description":"Whether or not to display notifications when the app is in the foreground on iOS. `_displayInForeground` option in the individual push notification message overrides this option. [Learn more.](https://docs.expo.io/push-notifications/receiving-notifications/#foreground-notification-behavior) Defaults to `false`.","type":"boolean"},"androidMode":{"description":"Show each push notification individually (`default`) or collapse into one (`collapse`).","enum":["default","collapse"],"type":"string"},"androidCollapsedTitle":{"description":"If `androidMode` is set to `collapse`, this title is used for the collapsed notification message. For example, `'#{unread_notifications} new interactions'`.","type":"string"}},"additionalProperties":false},"appKey":{"description":"By default, Expo looks for the application registered with the AppRegistry as `main`. If you would like to change this, you can specify the name in this property.","type":"string"},"androidStatusBarColor":{"description":"@deprecated Use `androidStatusBar` instead.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"deprecated":true,"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"androidStatusBar":{"description":"Configuration for the status bar on Android. For more details please navigate to [Configuring StatusBar](https://docs.expo.io/guides/configuring-statusbar/).","type":"object","properties":{"barStyle":{"description":"Configures the status bar icons to have a light or dark color. Valid values: `light-content`, `dark-content`. Defaults to `dark-content`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the status bar. Defaults to `#00000000` (transparent) for `dark-content` bar style and `#00000088` (semi-transparent black) for `light-content` bar style","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string `'#RRGGBB'`, for example, `'#000000'` for black. Or 8 character long hex color string `'#RRGGBBAA'`, for example, `'#00000088'` for semi-transparent black."}},"hidden":{"description":"Instructs the system whether the status bar should be visible or not. Defaults to `false`","type":"boolean"},"translucent":{"description":"Sets `android:windowTranslucentStatus` in `styles.xml`. When false, the system status bar pushes the content of your app down (similar to `position: relative`). When true, the status bar floats above the content in your app (similar to `position: absolute`). Defaults to `true` to match the iOS status bar behavior (which can only float above content).","type":"boolean"}},"additionalProperties":false},"androidNavigationBar":{"description":"Configuration for the bottom navigation bar on Android.","type":"object","properties":{"visible":{"description":"Determines how and when the navigation bar is shown. [Learn more](https://developer.android.com/training/system-ui/immersive). Valid values: `leanback`, `immersive`, `sticky-immersive` \n\n `leanback` results in the navigation bar being hidden until the first touch gesture is registered. \n\n `immersive` results in the navigation bar being hidden until the user swipes up from the edge where the navigation bar is hidden. \n\n `sticky-immersive` is identical to `'immersive'` except that the navigation bar will be semi-transparent and will be hidden again after a short period of time","type":"string","enum":["leanback","immersive","sticky-immersive"]},"barStyle":{"description":"Configure the navigation bar icons to have a light or dark color. Supported on Android Oreo and newer. Valid values: `'light-content'`, `'dark-content'`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the navigation bar.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"developmentClient":{"description":"Settings that apply specifically to running this app in a development client","type":"object","properties":{"silentLaunch":{"description":"If true, the app will launch in a development client with no additional dialogs or progress indicators, just like in a standalone app.","type":"boolean","fallback":false}},"additionalProperties":false},"scheme":{"description":"**Standalone Apps Only**. URL scheme to link into your app. For example, if we set this to `'demo'`, then demo:// URLs would open your app when tapped.","type":"string","pattern":"^[a-z][a-z0-9+.-]*$","meta":{"regexHuman":"String beginning with a **lowercase** letter followed by any combination of **lowercase** letters, digits, \"+\", \".\" or \"-\"","standaloneOnly":true,"bareWorkflow":"To change your app's scheme, replace all occurrences of the old scheme in `Info.plist` and `AndroidManifest.xml`"}},"entryPoint":{"description":"The relative path to your main JavaScript file.","type":"string"},"extra":{"description":"Any extra fields you want to pass to your experience. Values are accessible via `Expo.Constants.manifest.extra` ([Learn more](https://docs.expo.io/versions/latest/sdk/constants/#constantsmanifest))","type":"object","properties":{},"additionalProperties":true},"packagerOpts":{"description":"@deprecated Use a `metro.config.js` file instead. [Learn more](https://docs.expo.io/guides/customizing-metro/)","meta":{"deprecated":true,"autogenerated":true},"type":"object","properties":{},"additionalProperties":true},"updates":{"description":"Configuration for how and when the app should request OTA JavaScript updates","type":"object","properties":{"enabled":{"description":"If set to false, your standalone app will never download any code, and will only use code bundled locally on the device. In that case, all updates to your app must be submitted through Apple review. Defaults to true. (Note: This will not work out of the box with ExpoKit projects)","type":"boolean"},"checkAutomatically":{"description":"By default, Expo will check for updates every time the app is loaded. Set this to `ON_ERROR_RECOVERY` to disable automatic checking unless recovering from an error. Must be one of `ON_LOAD` or `ON_ERROR_RECOVERY`","enum":["ON_ERROR_RECOVERY","ON_LOAD"],"type":"string"},"fallbackToCacheTimeout":{"description":"How long (in ms) to allow for fetching OTA updates before falling back to a cached version of the app. Defaults to 0. Must be between 0 and 300000 (5 minutes).","type":"number","minimum":0,"maximum":300000}},"additionalProperties":false},"locales":{"description":"Provide overrides by locale for System Dialog prompts like Permissions Boxes","type":"object","properties":{},"meta":{"bareWorkflow":"To add or change language and localization information in your iOS app, you need to use Xcode."},"additionalProperties":{"type":["string","object"]}},"facebookAppId":{"description":"Used for all Facebook libraries. Set up your Facebook App ID at https://developers.facebook.com.","type":"string","pattern":"^[0-9]+$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAutoInitEnabled":{"description":"Whether the Facebook SDK should be initialized automatically. The default in Expo (Client and in standalone apps) is `false`.","type":"boolean"},"facebookAutoLogAppEventsEnabled":{"description":"Whether the Facebook SDK log app events automatically. If you don't set this property, Facebook's default will be used. (Applicable only to standalone apps.) Note: The Facebook SDK must be initialized for app events to work. You may autoinitialize Facebook SDK by setting `facebookAutoInitEnabled` to `true`","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAdvertiserIDCollectionEnabled":{"description":"Whether the Facebook SDK should collect advertiser ID properties, like the Apple IDFA and Android Advertising ID, automatically. If you don't set this property, Facebook's default policy will be used. (Applicable only to standalone apps.)","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookDisplayName":{"description":"Used for native Facebook login.","type":"string","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookScheme":{"description":"Used for Facebook native login. Starts with 'fb' and followed by a string of digits, like 'fb1234567890'. You can find your scheme [here](https://developers.facebook.com/docs/facebook-login/ios)in the 'Configuring Your info.plist' section (only applicable to standalone apps and custom Expo Go apps).","type":"string","pattern":"^fb[0-9]+[A-Za-z]*$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"isDetached":{"description":"Is app detached","type":"boolean","meta":{"autogenerated":true}},"detach":{"description":"Extra fields needed by detached apps","type":"object","properties":{},"meta":{"autogenerated":true},"additionalProperties":true},"assetBundlePatterns":{"description":"An array of file glob strings which point to assets that will be bundled within your standalone app binary. Read more in the [Offline Support guide](https://docs.expo.io/guides/offline-support/)","type":"array","items":{"type":"string"}},"plugins":{"description":"Config plugins for adding extra functionality to your project. [Learn more](https://docs.expo.io/guides/config-plugins/).","meta":{"bareWorkflow":"Plugins that add modifications can only be used with [prebuilding](https://expo.fyi/prebuilding) and managed EAS Build"},"type":"array","items":{"anyOf":[{"type":["string"]},{"type":"array","items":[{"type":["string"]},{}],"additionalItems":false}]}},"splash":{"description":"Configuration for loading and splash screen for standalone apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"For Android, edit the `colorPrimary` item in `android/app/src/main/res/values/colors.xml`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-` (Android Studio can [generate the appropriate image files for you](https://developer.android.com/studio/write/image-asset-studio)). Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each required size."}},"ios":{"description":"Configuration that is specific to the iOS platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"bundleIdentifier":{"description":"The bundle identifier for your iOS standalone app. You make it up, but it needs to be unique on the App Store. See [this StackOverflow question](http://stackoverflow.com/questions/11347470/what-does-bundle-identifier-mean-in-the-ios-project).","type":"string","pattern":"^[a-zA-Z0-9.-]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`","regexHuman":"iOS bundle identifier notation unique name for your app. For example, `host.exp.expo`, where `exp.host` is our domain and `expo` is our app name."}},"buildNumber":{"description":"Build number for your iOS standalone app. Corresponds to `CFBundleVersion` and must match Apple's [specified format](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102364). (Note: Transporter will pull the value for `Version Number` from `expo.version` and NOT from `expo.ios.buildNumber`.)","type":"string","pattern":"^[A-Za-z0-9\\.]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`"}},"backgroundColor":{"description":"The background color for your iOS app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on iOS. If specified, this overrides the top-level `icon` key. Use a 1024x1024 icon which follows Apple's interface guidelines for icons, including color profile and transparency. \n\n Expo will generate the other required sizes. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"merchantId":{"description":"Merchant ID for use with Apple Pay in your standalone app.","type":"string"},"appStoreUrl":{"description":"URL to your app on the Apple App Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://(itunes|apps)\\.apple\\.com/.*?\\d+","example":"https://apps.apple.com/us/app/expo-client/id982107779","type":["string"]},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"usesNonExemptEncryption":{"description":"Sets `ITSAppUsesNonExemptEncryption` in the standalone ipa's Info.plist to the given boolean value.","type":"boolean"},"googleMapsApiKey":{"description":"[Google Maps iOS SDK](https://developers.google.com/maps/documentation/ios-sdk/start) key for your standalone app.","type":"string"},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Go and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`.](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"description":"[Google Sign-In iOS SDK](https://developers.google.com/identity/sign-in/ios/start-integrating) keys for your standalone app.","type":"object","properties":{"reservedClientId":{"description":"The reserved client ID URL scheme. Can be found in `GoogleService-Info.plist`.","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"isRemoteJSEnabled":{"description":"@deprecated Use `updates.enabled` instead.","type":"boolean","meta":{"deprecated":true}},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase.","type":"string"},"loadJSInBackgroundExperimental":{"description":"@deprecated Use `updates` key with `fallbackToCacheTimeout: 0` instead.","type":"boolean","meta":{"deprecated":true}},"supportsTablet":{"description":"Whether your standalone iOS app supports tablet screen sizes. Defaults to `false`.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations~ipad`"}},"isTabletOnly":{"description":"If true, indicates that your standalone iOS app does not support handsets, and only supports tablets.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations`"}},"requireFullScreen":{"description":"If true, indicates that your standalone iOS app does not support Slide Over and Split View on iPad. Defaults to `true` currently, but will change to `false` in a future SDK version.","type":"boolean","meta":{"bareWorkflow":"Use Xcode to set `UIRequiresFullScreen`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"infoPlist":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native Info.plist. Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"entitlements":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native *.entitlements (plist). Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"associatedDomains":{"description":"An array that contains Associated Domains for the standalone app. See [Apple's docs for config](https://developer.apple.com/documentation/safariservices/supporting_associated_domains). ","type":"array","uniqueItems":true,"items":{"type":"string"},"meta":{"regexHuman":"Entries must follow the format `applinks:[:port number]`. See [Apple's docs for details](https://developer.apple.com/documentation/safariservices/supporting_associated_domains)","bareWorkflow":"Use Xcode to set this. See [Apple's documentation](https://developer.apple.com/documentation/safariservices/supporting_associated_domains) for details."}},"usesIcloudStorage":{"description":"A boolean indicating if the app uses iCloud Storage for `DocumentPicker`. See `DocumentPicker` docs for details.","type":"boolean","meta":{"bareWorkflow":"Use Xcode, or ios.entitlements to configure this."}},"usesAppleSignIn":{"description":"A boolean indicating if the app uses Apple Sign-In. See `AppleAuthentication` docs for details.","type":"boolean","fallback":false},"accessesContactNotes":{"description":"A Boolean value that indicates whether the app may access the notes stored in contacts. You must [receive permission from Apple](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_contacts_notes) before you can submit your app for review with this capability.","type":"boolean","fallback":false},"splash":{"description":"Configuration for loading and splash screen for standalone iOS apps.","type":"object","properties":{"xib":{"description":"@deprecated Apple has deprecated `.xib` splash screens in favor of `.storyboard` files. Local path to a XIB file as the loading screen. It overrides other loading screen options. Note: This will only be used in the standalone app (i.e., after you build the app). It will not be used in the Expo Go.","type":"string","meta":{"deprecated":true,"asset":true,"contentTypePattern":"^text/xml$","contentTypeHuman":".xib interface builder document"}},"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"tabletImage":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}}},"additionalProperties":false},"android":{"description":"Configuration that is specific to the Android platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"enableDangerousExperimentalLeanBuilds":{"description":"@deprecated Use EAS Build or compile locally instead. If set to true, APK will contain only unimodules that are explicitly added in package.json and their dependencies","type":"boolean"},"publishManifestPath":{"description":"The manifest for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"package":{"description":"The package name for your Android standalone app. You make it up, but it needs to be unique on the Play Store. See [this StackOverflow question](http://stackoverflow.com/questions/6273892/android-package-name-convention).","type":"string","pattern":"^[a-zA-Z][a-zA-Z0-9\\_]*(\\.[a-zA-Z][a-zA-Z0-9\\_]*)+$","meta":{"regexHuman":"Reverse DNS notation unique name for your app. Valid Android Application ID. For example, `com.example.app`, where `com.example` is our domain and `app` is our app. The name may only contain lowercase and uppercase letters (a-z, A-Z), numbers (0-9) and underscores (_), separated by periods (.). Each component of the name should start with a lowercase letter.","bareWorkflow":"This is set in `android/app/build.gradle` as `applicationId` as well as in your `AndroidManifest.xml` file (multiple places)."}},"versionCode":{"description":"Version number required by Google Play. Increment by one for each release. Must be a positive integer. [Learn more](https://developer.android.com/studio/publish/versioning.html)","type":"integer","minimum":0,"maximum":2100000000,"meta":{"bareWorkflow":"This is set in `android/app/build.gradle` as `versionCode`"}},"backgroundColor":{"description":"The background color for your Android app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"This is set in `android/app/src/main/AndroidManifest.xml` under `android:windowBackground`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"useNextNotificationsApi":{"description":"A Boolean value that indicates whether the app should use the new notifications API.","type":"boolean","fallback":false},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` key. We recommend that you use a 1024x1024 png file (transparency is recommended for the Google Play Store). This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"adaptiveIcon":{"description":"Settings for an Adaptive Launcher Icon on Android. [Learn more](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)","type":"object","properties":{"foregroundImage":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` and the `android.icon` keys. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive). This icon will appear on the home screen.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundImage":{"description":"Local path or remote URL to a background image for your app's Adaptive Icon on Android. If specified, this overrides the `backgroundColor` key. Must have the same dimensions as foregroundImage`, and has no effect if `foregroundImage` is not specified. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive).","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundColor":{"description":"Color to use as the background for your app's Adaptive Icon on Android. Defaults to white, `#FFFFFF`. Has no effect if `foregroundImage` is not specified.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"playStoreUrl":{"description":"URL to your app on the Google Play Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://play\\.google\\.com/","example":"https://play.google.com/store/apps/details?id=host.exp.exponent","type":["string"]},"permissions":{"description":"List of permissions used by the standalone app. \n\n To use ONLY the following minimum necessary permissions and none of the extras supported by Expo in a default managed app, set `permissions` to `[]`. The minimum necessary permissions do not require a Privacy Policy when uploading to Google Play Store and are: \n• receive data from Internet \n• view network connections \n• full network access \n• change your audio settings \n• prevent device from sleeping \n\n To use ALL permissions supported by Expo by default, do not specify the `permissions` key. \n\n To use the minimum necessary permissions ALONG with certain additional permissions, specify those extras in `permissions`, e.g.\n\n `[ \"CAMERA\", \"ACCESS_FINE_LOCATION\" ]`.\n\n You can specify the following permissions depending on what you need:\n\n- `ACCESS_COARSE_LOCATION`\n- `ACCESS_FINE_LOCATION`\n- `ACCESS_BACKGROUND_LOCATION`\n- `CAMERA`\n- `RECORD_AUDIO`\n- `READ_CONTACTS`\n- `WRITE_CONTACTS`\n- `READ_CALENDAR`\n- `WRITE_CALENDAR`\n- `READ_EXTERNAL_STORAGE`\n- `WRITE_EXTERNAL_STORAGE`\n- `USE_FINGERPRINT`\n- `USE_BIOMETRIC`\n- `WRITE_SETTINGS`\n- `VIBRATE`\n- `READ_PHONE_STATE`\n- `com.anddoes.launcher.permission.UPDATE_COUNT`\n- `com.android.launcher.permission.INSTALL_SHORTCUT`\n- `com.google.android.c2dm.permission.RECEIVE`\n- `com.google.android.gms.permission.ACTIVITY_RECOGNITION`\n- `com.google.android.providers.gsf.permission.READ_GSERVICES`\n- `com.htc.launcher.permission.READ_SETTINGS`\n- `com.htc.launcher.permission.UPDATE_SHORTCUT`\n- `com.majeur.launcher.permission.UPDATE_BADGE`\n- `com.sec.android.provider.badge.permission.READ`\n- `com.sec.android.provider.badge.permission.WRITE`\n- `com.sonyericsson.home.permission.BROADCAST_BADGE`\n","type":"array","bareWorkflow":"To change the permissions your app requests, you'll need to edit `AndroidManifest.xml` manually. To prevent your app from requesting one of the permissions listed below, you'll need to explicitly add it to `AndroidManifest.xml` along with a `tools:node=\"remove\"` tag.","items":{"type":"string"}},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase. Including this key automatically enables FCM in your standalone app.","type":"string","bareWorkflow":"Add or edit the file directly at `android/app/google-services.json`"},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"googleMaps":{"description":"[Google Maps Android SDK](https://developers.google.com/maps/documentation/android-api/signup) configuration for your standalone app.","type":"object","properties":{"apiKey":{"description":"Your Google Maps Android SDK API key","type":"string"}},"additionalProperties":false},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Client and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"deprecated":true,"meta":{"deprecated":true},"description":"@deprecated Use `googleServicesFile` instead. [Google Sign-In Android SDK](https://developers.google.com/identity/sign-in/android/start-integrating) keys for your standalone app.","type":"object","properties":{"apiKey":{"description":"The Android API key. Can be found in the credentials section of the developer console or in `google-services.json`.","type":"string"},"certificateHash":{"description":"The SHA-1 hash of the signing certificate used to build the APK without any separator (`:`). Can be found in `google-services.json`. https://developers.google.com/android/guides/client-auth","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"splash":{"description":"Configuration for loading and splash screen for managed and standalone Android apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover`, `contain` or `native`, defaults to `contain`.","enum":["cover","contain","native"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"mdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Natural sized image (baseline)`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"hdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 1.5x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 2x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 3x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 4x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}},"intentFilters":{"description":"Configuration for setting an array of custom intent filters in Android manifest. [Learn more](https://developer.android.com/guide/components/intents-filters)","example":[{"autoVerify":true,"action":"VIEW","data":{"scheme":"https","host":"*.expo.io"},"category":["BROWSABLE","DEFAULT"]}],"exampleString":"\n [{ \n \"autoVerify\": true, \n \"action\": \"VIEW\", \n \"data\": { \n \"scheme\": \"https\", \n \"host\": \"*.expo.io\" \n }, \n \"category\": [\"BROWSABLE\", \"DEFAULT\"] \n }]","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"autoVerify":{"description":"You may also use an intent filter to set your app as the default handler for links (without showing the user a dialog with options). To do so use `true` and then configure your server to serve a JSON file verifying that you own the domain. [Learn more](developer.android.com/training/app-links)","type":"boolean"},"action":{"type":"string"},"data":{"anyOf":[{"type":"object","properties":{"scheme":{"description":"the scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"the hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"the port, e.g. `3000`","type":"string"},"path":{"description":"an exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":" a regex for paths that should be matched by the filter, e.g. `.*`","type":"string"},"pathPrefix":{"description":"a prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"a MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false},{"type":["array"],"items":{"type":"object","properties":{"scheme":{"description":"the scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"the hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"the port, e.g. `3000`","type":"string"},"path":{"description":"an exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":" a regex for paths that should be matched by the filter, e.g. `.*`","type":"string"},"pathPrefix":{"description":"a prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"a MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false}}]},"category":{"anyOf":[{"type":["string"]},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false,"required":["action"]},"meta":{"bareWorkflow":"This is set in `AndroidManifest.xml` directly. [Learn more.](developer.android.com/guide/components/intents-filters)"}},"allowBackup":{"description":"Allows your user's app data to be automatically backed up to their Google Drive. If this is set to false, no backup or restore of the application will ever be performed (this is useful if your app deals with sensitive information). Defaults to the Android default, which is `true`.","fallback":true,"type":"boolean"},"softwareKeyboardLayoutMode":{"description":"Determines how the software keyboard will impact the layout of your application. This maps to the `android:windowSoftInputMode` property. Defaults to `resize`. Valid values: `resize`, `pan`.","enum":["resize","pan"],"type":"string","fallback":"resize"}},"additionalProperties":false},"web":{"description":"Configuration that is specific to the web platform.","type":"object","additionalProperties":true,"properties":{"favicon":{"description":"Relative path of an image to use for your app's favicon.","type":"string"},"name":{"description":"Defines the title of the document, defaults to the outer level name","type":"string","meta":{"pwa":"name"}},"shortName":{"description":"A short version of the app's name, 12 characters or fewer. Used in app launcher and new tab pages. Maps to `short_name` in the PWA manifest.json. Defaults to the `name` property.","type":"string","meta":{"pwa":"short_name","regexHuman":"Maximum 12 characters long"}},"lang":{"description":"Specifies the primary language for the values in the name and short_name members. This value is a string containing a single language tag.","type":"string","fallback":"en","meta":{"pwa":"lang"}},"scope":{"description":"Defines the navigation scope of this website's context. This restricts what web pages can be viewed while the manifest is applied. If the user navigates outside the scope, it returns to a normal web page inside a browser tab/window. If the scope is a relative URL, the base URL will be the URL of the manifest.","type":"string","meta":{"pwa":"scope"}},"themeColor":{"description":"Defines the color of the Android tool bar, and may be reflected in the app's preview in task switchers.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"theme_color","html":"theme-color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"description":{"description":"Provides a general description of what the pinned website does.","type":"string","meta":{"html":"description","pwa":"description"}},"dir":{"description":"Specifies the primary text direction for the name, short_name, and description members. Together with the lang member, it helps the correct display of right-to-left languages.","enum":["auto","ltr","rtl"],"type":"string","meta":{"pwa":"dir"}},"display":{"description":"Defines the developers’ preferred display mode for the website.","enum":["fullscreen","standalone","minimal-ui","browser"],"type":"string","meta":{"pwa":"display"}},"startUrl":{"description":"The URL that loads when a user launches the application (e.g., when added to home screen), typically the index. Note: This has to be a relative URL, relative to the manifest URL.","type":"string","meta":{"pwa":"start_url"}},"orientation":{"description":"Defines the default orientation for all the website's top level browsing contexts.","enum":["any","natural","landscape","landscape-primary","landscape-secondary","portrait","portrait-primary","portrait-secondary"],"type":"string","meta":{"pwa":"orientation"}},"backgroundColor":{"description":"Defines the expected “background color” for the website. This value repeats what is already available in the site’s CSS, but can be used by browsers to draw the background color of a shortcut when the manifest is available before the stylesheet has loaded. This creates a smooth transition between launching the web application and loading the site's content.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"background_color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"barStyle":{"description":"If content is set to default, the status bar appears normal. If set to black, the status bar has a black background. If set to black-translucent, the status bar is black and translucent. If set to default or black, the web content is displayed below the status bar. If set to black-translucent, the web content is displayed on the entire screen, partially obscured by the status bar.","enum":["default","black","black-translucent"],"type":"string","fallback":"black-translucent","meta":{"html":"apple-mobile-web-app-status-bar-style","pwa":"name"}},"preferRelatedApplications":{"description":"Hints for the user agent to indicate to the user that the specified native applications (defined in expo.ios and expo.android) are recommended over the website.","type":"boolean","fallback":true,"meta":{"pwa":"prefer_related_applications"}},"dangerous":{"description":"Experimental features. These will break without deprecation notice.","type":"object","properties":{},"additionalProperties":true},"splash":{"description":"Configuration for PWA splash screens.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"Use [expo-splash-screen](https://github.com/expo/expo/tree/master/packages/expo-splash-screen#expo-splash-screen)"}},"config":{"description":"Firebase web configuration. Used by the expo-firebase packages on both web and native. [Learn more](https://firebase.google.com/docs/reference/js/firebase.html#initializeapp)","type":"object","properties":{"firebase":{"type":"object","properties":{"apiKey":{"type":"string"},"authDomain":{"type":"string"},"databaseURL":{"type":"string"},"projectId":{"type":"string"},"storageBucket":{"type":"string"},"messagingSenderId":{"type":"string"},"appId":{"type":"string"},"measurementId":{"type":"string"}}}}}}},"hooks":{"description":"Configuration for scripts to run to hook into the publish process","type":"object","additionalProperties":false,"properties":{"postPublish":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}},"postExport":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}}}},"experiments":{"description":"Enable experimental features that may be unstable, unsupported, or removed without deprecation notices.","type":"object","additionalProperties":false,"properties":{"turboModules":{"description":"Enables Turbo Modules, which are a type of native modules that use a different way of communicating between JS and platform code. When installing a Turbo Module you will need to enable this experimental option (the library still needs to be a part of Expo SDK already, like react-native-reanimated v2). Turbo Modules do not support remote debugging and enabling this option will disable remote debugging.","type":"boolean","fallback":false}}},"_internal":{"description":"Internal properties for developer tools","type":"object","properties":{"pluginHistory":{"description":"List of plugins already run on the config","type":"object","properties":{},"additionalProperties":true}},"additionalProperties":true}} \ No newline at end of file +export default {"name":{"description":"The name of your app as it appears both within Expo Go and on your home screen as a standalone app.","type":"string","meta":{"bareWorkflow":"To change the name of your app, edit the 'Display Name' field in Xcode and the `app_name` string in `android/app/src/main/res/values/strings.xml`"}},"description":{"description":"A short description of what your app is and why it is great.","type":"string"},"slug":{"description":"The friendly URL name for publishing. For example, `myAppName` will refer to the `expo.io/@project-owner/myAppName` project.","type":"string","pattern":"^[a-zA-Z0-9_\\-]+$"},"owner":{"description":"The Expo account name of the team owner, only applicable if you are enrolled in the EAS Priority Plan. If not provided, defaults to the username of the current user.","type":"string","minLength":1},"currentFullName":{"description":"The auto generated Expo account name and slug used for display purposes. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value may change when a project is transferred between accounts or renamed.","type":"string","autogenerated":true},"originalFullName":{"description":"The auto generated Expo account name and slug used for services like Notifications and AuthSession proxy. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value will not change when a project is transferred between accounts or renamed.","type":"string","autogenerated":true},"privacy":{"description":"Defaults to `unlisted`. `unlisted` hides the project from search results. `hidden` restricts access to the project page to only the owner and other users that have been granted access. Valid values: `public`, `unlisted`, `hidden`.","enum":["public","unlisted","hidden"],"type":"string","fallback":"unlisted"},"sdkVersion":{"description":"The Expo sdkVersion to run the project on. This should line up with the version specified in your package.json.","type":"string","pattern":"^(\\d+\\.\\d+\\.\\d+)|(UNVERSIONED)$"},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest for bare workflow projects. If provided, this must match the version set in Expo.plist or AndroidManifest.xml.","type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\" or \"-\". Example: \"1.0.3a+\"."}},"version":{"description":"Your app version. In addition to this field, you'll also use `ios.buildNumber` and `android.versionCode` — read more about how to version your app [here](https://docs.expo.io/distribution/app-stores/#versioning-your-app). On iOS this corresponds to `CFBundleShortVersionString`, and on Android, this corresponds to `versionName`. The required format can be found [here](https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring).","type":"string","meta":{"bareWorkflow":"To change your app version, edit the 'Version' field in Xcode and the `versionName` string in `android/app/build.gradle`"}},"platforms":{"description":"Platforms that your project explicitly supports. If not specified, it defaults to `[\"ios\", \"android\"]`.","example":["ios","android","web"],"type":"array","uniqueItems":true,"items":{"type":"string","enum":["android","ios","web"]}},"githubUrl":{"description":"If you would like to share the source code of your app on Github, enter the URL for the repository here and it will be linked to from your Expo project page.","pattern":"^https://github\\.com/","example":"https://github.com/expo/expo","type":["string"]},"orientation":{"description":"Locks your app to a specific orientation with portrait or landscape. Defaults to no lock. Valid values: `default`, `portrait`, `landscape`","enum":["default","portrait","landscape"],"type":"string"},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"backgroundColor":{"description":"The background color for your app, behind any of your React views. This is also known as the root view background color.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`. Default is white: `'#ffffff'`"}},"primaryColor":{"description":"On Android, this will determine the color of your app in the multitasker. Currently this is not used on iOS, but it may be used for other purposes in the future.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon. We recommend that you use a 1024x1024 png file. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true,"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-`. Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each existing size."}},"notification":{"description":"Configuration for remote (push) notifications.","type":"object","properties":{"icon":{"description":"(Android only) Local path or remote URL to an image to use as the icon for push notifications. 96x96 png grayscale with transparency. We recommend following [Google's design guidelines](https://material.io/design/iconography/product-icons.html#design-principles). If not provided, defaults to your app icon.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"color":{"description":"(Android only) Tint color for the push notification image when it appears in the notification tray. Defaults to `#ffffff`","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"iosDisplayInForeground":{"description":"Whether or not to display notifications when the app is in the foreground on iOS. `_displayInForeground` option in the individual push notification message overrides this option. [Learn more.](https://docs.expo.io/push-notifications/receiving-notifications/#foreground-notification-behavior) Defaults to `false`.","type":"boolean"},"androidMode":{"description":"Show each push notification individually (`default`) or collapse into one (`collapse`).","enum":["default","collapse"],"type":"string"},"androidCollapsedTitle":{"description":"If `androidMode` is set to `collapse`, this title is used for the collapsed notification message. For example, `'#{unread_notifications} new interactions'`.","type":"string"}},"additionalProperties":false},"appKey":{"description":"By default, Expo looks for the application registered with the AppRegistry as `main`. If you would like to change this, you can specify the name in this property.","type":"string"},"androidStatusBarColor":{"description":"@deprecated Use `androidStatusBar` instead.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"deprecated":true,"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"androidStatusBar":{"description":"Configuration for the status bar on Android. For more details please navigate to [Configuring StatusBar](https://docs.expo.io/guides/configuring-statusbar/).","type":"object","properties":{"barStyle":{"description":"Configures the status bar icons to have a light or dark color. Valid values: `light-content`, `dark-content`. Defaults to `dark-content`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the status bar. Defaults to `#00000000` (transparent) for `dark-content` bar style and `#00000088` (semi-transparent black) for `light-content` bar style","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string `'#RRGGBB'`, for example, `'#000000'` for black. Or 8 character long hex color string `'#RRGGBBAA'`, for example, `'#00000088'` for semi-transparent black."}},"hidden":{"description":"Instructs the system whether the status bar should be visible or not. Defaults to `false`","type":"boolean"},"translucent":{"description":"Sets `android:windowTranslucentStatus` in `styles.xml`. When false, the system status bar pushes the content of your app down (similar to `position: relative`). When true, the status bar floats above the content in your app (similar to `position: absolute`). Defaults to `true` to match the iOS status bar behavior (which can only float above content).","type":"boolean"}},"additionalProperties":false},"androidNavigationBar":{"description":"Configuration for the bottom navigation bar on Android.","type":"object","properties":{"visible":{"description":"Determines how and when the navigation bar is shown. [Learn more](https://developer.android.com/training/system-ui/immersive). Valid values: `leanback`, `immersive`, `sticky-immersive` \n\n `leanback` results in the navigation bar being hidden until the first touch gesture is registered. \n\n `immersive` results in the navigation bar being hidden until the user swipes up from the edge where the navigation bar is hidden. \n\n `sticky-immersive` is identical to `'immersive'` except that the navigation bar will be semi-transparent and will be hidden again after a short period of time","type":"string","enum":["leanback","immersive","sticky-immersive"]},"barStyle":{"description":"Configure the navigation bar icons to have a light or dark color. Supported on Android Oreo and newer. Valid values: `'light-content'`, `'dark-content'`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the navigation bar.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"developmentClient":{"description":"Settings that apply specifically to running this app in a development client","type":"object","properties":{"silentLaunch":{"description":"If true, the app will launch in a development client with no additional dialogs or progress indicators, just like in a standalone app.","type":"boolean","fallback":false}},"additionalProperties":false},"scheme":{"description":"**Standalone Apps Only**. URL scheme to link into your app. For example, if we set this to `'demo'`, then demo:// URLs would open your app when tapped.","type":"string","pattern":"^[a-z][a-z0-9+.-]*$","meta":{"regexHuman":"String beginning with a **lowercase** letter followed by any combination of **lowercase** letters, digits, \"+\", \".\" or \"-\"","standaloneOnly":true,"bareWorkflow":"To change your app's scheme, replace all occurrences of the old scheme in `Info.plist` and `AndroidManifest.xml`"}},"entryPoint":{"description":"The relative path to your main JavaScript file.","type":"string"},"extra":{"description":"Any extra fields you want to pass to your experience. Values are accessible via `Expo.Constants.manifest.extra` ([Learn more](https://docs.expo.io/versions/latest/sdk/constants/#constantsmanifest))","type":"object","properties":{},"additionalProperties":true},"packagerOpts":{"description":"@deprecated Use a `metro.config.js` file instead. [Learn more](https://docs.expo.io/guides/customizing-metro/)","meta":{"deprecated":true,"autogenerated":true},"type":"object","properties":{},"additionalProperties":true},"updates":{"description":"Configuration for how and when the app should request OTA JavaScript updates","type":"object","properties":{"enabled":{"description":"If set to false, your standalone app will never download any code, and will only use code bundled locally on the device. In that case, all updates to your app must be submitted through Apple review. Defaults to true. (Note: This will not work out of the box with ExpoKit projects)","type":"boolean"},"checkAutomatically":{"description":"By default, Expo will check for updates every time the app is loaded. Set this to `ON_ERROR_RECOVERY` to disable automatic checking unless recovering from an error. Must be one of `ON_LOAD` or `ON_ERROR_RECOVERY`","enum":["ON_ERROR_RECOVERY","ON_LOAD"],"type":"string"},"fallbackToCacheTimeout":{"description":"How long (in ms) to allow for fetching OTA updates before falling back to a cached version of the app. Defaults to 0. Must be between 0 and 300000 (5 minutes).","type":"number","minimum":0,"maximum":300000}},"additionalProperties":false},"locales":{"description":"Provide overrides by locale for System Dialog prompts like Permissions Boxes","type":"object","properties":{},"meta":{"bareWorkflow":"To add or change language and localization information in your iOS app, you need to use Xcode."},"additionalProperties":{"type":["string","object"]}},"facebookAppId":{"description":"Used for all Facebook libraries. Set up your Facebook App ID at https://developers.facebook.com.","type":"string","pattern":"^[0-9]+$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAutoInitEnabled":{"description":"Whether the Facebook SDK should be initialized automatically. The default in Expo (Client and in standalone apps) is `false`.","type":"boolean"},"facebookAutoLogAppEventsEnabled":{"description":"Whether the Facebook SDK log app events automatically. If you don't set this property, Facebook's default will be used. (Applicable only to standalone apps.) Note: The Facebook SDK must be initialized for app events to work. You may autoinitialize Facebook SDK by setting `facebookAutoInitEnabled` to `true`","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAdvertiserIDCollectionEnabled":{"description":"Whether the Facebook SDK should collect advertiser ID properties, like the Apple IDFA and Android Advertising ID, automatically. If you don't set this property, Facebook's default policy will be used. (Applicable only to standalone apps.)","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookDisplayName":{"description":"Used for native Facebook login.","type":"string","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookScheme":{"description":"Used for Facebook native login. Starts with 'fb' and followed by a string of digits, like 'fb1234567890'. You can find your scheme [here](https://developers.facebook.com/docs/facebook-login/ios)in the 'Configuring Your info.plist' section (only applicable to standalone apps and custom Expo Go apps).","type":"string","pattern":"^fb[0-9]+[A-Za-z]*$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"isDetached":{"description":"Is app detached","type":"boolean","meta":{"autogenerated":true}},"detach":{"description":"Extra fields needed by detached apps","type":"object","properties":{},"meta":{"autogenerated":true},"additionalProperties":true},"assetBundlePatterns":{"description":"An array of file glob strings which point to assets that will be bundled within your standalone app binary. Read more in the [Offline Support guide](https://docs.expo.io/guides/offline-support/)","type":"array","items":{"type":"string"}},"plugins":{"description":"Config plugins for adding extra functionality to your project. [Learn more](https://docs.expo.io/guides/config-plugins/).","meta":{"bareWorkflow":"Plugins that add modifications can only be used with [prebuilding](https://expo.fyi/prebuilding) and managed EAS Build"},"type":"array","items":{"anyOf":[{"type":["string"]},{"type":"array","items":[{"type":["string"]},{}],"additionalItems":false}]}},"splash":{"description":"Configuration for loading and splash screen for standalone apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"For Android, edit the `colorPrimary` item in `android/app/src/main/res/values/colors.xml`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-` (Android Studio can [generate the appropriate image files for you](https://developer.android.com/studio/write/image-asset-studio)). Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each required size."}},"ios":{"description":"Configuration that is specific to the iOS platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"bundleIdentifier":{"description":"The bundle identifier for your iOS standalone app. You make it up, but it needs to be unique on the App Store. See [this StackOverflow question](http://stackoverflow.com/questions/11347470/what-does-bundle-identifier-mean-in-the-ios-project).","type":"string","pattern":"^[a-zA-Z0-9.-]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`","regexHuman":"iOS bundle identifier notation unique name for your app. For example, `host.exp.expo`, where `exp.host` is our domain and `expo` is our app name."}},"buildNumber":{"description":"Build number for your iOS standalone app. Corresponds to `CFBundleVersion` and must match Apple's [specified format](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102364). (Note: Transporter will pull the value for `Version Number` from `expo.version` and NOT from `expo.ios.buildNumber`.)","type":"string","pattern":"^[A-Za-z0-9\\.]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`"}},"backgroundColor":{"description":"The background color for your iOS app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on iOS. If specified, this overrides the top-level `icon` key. Use a 1024x1024 icon which follows Apple's interface guidelines for icons, including color profile and transparency. \n\n Expo will generate the other required sizes. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"merchantId":{"description":"Merchant ID for use with Apple Pay in your standalone app.","type":"string"},"appStoreUrl":{"description":"URL to your app on the Apple App Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://(itunes|apps)\\.apple\\.com/.*?\\d+","example":"https://apps.apple.com/us/app/expo-client/id982107779","type":["string"]},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"usesNonExemptEncryption":{"description":"Sets `ITSAppUsesNonExemptEncryption` in the standalone ipa's Info.plist to the given boolean value.","type":"boolean"},"googleMapsApiKey":{"description":"[Google Maps iOS SDK](https://developers.google.com/maps/documentation/ios-sdk/start) key for your standalone app.","type":"string"},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Go and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`.](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"description":"[Google Sign-In iOS SDK](https://developers.google.com/identity/sign-in/ios/start-integrating) keys for your standalone app.","type":"object","properties":{"reservedClientId":{"description":"The reserved client ID URL scheme. Can be found in `GoogleService-Info.plist`.","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"isRemoteJSEnabled":{"description":"@deprecated Use `updates.enabled` instead.","type":"boolean","meta":{"deprecated":true}},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase.","type":"string"},"loadJSInBackgroundExperimental":{"description":"@deprecated Use `updates` key with `fallbackToCacheTimeout: 0` instead.","type":"boolean","meta":{"deprecated":true}},"supportsTablet":{"description":"Whether your standalone iOS app supports tablet screen sizes. Defaults to `false`.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations~ipad`"}},"isTabletOnly":{"description":"If true, indicates that your standalone iOS app does not support handsets, and only supports tablets.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations`"}},"requireFullScreen":{"description":"If true, indicates that your standalone iOS app does not support Slide Over and Split View on iPad. Defaults to `true` currently, but will change to `false` in a future SDK version.","type":"boolean","meta":{"bareWorkflow":"Use Xcode to set `UIRequiresFullScreen`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"infoPlist":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native Info.plist. Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"entitlements":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native *.entitlements (plist). Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"associatedDomains":{"description":"An array that contains Associated Domains for the standalone app. See [Apple's docs for config](https://developer.apple.com/documentation/safariservices/supporting_associated_domains). ","type":"array","uniqueItems":true,"items":{"type":"string"},"meta":{"regexHuman":"Entries must follow the format `applinks:[:port number]`. See [Apple's docs for details](https://developer.apple.com/documentation/safariservices/supporting_associated_domains)","bareWorkflow":"Use Xcode to set this. See [Apple's documentation](https://developer.apple.com/documentation/safariservices/supporting_associated_domains) for details."}},"usesIcloudStorage":{"description":"A boolean indicating if the app uses iCloud Storage for `DocumentPicker`. See `DocumentPicker` docs for details.","type":"boolean","meta":{"bareWorkflow":"Use Xcode, or ios.entitlements to configure this."}},"usesAppleSignIn":{"description":"A boolean indicating if the app uses Apple Sign-In. See `AppleAuthentication` docs for details.","type":"boolean","fallback":false},"accessesContactNotes":{"description":"A Boolean value that indicates whether the app may access the notes stored in contacts. You must [receive permission from Apple](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_contacts_notes) before you can submit your app for review with this capability.","type":"boolean","fallback":false},"splash":{"description":"Configuration for loading and splash screen for standalone iOS apps.","type":"object","properties":{"xib":{"description":"@deprecated Apple has deprecated `.xib` splash screens in favor of `.storyboard` files. Local path to a XIB file as the loading screen. It overrides other loading screen options. Note: This will only be used in the standalone app (i.e., after you build the app). It will not be used in the Expo Go.","type":"string","meta":{"deprecated":true,"asset":true,"contentTypePattern":"^text/xml$","contentTypeHuman":".xib interface builder document"}},"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"tabletImage":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}}},"additionalProperties":false},"android":{"description":"Configuration that is specific to the Android platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"enableDangerousExperimentalLeanBuilds":{"description":"@deprecated Use EAS Build or compile locally instead. If set to true, APK will contain only unimodules that are explicitly added in package.json and their dependencies","type":"boolean"},"publishManifestPath":{"description":"The manifest for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"package":{"description":"The package name for your Android standalone app. You make it up, but it needs to be unique on the Play Store. See [this StackOverflow question](http://stackoverflow.com/questions/6273892/android-package-name-convention).","type":"string","pattern":"^[a-zA-Z][a-zA-Z0-9\\_]*(\\.[a-zA-Z][a-zA-Z0-9\\_]*)+$","meta":{"regexHuman":"Reverse DNS notation unique name for your app. Valid Android Application ID. For example, `com.example.app`, where `com.example` is our domain and `app` is our app. The name may only contain lowercase and uppercase letters (a-z, A-Z), numbers (0-9) and underscores (_), separated by periods (.). Each component of the name should start with a lowercase letter.","bareWorkflow":"This is set in `android/app/build.gradle` as `applicationId` as well as in your `AndroidManifest.xml` file (multiple places)."}},"versionCode":{"description":"Version number required by Google Play. Increment by one for each release. Must be a positive integer. [Learn more](https://developer.android.com/studio/publish/versioning.html)","type":"integer","minimum":0,"maximum":2100000000,"meta":{"bareWorkflow":"This is set in `android/app/build.gradle` as `versionCode`"}},"backgroundColor":{"description":"The background color for your Android app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"This is set in `android/app/src/main/AndroidManifest.xml` under `android:windowBackground`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"useNextNotificationsApi":{"description":"A Boolean value that indicates whether the app should use the new notifications API.","type":"boolean","fallback":false},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` key. We recommend that you use a 1024x1024 png file (transparency is recommended for the Google Play Store). This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"adaptiveIcon":{"description":"Settings for an Adaptive Launcher Icon on Android. [Learn more](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)","type":"object","properties":{"foregroundImage":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` and the `android.icon` keys. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive). This icon will appear on the home screen.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundImage":{"description":"Local path or remote URL to a background image for your app's Adaptive Icon on Android. If specified, this overrides the `backgroundColor` key. Must have the same dimensions as foregroundImage`, and has no effect if `foregroundImage` is not specified. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive).","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundColor":{"description":"Color to use as the background for your app's Adaptive Icon on Android. Defaults to white, `#FFFFFF`. Has no effect if `foregroundImage` is not specified.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"playStoreUrl":{"description":"URL to your app on the Google Play Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://play\\.google\\.com/","example":"https://play.google.com/store/apps/details?id=host.exp.exponent","type":["string"]},"permissions":{"description":"List of permissions used by the standalone app. \n\n To use ONLY the following minimum necessary permissions and none of the extras supported by Expo in a default managed app, set `permissions` to `[]`. The minimum necessary permissions do not require a Privacy Policy when uploading to Google Play Store and are: \n• receive data from Internet \n• view network connections \n• full network access \n• change your audio settings \n• prevent device from sleeping \n\n To use ALL permissions supported by Expo by default, do not specify the `permissions` key. \n\n To use the minimum necessary permissions ALONG with certain additional permissions, specify those extras in `permissions`, e.g.\n\n `[ \"CAMERA\", \"ACCESS_FINE_LOCATION\" ]`.\n\n You can specify the following permissions depending on what you need:\n\n- `ACCESS_COARSE_LOCATION`\n- `ACCESS_FINE_LOCATION`\n- `ACCESS_BACKGROUND_LOCATION`\n- `CAMERA`\n- `RECORD_AUDIO`\n- `READ_CONTACTS`\n- `WRITE_CONTACTS`\n- `READ_CALENDAR`\n- `WRITE_CALENDAR`\n- `READ_EXTERNAL_STORAGE`\n- `WRITE_EXTERNAL_STORAGE`\n- `USE_FINGERPRINT`\n- `USE_BIOMETRIC`\n- `WRITE_SETTINGS`\n- `VIBRATE`\n- `READ_PHONE_STATE`\n- `com.anddoes.launcher.permission.UPDATE_COUNT`\n- `com.android.launcher.permission.INSTALL_SHORTCUT`\n- `com.google.android.c2dm.permission.RECEIVE`\n- `com.google.android.gms.permission.ACTIVITY_RECOGNITION`\n- `com.google.android.providers.gsf.permission.READ_GSERVICES`\n- `com.htc.launcher.permission.READ_SETTINGS`\n- `com.htc.launcher.permission.UPDATE_SHORTCUT`\n- `com.majeur.launcher.permission.UPDATE_BADGE`\n- `com.sec.android.provider.badge.permission.READ`\n- `com.sec.android.provider.badge.permission.WRITE`\n- `com.sonyericsson.home.permission.BROADCAST_BADGE`\n","type":"array","bareWorkflow":"To change the permissions your app requests, you'll need to edit `AndroidManifest.xml` manually. To prevent your app from requesting one of the permissions listed below, you'll need to explicitly add it to `AndroidManifest.xml` along with a `tools:node=\"remove\"` tag.","items":{"type":"string"}},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase. Including this key automatically enables FCM in your standalone app.","type":"string","bareWorkflow":"Add or edit the file directly at `android/app/google-services.json`"},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"googleMaps":{"description":"[Google Maps Android SDK](https://developers.google.com/maps/documentation/android-api/signup) configuration for your standalone app.","type":"object","properties":{"apiKey":{"description":"Your Google Maps Android SDK API key","type":"string"}},"additionalProperties":false},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Client and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"deprecated":true,"meta":{"deprecated":true},"description":"@deprecated Use `googleServicesFile` instead. [Google Sign-In Android SDK](https://developers.google.com/identity/sign-in/android/start-integrating) keys for your standalone app.","type":"object","properties":{"apiKey":{"description":"The Android API key. Can be found in the credentials section of the developer console or in `google-services.json`.","type":"string"},"certificateHash":{"description":"The SHA-1 hash of the signing certificate used to build the APK without any separator (`:`). Can be found in `google-services.json`. https://developers.google.com/android/guides/client-auth","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"splash":{"description":"Configuration for loading and splash screen for managed and standalone Android apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover`, `contain` or `native`, defaults to `contain`.","enum":["cover","contain","native"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"mdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Natural sized image (baseline)`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"hdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 1.5x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 2x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 3x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 4x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}},"intentFilters":{"description":"Configuration for setting an array of custom intent filters in Android manifest. [Learn more](https://developer.android.com/guide/components/intents-filters)","example":[{"autoVerify":true,"action":"VIEW","data":{"scheme":"https","host":"*.expo.io"},"category":["BROWSABLE","DEFAULT"]}],"exampleString":"\n [{ \n \"autoVerify\": true, \n \"action\": \"VIEW\", \n \"data\": { \n \"scheme\": \"https\", \n \"host\": \"*.expo.io\" \n }, \n \"category\": [\"BROWSABLE\", \"DEFAULT\"] \n }]","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"autoVerify":{"description":"You may also use an intent filter to set your app as the default handler for links (without showing the user a dialog with options). To do so use `true` and then configure your server to serve a JSON file verifying that you own the domain. [Learn more](developer.android.com/training/app-links)","type":"boolean"},"action":{"type":"string"},"data":{"anyOf":[{"type":"object","properties":{"scheme":{"description":"the scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"the hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"the port, e.g. `3000`","type":"string"},"path":{"description":"an exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":" a regex for paths that should be matched by the filter, e.g. `.*`","type":"string"},"pathPrefix":{"description":"a prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"a MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false},{"type":["array"],"items":{"type":"object","properties":{"scheme":{"description":"the scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"the hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"the port, e.g. `3000`","type":"string"},"path":{"description":"an exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":" a regex for paths that should be matched by the filter, e.g. `.*`","type":"string"},"pathPrefix":{"description":"a prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"a MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false}}]},"category":{"anyOf":[{"type":["string"]},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false,"required":["action"]},"meta":{"bareWorkflow":"This is set in `AndroidManifest.xml` directly. [Learn more.](developer.android.com/guide/components/intents-filters)"}},"allowBackup":{"description":"Allows your user's app data to be automatically backed up to their Google Drive. If this is set to false, no backup or restore of the application will ever be performed (this is useful if your app deals with sensitive information). Defaults to the Android default, which is `true`.","fallback":true,"type":"boolean"},"softwareKeyboardLayoutMode":{"description":"Determines how the software keyboard will impact the layout of your application. This maps to the `android:windowSoftInputMode` property. Defaults to `resize`. Valid values: `resize`, `pan`.","enum":["resize","pan"],"type":"string","fallback":"resize"}},"additionalProperties":false},"web":{"description":"Configuration that is specific to the web platform.","type":"object","additionalProperties":true,"properties":{"favicon":{"description":"Relative path of an image to use for your app's favicon.","type":"string"},"name":{"description":"Defines the title of the document, defaults to the outer level name","type":"string","meta":{"pwa":"name"}},"shortName":{"description":"A short version of the app's name, 12 characters or fewer. Used in app launcher and new tab pages. Maps to `short_name` in the PWA manifest.json. Defaults to the `name` property.","type":"string","meta":{"pwa":"short_name","regexHuman":"Maximum 12 characters long"}},"lang":{"description":"Specifies the primary language for the values in the name and short_name members. This value is a string containing a single language tag.","type":"string","fallback":"en","meta":{"pwa":"lang"}},"scope":{"description":"Defines the navigation scope of this website's context. This restricts what web pages can be viewed while the manifest is applied. If the user navigates outside the scope, it returns to a normal web page inside a browser tab/window. If the scope is a relative URL, the base URL will be the URL of the manifest.","type":"string","meta":{"pwa":"scope"}},"themeColor":{"description":"Defines the color of the Android tool bar, and may be reflected in the app's preview in task switchers.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"theme_color","html":"theme-color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"description":{"description":"Provides a general description of what the pinned website does.","type":"string","meta":{"html":"description","pwa":"description"}},"dir":{"description":"Specifies the primary text direction for the name, short_name, and description members. Together with the lang member, it helps the correct display of right-to-left languages.","enum":["auto","ltr","rtl"],"type":"string","meta":{"pwa":"dir"}},"display":{"description":"Defines the developers’ preferred display mode for the website.","enum":["fullscreen","standalone","minimal-ui","browser"],"type":"string","meta":{"pwa":"display"}},"startUrl":{"description":"The URL that loads when a user launches the application (e.g., when added to home screen), typically the index. Note: This has to be a relative URL, relative to the manifest URL.","type":"string","meta":{"pwa":"start_url"}},"orientation":{"description":"Defines the default orientation for all the website's top level browsing contexts.","enum":["any","natural","landscape","landscape-primary","landscape-secondary","portrait","portrait-primary","portrait-secondary"],"type":"string","meta":{"pwa":"orientation"}},"backgroundColor":{"description":"Defines the expected “background color” for the website. This value repeats what is already available in the site’s CSS, but can be used by browsers to draw the background color of a shortcut when the manifest is available before the stylesheet has loaded. This creates a smooth transition between launching the web application and loading the site's content.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"background_color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"barStyle":{"description":"If content is set to default, the status bar appears normal. If set to black, the status bar has a black background. If set to black-translucent, the status bar is black and translucent. If set to default or black, the web content is displayed below the status bar. If set to black-translucent, the web content is displayed on the entire screen, partially obscured by the status bar.","enum":["default","black","black-translucent"],"type":"string","fallback":"black-translucent","meta":{"html":"apple-mobile-web-app-status-bar-style","pwa":"name"}},"preferRelatedApplications":{"description":"Hints for the user agent to indicate to the user that the specified native applications (defined in expo.ios and expo.android) are recommended over the website.","type":"boolean","fallback":true,"meta":{"pwa":"prefer_related_applications"}},"dangerous":{"description":"Experimental features. These will break without deprecation notice.","type":"object","properties":{},"additionalProperties":true},"splash":{"description":"Configuration for PWA splash screens.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"Use [expo-splash-screen](https://github.com/expo/expo/tree/main/packages/expo-splash-screen#expo-splash-screen)"}},"config":{"description":"Firebase web configuration. Used by the expo-firebase packages on both web and native. [Learn more](https://firebase.google.com/docs/reference/js/firebase.html#initializeapp)","type":"object","properties":{"firebase":{"type":"object","properties":{"apiKey":{"type":"string"},"authDomain":{"type":"string"},"databaseURL":{"type":"string"},"projectId":{"type":"string"},"storageBucket":{"type":"string"},"messagingSenderId":{"type":"string"},"appId":{"type":"string"},"measurementId":{"type":"string"}}}}}}},"hooks":{"description":"Configuration for scripts to run to hook into the publish process","type":"object","additionalProperties":false,"properties":{"postPublish":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}},"postExport":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}}}},"experiments":{"description":"Enable experimental features that may be unstable, unsupported, or removed without deprecation notices.","type":"object","additionalProperties":false,"properties":{"turboModules":{"description":"Enables Turbo Modules, which are a type of native modules that use a different way of communicating between JS and platform code. When installing a Turbo Module you will need to enable this experimental option (the library still needs to be a part of Expo SDK already, like react-native-reanimated v2). Turbo Modules do not support remote debugging and enabling this option will disable remote debugging.","type":"boolean","fallback":false}}},"_internal":{"description":"Internal properties for developer tools","type":"object","properties":{"pluginHistory":{"description":"List of plugins already run on the config","type":"object","properties":{},"additionalProperties":true}},"additionalProperties":true}} \ No newline at end of file diff --git a/docs/scripts/schemas/v42.0.0/app-config-schema.js b/docs/scripts/schemas/v42.0.0/app-config-schema.js index 47085be1f0468..972f40b665a84 100644 --- a/docs/scripts/schemas/v42.0.0/app-config-schema.js +++ b/docs/scripts/schemas/v42.0.0/app-config-schema.js @@ -1 +1 @@ -export default {"name":{"description":"The name of your app as it appears both within Expo Go and on your home screen as a standalone app.","type":"string","meta":{"bareWorkflow":"To change the name of your app, edit the 'Display Name' field in Xcode and the `app_name` string in `android/app/src/main/res/values/strings.xml`"}},"description":{"description":"A short description of what your app is and why it is great.","type":"string"},"slug":{"description":"The friendly URL name for publishing. For example, `myAppName` will refer to the `expo.io/@project-owner/myAppName` project.","type":"string","pattern":"^[a-zA-Z0-9_\\-]+$"},"owner":{"description":"The Expo account name of the team owner, only applicable if you are enrolled in the EAS Priority Plan. If not provided, defaults to the username of the current user.","type":"string","minLength":1},"currentFullName":{"description":"The auto generated Expo account name and slug used for display purposes. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value may change when a project is transferred between accounts or renamed.","type":"string","meta":{"autogenerated":true}},"originalFullName":{"description":"The auto generated Expo account name and slug used for services like Notifications and AuthSession proxy. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value will not change when a project is transferred between accounts or renamed.","type":"string","meta":{"autogenerated":true}},"privacy":{"description":"Defaults to `unlisted`. `unlisted` hides the project from search results. `hidden` restricts access to the project page to only the owner and other users that have been granted access. Valid values: `public`, `unlisted`, `hidden`.","enum":["public","unlisted","hidden"],"type":"string","fallback":"unlisted"},"sdkVersion":{"description":"The Expo sdkVersion to run the project on. This should line up with the version specified in your package.json.","type":"string","pattern":"^(\\d+\\.\\d+\\.\\d+)|(UNVERSIONED)$"},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest for bare workflow projects. If provided, this must match the version set in Expo.plist or AndroidManifest.xml.","type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\" or \"-\". Example: \"1.0.3a+\"."}},"version":{"description":"Your app version. In addition to this field, you'll also use `ios.buildNumber` and `android.versionCode` — read more about how to version your app [here](https://docs.expo.io/distribution/app-stores/#versioning-your-app). On iOS this corresponds to `CFBundleShortVersionString`, and on Android, this corresponds to `versionName`. The required format can be found [here](https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring).","type":"string","meta":{"bareWorkflow":"To change your app version, edit the 'Version' field in Xcode and the `versionName` string in `android/app/build.gradle`"}},"platforms":{"description":"Platforms that your project explicitly supports. If not specified, it defaults to `[\"ios\", \"android\"]`.","example":["ios","android","web"],"type":"array","uniqueItems":true,"items":{"type":"string","enum":["android","ios","web"]}},"githubUrl":{"description":"If you would like to share the source code of your app on Github, enter the URL for the repository here and it will be linked to from your Expo project page.","pattern":"^https://github\\.com/","example":"https://github.com/expo/expo","type":["string"]},"orientation":{"description":"Locks your app to a specific orientation with portrait or landscape. Defaults to no lock. Valid values: `default`, `portrait`, `landscape`","enum":["default","portrait","landscape"],"type":"string"},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"backgroundColor":{"description":"The background color for your app, behind any of your React views. This is also known as the root view background color.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`. Default is white: `'#ffffff'`"}},"primaryColor":{"description":"On Android, this will determine the color of your app in the multitasker. Currently this is not used on iOS, but it may be used for other purposes in the future.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon. We recommend that you use a 1024x1024 png file. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true,"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-`. Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each existing size."}},"notification":{"description":"Configuration for remote (push) notifications.","type":"object","properties":{"icon":{"description":"(Android only) Local path or remote URL to an image to use as the icon for push notifications. 96x96 png grayscale with transparency. We recommend following [Google's design guidelines](https://material.io/design/iconography/product-icons.html#design-principles). If not provided, defaults to your app icon.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"color":{"description":"(Android only) Tint color for the push notification image when it appears in the notification tray. Defaults to `#ffffff`","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"iosDisplayInForeground":{"description":"Whether or not to display notifications when the app is in the foreground on iOS. `_displayInForeground` option in the individual push notification message overrides this option. [Learn more.](https://docs.expo.io/push-notifications/receiving-notifications/#foreground-notification-behavior) Defaults to `false`.","type":"boolean"},"androidMode":{"description":"Show each push notification individually (`default`) or collapse into one (`collapse`).","enum":["default","collapse"],"type":"string"},"androidCollapsedTitle":{"description":"If `androidMode` is set to `collapse`, this title is used for the collapsed notification message. For example, `'#{unread_notifications} new interactions'`.","type":"string"}},"additionalProperties":false},"appKey":{"description":"By default, Expo looks for the application registered with the AppRegistry as `main`. If you would like to change this, you can specify the name in this property.","type":"string"},"androidStatusBar":{"description":"Configuration for the status bar on Android. For more details please navigate to [Configuring StatusBar](https://docs.expo.io/guides/configuring-statusbar/).","type":"object","properties":{"barStyle":{"description":"Configures the status bar icons to have a light or dark color. Valid values: `light-content`, `dark-content`. Defaults to `dark-content`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the status bar. Defaults to `#00000000` (transparent) for `dark-content` bar style and `#00000088` (semi-transparent black) for `light-content` bar style","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string `'#RRGGBB'`, for example, `'#000000'` for black. Or 8 character long hex color string `'#RRGGBBAA'`, for example, `'#00000088'` for semi-transparent black."}},"hidden":{"description":"Instructs the system whether the status bar should be visible or not. Defaults to `false`","type":"boolean"},"translucent":{"description":"Sets `android:windowTranslucentStatus` in `styles.xml`. When false, the system status bar pushes the content of your app down (similar to `position: relative`). When true, the status bar floats above the content in your app (similar to `position: absolute`). Defaults to `true` to match the iOS status bar behavior (which can only float above content).","type":"boolean"}},"additionalProperties":false},"androidNavigationBar":{"description":"Configuration for the bottom navigation bar on Android.","type":"object","properties":{"visible":{"description":"Determines how and when the navigation bar is shown. [Learn more](https://developer.android.com/training/system-ui/immersive). Valid values: `leanback`, `immersive`, `sticky-immersive` \n\n `leanback` results in the navigation bar being hidden until the first touch gesture is registered. \n\n `immersive` results in the navigation bar being hidden until the user swipes up from the edge where the navigation bar is hidden. \n\n `sticky-immersive` is identical to `'immersive'` except that the navigation bar will be semi-transparent and will be hidden again after a short period of time","type":"string","enum":["leanback","immersive","sticky-immersive"]},"barStyle":{"description":"Configure the navigation bar icons to have a light or dark color. Supported on Android Oreo and newer. Valid values: `'light-content'`, `'dark-content'`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the navigation bar.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"developmentClient":{"description":"Settings that apply specifically to running this app in a development client","type":"object","properties":{"silentLaunch":{"description":"If true, the app will launch in a development client with no additional dialogs or progress indicators, just like in a standalone app.","type":"boolean","fallback":false}},"additionalProperties":false},"scheme":{"description":"**Standalone Apps Only**. URL scheme to link into your app. For example, if we set this to `'demo'`, then demo:// URLs would open your app when tapped.","type":"string","pattern":"^[a-z][a-z0-9+.-]*$","meta":{"regexHuman":"String beginning with a **lowercase** letter followed by any combination of **lowercase** letters, digits, \"+\", \".\" or \"-\"","standaloneOnly":true,"bareWorkflow":"To change your app's scheme, replace all occurrences of the old scheme in `Info.plist` and `AndroidManifest.xml`"}},"entryPoint":{"description":"The relative path to your main JavaScript file.","type":"string"},"extra":{"description":"Any extra fields you want to pass to your experience. Values are accessible via `Expo.Constants.manifest.extra` ([Learn more](https://docs.expo.io/versions/latest/sdk/constants/#constantsmanifest))","type":"object","properties":{},"additionalProperties":true},"packagerOpts":{"description":"@deprecated Use a `metro.config.js` file instead. [Learn more](https://docs.expo.io/guides/customizing-metro/)","meta":{"deprecated":true,"autogenerated":true},"type":"object","properties":{},"additionalProperties":true},"updates":{"description":"Configuration for how and when the app should request OTA JavaScript updates","type":"object","properties":{"enabled":{"description":"If set to false, your standalone app will never download any code, and will only use code bundled locally on the device. In that case, all updates to your app must be submitted through app store review. Defaults to true. (Note: This will not work out of the box with ExpoKit projects)","type":"boolean"},"checkAutomatically":{"description":"By default, Expo will check for updates every time the app is loaded. Set this to `ON_ERROR_RECOVERY` to disable automatic checking unless recovering from an error. Must be one of `ON_LOAD` or `ON_ERROR_RECOVERY`","enum":["ON_ERROR_RECOVERY","ON_LOAD"],"type":"string"},"fallbackToCacheTimeout":{"description":"How long (in ms) to allow for fetching OTA updates before falling back to a cached version of the app. Defaults to 0. Must be between 0 and 300000 (5 minutes).","type":"number","minimum":0,"maximum":300000},"url":{"description":"URL from which expo-updates will fetch update manifests","type":"string"}},"additionalProperties":false},"locales":{"description":"Provide overrides by locale for System Dialog prompts like Permissions Boxes","type":"object","properties":{},"meta":{"bareWorkflow":"To add or change language and localization information in your iOS app, you need to use Xcode."},"additionalProperties":{"type":["string","object"]}},"facebookAppId":{"description":"Used for all Facebook libraries. Set up your Facebook App ID at https://developers.facebook.com.","type":"string","pattern":"^[0-9]+$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAutoInitEnabled":{"description":"Whether the Facebook SDK should be initialized automatically. The default in Expo (Client and in standalone apps) is `false`.","type":"boolean"},"facebookAutoLogAppEventsEnabled":{"description":"Whether the Facebook SDK log app events automatically. If you don't set this property, Facebook's default will be used. (Applicable only to standalone apps.) Note: The Facebook SDK must be initialized for app events to work. You may autoinitialize Facebook SDK by setting `facebookAutoInitEnabled` to `true`","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAdvertiserIDCollectionEnabled":{"description":"Whether the Facebook SDK should collect advertiser ID properties, like the Apple IDFA and Android Advertising ID, automatically. If you don't set this property, Facebook's default policy will be used. (Applicable only to standalone apps.)","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookDisplayName":{"description":"Used for native Facebook login.","type":"string","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookScheme":{"description":"Used for Facebook native login. Starts with 'fb' and followed by a string of digits, like 'fb1234567890'. You can find your scheme [here](https://developers.facebook.com/docs/facebook-login/ios)in the 'Configuring Your info.plist' section (only applicable to standalone apps and custom Expo Go apps).","type":"string","pattern":"^fb[0-9]+[A-Za-z]*$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"isDetached":{"description":"Is app detached","type":"boolean","meta":{"autogenerated":true}},"detach":{"description":"Extra fields needed by detached apps","type":"object","properties":{},"meta":{"autogenerated":true},"additionalProperties":true},"assetBundlePatterns":{"description":"An array of file glob strings which point to assets that will be bundled within your standalone app binary. Read more in the [Offline Support guide](https://docs.expo.io/guides/offline-support/)","type":"array","items":{"type":"string"}},"plugins":{"description":"Config plugins for adding extra functionality to your project. [Learn more](https://docs.expo.io/guides/config-plugins/).","meta":{"bareWorkflow":"Plugins that add modifications can only be used with [prebuilding](https://expo.fyi/prebuilding) and managed EAS Build"},"type":"array","items":{"anyOf":[{"type":["string"]},{"type":"array","items":[{"type":["string"]},{}],"additionalItems":false}]}},"splash":{"description":"Configuration for loading and splash screen for standalone apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"For Android, edit the `colorPrimary` item in `android/app/src/main/res/values/colors.xml`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-` (Android Studio can [generate the appropriate image files for you](https://developer.android.com/studio/write/image-asset-studio)). Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each required size."}},"ios":{"description":"Configuration that is specific to the iOS platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"bundleIdentifier":{"description":"The bundle identifier for your iOS standalone app. You make it up, but it needs to be unique on the App Store. See [this StackOverflow question](http://stackoverflow.com/questions/11347470/what-does-bundle-identifier-mean-in-the-ios-project).","type":"string","pattern":"^[a-zA-Z0-9.-]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`","regexHuman":"iOS bundle identifier notation unique name for your app. For example, `host.exp.expo`, where `exp.host` is our domain and `expo` is our app name."}},"buildNumber":{"description":"Build number for your iOS standalone app. Corresponds to `CFBundleVersion` and must match Apple's [specified format](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102364). (Note: Transporter will pull the value for `Version Number` from `expo.version` and NOT from `expo.ios.buildNumber`.)","type":"string","pattern":"^[A-Za-z0-9\\.]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`"}},"backgroundColor":{"description":"The background color for your iOS app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on iOS. If specified, this overrides the top-level `icon` key. Use a 1024x1024 icon which follows Apple's interface guidelines for icons, including color profile and transparency. \n\n Expo will generate the other required sizes. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"merchantId":{"description":"Merchant ID for use with Apple Pay in your standalone app.","type":"string"},"appStoreUrl":{"description":"URL to your app on the Apple App Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://(itunes|apps)\\.apple\\.com/.*?\\d+","example":"https://apps.apple.com/us/app/expo-client/id982107779","type":["string"]},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"usesNonExemptEncryption":{"description":"Sets `ITSAppUsesNonExemptEncryption` in the standalone ipa's Info.plist to the given boolean value.","type":"boolean"},"googleMapsApiKey":{"description":"[Google Maps iOS SDK](https://developers.google.com/maps/documentation/ios-sdk/start) key for your standalone app.","type":"string"},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Go and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`.](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"description":"[Google Sign-In iOS SDK](https://developers.google.com/identity/sign-in/ios/start-integrating) keys for your standalone app.","type":"object","properties":{"reservedClientId":{"description":"The reserved client ID URL scheme. Can be found in `GoogleService-Info.plist`.","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase.","type":"string"},"supportsTablet":{"description":"Whether your standalone iOS app supports tablet screen sizes. Defaults to `false`.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations~ipad`"}},"isTabletOnly":{"description":"If true, indicates that your standalone iOS app does not support handsets, and only supports tablets.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations`"}},"requireFullScreen":{"description":"If true, indicates that your standalone iOS app does not support Slide Over and Split View on iPad. Defaults to `true` currently, but will change to `false` in a future SDK version.","type":"boolean","meta":{"bareWorkflow":"Use Xcode to set `UIRequiresFullScreen`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"infoPlist":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native Info.plist. Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"entitlements":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native *.entitlements (plist). Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"associatedDomains":{"description":"An array that contains Associated Domains for the standalone app. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains).","type":"array","uniqueItems":true,"items":{"type":"string"},"meta":{"regexHuman":"Entries must follow the format `applinks:[:port number]`. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains).","bareWorkflow":"Build with EAS, or use Xcode to enable this capability manually. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains)."}},"usesIcloudStorage":{"description":"A boolean indicating if the app uses iCloud Storage for `DocumentPicker`. See `DocumentPicker` docs for details.","type":"boolean","meta":{"bareWorkflow":"Use Xcode, or ios.entitlements to configure this."}},"usesAppleSignIn":{"description":"A boolean indicating if the app uses Apple Sign-In. See `AppleAuthentication` docs for details.","type":"boolean","fallback":false},"accessesContactNotes":{"description":"A Boolean value that indicates whether the app may access the notes stored in contacts. You must [receive permission from Apple](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_contacts_notes) before you can submit your app for review with this capability.","type":"boolean","fallback":false},"splash":{"description":"Configuration for loading and splash screen for standalone iOS apps.","type":"object","properties":{"xib":{"description":"@deprecated Apple has deprecated `.xib` splash screens in favor of `.storyboard` files. Local path to a XIB file as the loading screen. It overrides other loading screen options. Note: This will only be used in the standalone app (i.e., after you build the app). It will not be used in the Expo Go.","type":"string","meta":{"deprecated":true,"asset":true,"contentTypePattern":"^text/xml$","contentTypeHuman":".xib interface builder document"}},"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"tabletImage":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}}},"additionalProperties":false},"android":{"description":"Configuration that is specific to the Android platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"package":{"description":"The package name for your Android standalone app. You make it up, but it needs to be unique on the Play Store. See [this StackOverflow question](http://stackoverflow.com/questions/6273892/android-package-name-convention).","type":"string","pattern":"^[a-zA-Z][a-zA-Z0-9\\_]*(\\.[a-zA-Z][a-zA-Z0-9\\_]*)+$","meta":{"regexHuman":"Reverse DNS notation unique name for your app. Valid Android Application ID. For example, `com.example.app`, where `com.example` is our domain and `app` is our app. The name may only contain lowercase and uppercase letters (a-z, A-Z), numbers (0-9) and underscores (_), separated by periods (.). Each component of the name should start with a lowercase letter.","bareWorkflow":"This is set in `android/app/build.gradle` as `applicationId` as well as in your `AndroidManifest.xml` file (multiple places)."}},"versionCode":{"description":"Version number required by Google Play. Increment by one for each release. Must be a positive integer. [Learn more](https://developer.android.com/studio/publish/versioning.html)","type":"integer","minimum":0,"maximum":2100000000,"meta":{"bareWorkflow":"This is set in `android/app/build.gradle` as `versionCode`"}},"backgroundColor":{"description":"The background color for your Android app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"This is set in `android/app/src/main/AndroidManifest.xml` under `android:windowBackground`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"useNextNotificationsApi":{"deprecated":true,"description":"@deprecated A Boolean value that indicates whether the app should use the new notifications API.","type":"boolean","fallback":false},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` key. We recommend that you use a 1024x1024 png file (transparency is recommended for the Google Play Store). This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"adaptiveIcon":{"description":"Settings for an Adaptive Launcher Icon on Android. [Learn more](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)","type":"object","properties":{"foregroundImage":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` and the `android.icon` keys. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive). This icon will appear on the home screen.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundImage":{"description":"Local path or remote URL to a background image for your app's Adaptive Icon on Android. If specified, this overrides the `backgroundColor` key. Must have the same dimensions as foregroundImage`, and has no effect if `foregroundImage` is not specified. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive).","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundColor":{"description":"Color to use as the background for your app's Adaptive Icon on Android. Defaults to white, `#FFFFFF`. Has no effect if `foregroundImage` is not specified.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"playStoreUrl":{"description":"URL to your app on the Google Play Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://play\\.google\\.com/","example":"https://play.google.com/store/apps/details?id=host.exp.exponent","type":["string"]},"permissions":{"description":"List of permissions used by the standalone app. \n\n To use ONLY the following minimum necessary permissions and none of the extras supported by Expo in a default managed app, set `permissions` to `[]`. The minimum necessary permissions do not require a Privacy Policy when uploading to Google Play Store and are: \n• receive data from Internet \n• view network connections \n• full network access \n• change your audio settings \n• prevent device from sleeping \n\n To use ALL permissions supported by Expo by default, do not specify the `permissions` key. \n\n To use the minimum necessary permissions ALONG with certain additional permissions, specify those extras in `permissions`, e.g.\n\n `[ \"CAMERA\", \"ACCESS_FINE_LOCATION\" ]`.\n\n You can specify the following permissions depending on what you need:\n\n- `ACCESS_COARSE_LOCATION`\n- `ACCESS_FINE_LOCATION`\n- `ACCESS_BACKGROUND_LOCATION`\n- `CAMERA`\n- `RECORD_AUDIO`\n- `READ_CONTACTS`\n- `WRITE_CONTACTS`\n- `READ_CALENDAR`\n- `WRITE_CALENDAR`\n- `READ_EXTERNAL_STORAGE`\n- `WRITE_EXTERNAL_STORAGE`\n- `USE_FINGERPRINT`\n- `USE_BIOMETRIC`\n- `WRITE_SETTINGS`\n- `VIBRATE`\n- `READ_PHONE_STATE`\n- `com.anddoes.launcher.permission.UPDATE_COUNT`\n- `com.android.launcher.permission.INSTALL_SHORTCUT`\n- `com.google.android.c2dm.permission.RECEIVE`\n- `com.google.android.gms.permission.ACTIVITY_RECOGNITION`\n- `com.google.android.providers.gsf.permission.READ_GSERVICES`\n- `com.htc.launcher.permission.READ_SETTINGS`\n- `com.htc.launcher.permission.UPDATE_SHORTCUT`\n- `com.majeur.launcher.permission.UPDATE_BADGE`\n- `com.sec.android.provider.badge.permission.READ`\n- `com.sec.android.provider.badge.permission.WRITE`\n- `com.sonyericsson.home.permission.BROADCAST_BADGE`\n","type":"array","meta":{"bareWorkflow":"To change the permissions your app requests, you'll need to edit `AndroidManifest.xml` manually. To prevent your app from requesting one of the permissions listed below, you'll need to explicitly add it to `AndroidManifest.xml` along with a `tools:node=\"remove\"` tag."},"items":{"type":"string"}},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase. Including this key automatically enables FCM in your standalone app.","type":"string","meta":{"bareWorkflow":"Add or edit the file directly at `android/app/google-services.json`"}},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"googleMaps":{"description":"[Google Maps Android SDK](https://developers.google.com/maps/documentation/android-api/signup) configuration for your standalone app.","type":"object","properties":{"apiKey":{"description":"Your Google Maps Android SDK API key","type":"string"}},"additionalProperties":false},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Client and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"deprecated":true,"meta":{"deprecated":true},"description":"@deprecated Use `googleServicesFile` instead. [Google Sign-In Android SDK](https://developers.google.com/identity/sign-in/android/start-integrating) keys for your standalone app.","type":"object","properties":{"apiKey":{"description":"The Android API key. Can be found in the credentials section of the developer console or in `google-services.json`.","type":"string"},"certificateHash":{"description":"The SHA-1 hash of the signing certificate used to build the APK without any separator (`:`). Can be found in `google-services.json`. https://developers.google.com/android/guides/client-auth","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"splash":{"description":"Configuration for loading and splash screen for managed and standalone Android apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover`, `contain` or `native`, defaults to `contain`.","enum":["cover","contain","native"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"mdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Natural sized image (baseline)`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"hdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 1.5x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 2x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 3x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 4x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}},"intentFilters":{"description":"Configuration for setting an array of custom intent filters in Android manifest. [Learn more](https://developer.android.com/guide/components/intents-filters)","example":[{"autoVerify":true,"action":"VIEW","data":{"scheme":"https","host":"*.expo.io"},"category":["BROWSABLE","DEFAULT"]}],"exampleString":"\n [{ \n \"autoVerify\": true, \n \"action\": \"VIEW\", \n \"data\": { \n \"scheme\": \"https\", \n \"host\": \"*.expo.io\" \n }, \n \"category\": [\"BROWSABLE\", \"DEFAULT\"] \n }]","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"autoVerify":{"description":"You may also use an intent filter to set your app as the default handler for links (without showing the user a dialog with options). To do so use `true` and then configure your server to serve a JSON file verifying that you own the domain. [Learn more](developer.android.com/training/app-links)","type":"boolean"},"action":{"type":"string"},"data":{"anyOf":[{"type":"object","properties":{"scheme":{"description":"the scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"the hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"the port, e.g. `3000`","type":"string"},"path":{"description":"an exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":" a regex for paths that should be matched by the filter, e.g. `.*`","type":"string"},"pathPrefix":{"description":"a prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"a MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false},{"type":["array"],"items":{"type":"object","properties":{"scheme":{"description":"the scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"the hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"the port, e.g. `3000`","type":"string"},"path":{"description":"an exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":" a regex for paths that should be matched by the filter, e.g. `.*`","type":"string"},"pathPrefix":{"description":"a prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"a MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false}}]},"category":{"anyOf":[{"type":["string"]},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false,"required":["action"]},"meta":{"bareWorkflow":"This is set in `AndroidManifest.xml` directly. [Learn more.](developer.android.com/guide/components/intents-filters)"}},"allowBackup":{"description":"Allows your user's app data to be automatically backed up to their Google Drive. If this is set to false, no backup or restore of the application will ever be performed (this is useful if your app deals with sensitive information). Defaults to the Android default, which is `true`.","fallback":true,"type":"boolean"},"softwareKeyboardLayoutMode":{"description":"Determines how the software keyboard will impact the layout of your application. This maps to the `android:windowSoftInputMode` property. Defaults to `resize`. Valid values: `resize`, `pan`.","enum":["resize","pan"],"type":"string","fallback":"resize"},"jsEngine":{"description":"Specifies the JavaScript engine. Supported only on EAS Build. Defaults to `jsc`. Valid values: `hermes`, `jsc`.","type":"string","fallback":"jsc","enum":["hermes","jsc"],"meta":{"bareWorkflow":"To change the JavaScript engine, update the `expo.jsEngine` value in `android/gradle.properties`"}}},"additionalProperties":false},"web":{"description":"Configuration that is specific to the web platform.","type":"object","additionalProperties":true,"properties":{"favicon":{"description":"Relative path of an image to use for your app's favicon.","type":"string"},"name":{"description":"Defines the title of the document, defaults to the outer level name","type":"string","meta":{"pwa":"name"}},"shortName":{"description":"A short version of the app's name, 12 characters or fewer. Used in app launcher and new tab pages. Maps to `short_name` in the PWA manifest.json. Defaults to the `name` property.","type":"string","meta":{"pwa":"short_name","regexHuman":"Maximum 12 characters long"}},"lang":{"description":"Specifies the primary language for the values in the name and short_name members. This value is a string containing a single language tag.","type":"string","fallback":"en","meta":{"pwa":"lang"}},"scope":{"description":"Defines the navigation scope of this website's context. This restricts what web pages can be viewed while the manifest is applied. If the user navigates outside the scope, it returns to a normal web page inside a browser tab/window. If the scope is a relative URL, the base URL will be the URL of the manifest.","type":"string","meta":{"pwa":"scope"}},"themeColor":{"description":"Defines the color of the Android tool bar, and may be reflected in the app's preview in task switchers.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"theme_color","html":"theme-color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"description":{"description":"Provides a general description of what the pinned website does.","type":"string","meta":{"html":"description","pwa":"description"}},"dir":{"description":"Specifies the primary text direction for the name, short_name, and description members. Together with the lang member, it helps the correct display of right-to-left languages.","enum":["auto","ltr","rtl"],"type":"string","meta":{"pwa":"dir"}},"display":{"description":"Defines the developers’ preferred display mode for the website.","enum":["fullscreen","standalone","minimal-ui","browser"],"type":"string","meta":{"pwa":"display"}},"startUrl":{"description":"The URL that loads when a user launches the application (e.g., when added to home screen), typically the index. Note: This has to be a relative URL, relative to the manifest URL.","type":"string","meta":{"pwa":"start_url"}},"orientation":{"description":"Defines the default orientation for all the website's top level browsing contexts.","enum":["any","natural","landscape","landscape-primary","landscape-secondary","portrait","portrait-primary","portrait-secondary"],"type":"string","meta":{"pwa":"orientation"}},"backgroundColor":{"description":"Defines the expected “background color” for the website. This value repeats what is already available in the site’s CSS, but can be used by browsers to draw the background color of a shortcut when the manifest is available before the stylesheet has loaded. This creates a smooth transition between launching the web application and loading the site's content.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"background_color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"barStyle":{"description":"If content is set to default, the status bar appears normal. If set to black, the status bar has a black background. If set to black-translucent, the status bar is black and translucent. If set to default or black, the web content is displayed below the status bar. If set to black-translucent, the web content is displayed on the entire screen, partially obscured by the status bar.","enum":["default","black","black-translucent"],"type":"string","fallback":"black-translucent","meta":{"html":"apple-mobile-web-app-status-bar-style","pwa":"name"}},"preferRelatedApplications":{"description":"Hints for the user agent to indicate to the user that the specified native applications (defined in expo.ios and expo.android) are recommended over the website.","type":"boolean","fallback":true,"meta":{"pwa":"prefer_related_applications"}},"dangerous":{"description":"Experimental features. These will break without deprecation notice.","type":"object","properties":{},"additionalProperties":true},"splash":{"description":"Configuration for PWA splash screens.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"Use [expo-splash-screen](https://github.com/expo/expo/tree/master/packages/expo-splash-screen#expo-splash-screen)"}},"config":{"description":"Firebase web configuration. Used by the expo-firebase packages on both web and native. [Learn more](https://firebase.google.com/docs/reference/js/firebase.html#initializeapp)","type":"object","properties":{"firebase":{"type":"object","properties":{"apiKey":{"type":"string"},"authDomain":{"type":"string"},"databaseURL":{"type":"string"},"projectId":{"type":"string"},"storageBucket":{"type":"string"},"messagingSenderId":{"type":"string"},"appId":{"type":"string"},"measurementId":{"type":"string"}}}}}}},"hooks":{"description":"Configuration for scripts to run to hook into the publish process","type":"object","additionalProperties":false,"properties":{"postPublish":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}},"postExport":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}}}},"experiments":{"description":"Enable experimental features that may be unstable, unsupported, or removed without deprecation notices.","type":"object","additionalProperties":false,"properties":{"turboModules":{"description":"Enables Turbo Modules, which are a type of native modules that use a different way of communicating between JS and platform code. When installing a Turbo Module you will need to enable this experimental option (the library still needs to be a part of Expo SDK already, like react-native-reanimated v2). Turbo Modules do not support remote debugging and enabling this option will disable remote debugging.","type":"boolean","fallback":false}}},"_internal":{"description":"Internal properties for developer tools","type":"object","properties":{"pluginHistory":{"description":"List of plugins already run on the config","type":"object","properties":{},"additionalProperties":true}},"additionalProperties":true,"meta":{"autogenerated":true}}} \ No newline at end of file +export default {"name":{"description":"The name of your app as it appears both within Expo Go and on your home screen as a standalone app.","type":"string","meta":{"bareWorkflow":"To change the name of your app, edit the 'Display Name' field in Xcode and the `app_name` string in `android/app/src/main/res/values/strings.xml`"}},"description":{"description":"A short description of what your app is and why it is great.","type":"string"},"slug":{"description":"The friendly URL name for publishing. For example, `myAppName` will refer to the `expo.io/@project-owner/myAppName` project.","type":"string","pattern":"^[a-zA-Z0-9_\\-]+$"},"owner":{"description":"The Expo account name of the team owner, only applicable if you are enrolled in the EAS Priority Plan. If not provided, defaults to the username of the current user.","type":"string","minLength":1},"currentFullName":{"description":"The auto generated Expo account name and slug used for display purposes. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value may change when a project is transferred between accounts or renamed.","type":"string","meta":{"autogenerated":true}},"originalFullName":{"description":"The auto generated Expo account name and slug used for services like Notifications and AuthSession proxy. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value will not change when a project is transferred between accounts or renamed.","type":"string","meta":{"autogenerated":true}},"privacy":{"description":"Defaults to `unlisted`. `unlisted` hides the project from search results. `hidden` restricts access to the project page to only the owner and other users that have been granted access. Valid values: `public`, `unlisted`, `hidden`.","enum":["public","unlisted","hidden"],"type":"string","fallback":"unlisted"},"sdkVersion":{"description":"The Expo sdkVersion to run the project on. This should line up with the version specified in your package.json.","type":"string","pattern":"^(\\d+\\.\\d+\\.\\d+)|(UNVERSIONED)$"},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest for bare workflow projects. If provided, this must match the version set in Expo.plist or AndroidManifest.xml.","type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\" or \"-\". Example: \"1.0.3a+\"."}},"version":{"description":"Your app version. In addition to this field, you'll also use `ios.buildNumber` and `android.versionCode` — read more about how to version your app [here](https://docs.expo.io/distribution/app-stores/#versioning-your-app). On iOS this corresponds to `CFBundleShortVersionString`, and on Android, this corresponds to `versionName`. The required format can be found [here](https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring).","type":"string","meta":{"bareWorkflow":"To change your app version, edit the 'Version' field in Xcode and the `versionName` string in `android/app/build.gradle`"}},"platforms":{"description":"Platforms that your project explicitly supports. If not specified, it defaults to `[\"ios\", \"android\"]`.","example":["ios","android","web"],"type":"array","uniqueItems":true,"items":{"type":"string","enum":["android","ios","web"]}},"githubUrl":{"description":"If you would like to share the source code of your app on Github, enter the URL for the repository here and it will be linked to from your Expo project page.","pattern":"^https://github\\.com/","example":"https://github.com/expo/expo","type":["string"]},"orientation":{"description":"Locks your app to a specific orientation with portrait or landscape. Defaults to no lock. Valid values: `default`, `portrait`, `landscape`","enum":["default","portrait","landscape"],"type":"string"},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"backgroundColor":{"description":"The background color for your app, behind any of your React views. This is also known as the root view background color.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`. Default is white: `'#ffffff'`"}},"primaryColor":{"description":"On Android, this will determine the color of your app in the multitasker. Currently this is not used on iOS, but it may be used for other purposes in the future.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon. We recommend that you use a 1024x1024 png file. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true,"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-`. Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each existing size."}},"notification":{"description":"Configuration for remote (push) notifications.","type":"object","properties":{"icon":{"description":"(Android only) Local path or remote URL to an image to use as the icon for push notifications. 96x96 png grayscale with transparency. We recommend following [Google's design guidelines](https://material.io/design/iconography/product-icons.html#design-principles). If not provided, defaults to your app icon.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"color":{"description":"(Android only) Tint color for the push notification image when it appears in the notification tray. Defaults to `#ffffff`","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"iosDisplayInForeground":{"description":"Whether or not to display notifications when the app is in the foreground on iOS. `_displayInForeground` option in the individual push notification message overrides this option. [Learn more.](https://docs.expo.io/push-notifications/receiving-notifications/#foreground-notification-behavior) Defaults to `false`.","type":"boolean"},"androidMode":{"description":"Show each push notification individually (`default`) or collapse into one (`collapse`).","enum":["default","collapse"],"type":"string"},"androidCollapsedTitle":{"description":"If `androidMode` is set to `collapse`, this title is used for the collapsed notification message. For example, `'#{unread_notifications} new interactions'`.","type":"string"}},"additionalProperties":false},"appKey":{"description":"By default, Expo looks for the application registered with the AppRegistry as `main`. If you would like to change this, you can specify the name in this property.","type":"string"},"androidStatusBar":{"description":"Configuration for the status bar on Android. For more details please navigate to [Configuring StatusBar](https://docs.expo.io/guides/configuring-statusbar/).","type":"object","properties":{"barStyle":{"description":"Configures the status bar icons to have a light or dark color. Valid values: `light-content`, `dark-content`. Defaults to `dark-content`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the status bar. Defaults to `#00000000` (transparent) for `dark-content` bar style and `#00000088` (semi-transparent black) for `light-content` bar style","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string `'#RRGGBB'`, for example, `'#000000'` for black. Or 8 character long hex color string `'#RRGGBBAA'`, for example, `'#00000088'` for semi-transparent black."}},"hidden":{"description":"Instructs the system whether the status bar should be visible or not. Defaults to `false`","type":"boolean"},"translucent":{"description":"Sets `android:windowTranslucentStatus` in `styles.xml`. When false, the system status bar pushes the content of your app down (similar to `position: relative`). When true, the status bar floats above the content in your app (similar to `position: absolute`). Defaults to `true` to match the iOS status bar behavior (which can only float above content).","type":"boolean"}},"additionalProperties":false},"androidNavigationBar":{"description":"Configuration for the bottom navigation bar on Android.","type":"object","properties":{"visible":{"description":"Determines how and when the navigation bar is shown. [Learn more](https://developer.android.com/training/system-ui/immersive). Valid values: `leanback`, `immersive`, `sticky-immersive` \n\n `leanback` results in the navigation bar being hidden until the first touch gesture is registered. \n\n `immersive` results in the navigation bar being hidden until the user swipes up from the edge where the navigation bar is hidden. \n\n `sticky-immersive` is identical to `'immersive'` except that the navigation bar will be semi-transparent and will be hidden again after a short period of time","type":"string","enum":["leanback","immersive","sticky-immersive"]},"barStyle":{"description":"Configure the navigation bar icons to have a light or dark color. Supported on Android Oreo and newer. Valid values: `'light-content'`, `'dark-content'`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the navigation bar.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"developmentClient":{"description":"Settings that apply specifically to running this app in a development client","type":"object","properties":{"silentLaunch":{"description":"If true, the app will launch in a development client with no additional dialogs or progress indicators, just like in a standalone app.","type":"boolean","fallback":false}},"additionalProperties":false},"scheme":{"description":"**Standalone Apps Only**. URL scheme to link into your app. For example, if we set this to `'demo'`, then demo:// URLs would open your app when tapped.","type":"string","pattern":"^[a-z][a-z0-9+.-]*$","meta":{"regexHuman":"String beginning with a **lowercase** letter followed by any combination of **lowercase** letters, digits, \"+\", \".\" or \"-\"","standaloneOnly":true,"bareWorkflow":"To change your app's scheme, replace all occurrences of the old scheme in `Info.plist` and `AndroidManifest.xml`"}},"entryPoint":{"description":"The relative path to your main JavaScript file.","type":"string"},"extra":{"description":"Any extra fields you want to pass to your experience. Values are accessible via `Expo.Constants.manifest.extra` ([Learn more](https://docs.expo.io/versions/latest/sdk/constants/#constantsmanifest))","type":"object","properties":{},"additionalProperties":true},"packagerOpts":{"description":"@deprecated Use a `metro.config.js` file instead. [Learn more](https://docs.expo.io/guides/customizing-metro/)","meta":{"deprecated":true,"autogenerated":true},"type":"object","properties":{},"additionalProperties":true},"updates":{"description":"Configuration for how and when the app should request OTA JavaScript updates","type":"object","properties":{"enabled":{"description":"If set to false, your standalone app will never download any code, and will only use code bundled locally on the device. In that case, all updates to your app must be submitted through app store review. Defaults to true. (Note: This will not work out of the box with ExpoKit projects)","type":"boolean"},"checkAutomatically":{"description":"By default, Expo will check for updates every time the app is loaded. Set this to `ON_ERROR_RECOVERY` to disable automatic checking unless recovering from an error. Must be one of `ON_LOAD` or `ON_ERROR_RECOVERY`","enum":["ON_ERROR_RECOVERY","ON_LOAD"],"type":"string"},"fallbackToCacheTimeout":{"description":"How long (in ms) to allow for fetching OTA updates before falling back to a cached version of the app. Defaults to 0. Must be between 0 and 300000 (5 minutes).","type":"number","minimum":0,"maximum":300000},"url":{"description":"URL from which expo-updates will fetch update manifests","type":"string"}},"additionalProperties":false},"locales":{"description":"Provide overrides by locale for System Dialog prompts like Permissions Boxes","type":"object","properties":{},"meta":{"bareWorkflow":"To add or change language and localization information in your iOS app, you need to use Xcode."},"additionalProperties":{"type":["string","object"]}},"facebookAppId":{"description":"Used for all Facebook libraries. Set up your Facebook App ID at https://developers.facebook.com.","type":"string","pattern":"^[0-9]+$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAutoInitEnabled":{"description":"Whether the Facebook SDK should be initialized automatically. The default in Expo (Client and in standalone apps) is `false`.","type":"boolean"},"facebookAutoLogAppEventsEnabled":{"description":"Whether the Facebook SDK log app events automatically. If you don't set this property, Facebook's default will be used. (Applicable only to standalone apps.) Note: The Facebook SDK must be initialized for app events to work. You may autoinitialize Facebook SDK by setting `facebookAutoInitEnabled` to `true`","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAdvertiserIDCollectionEnabled":{"description":"Whether the Facebook SDK should collect advertiser ID properties, like the Apple IDFA and Android Advertising ID, automatically. If you don't set this property, Facebook's default policy will be used. (Applicable only to standalone apps.)","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookDisplayName":{"description":"Used for native Facebook login.","type":"string","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookScheme":{"description":"Used for Facebook native login. Starts with 'fb' and followed by a string of digits, like 'fb1234567890'. You can find your scheme [here](https://developers.facebook.com/docs/facebook-login/ios)in the 'Configuring Your info.plist' section (only applicable to standalone apps and custom Expo Go apps).","type":"string","pattern":"^fb[0-9]+[A-Za-z]*$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"isDetached":{"description":"Is app detached","type":"boolean","meta":{"autogenerated":true}},"detach":{"description":"Extra fields needed by detached apps","type":"object","properties":{},"meta":{"autogenerated":true},"additionalProperties":true},"assetBundlePatterns":{"description":"An array of file glob strings which point to assets that will be bundled within your standalone app binary. Read more in the [Offline Support guide](https://docs.expo.io/guides/offline-support/)","type":"array","items":{"type":"string"}},"plugins":{"description":"Config plugins for adding extra functionality to your project. [Learn more](https://docs.expo.io/guides/config-plugins/).","meta":{"bareWorkflow":"Plugins that add modifications can only be used with [prebuilding](https://expo.fyi/prebuilding) and managed EAS Build"},"type":"array","items":{"anyOf":[{"type":["string"]},{"type":"array","items":[{"type":["string"]},{}],"additionalItems":false}]}},"splash":{"description":"Configuration for loading and splash screen for standalone apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"For Android, edit the `colorPrimary` item in `android/app/src/main/res/values/colors.xml`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-` (Android Studio can [generate the appropriate image files for you](https://developer.android.com/studio/write/image-asset-studio)). Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each required size."}},"ios":{"description":"Configuration that is specific to the iOS platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"bundleIdentifier":{"description":"The bundle identifier for your iOS standalone app. You make it up, but it needs to be unique on the App Store. See [this StackOverflow question](http://stackoverflow.com/questions/11347470/what-does-bundle-identifier-mean-in-the-ios-project).","type":"string","pattern":"^[a-zA-Z0-9.-]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`","regexHuman":"iOS bundle identifier notation unique name for your app. For example, `host.exp.expo`, where `exp.host` is our domain and `expo` is our app name."}},"buildNumber":{"description":"Build number for your iOS standalone app. Corresponds to `CFBundleVersion` and must match Apple's [specified format](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102364). (Note: Transporter will pull the value for `Version Number` from `expo.version` and NOT from `expo.ios.buildNumber`.)","type":"string","pattern":"^[A-Za-z0-9\\.]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`"}},"backgroundColor":{"description":"The background color for your iOS app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on iOS. If specified, this overrides the top-level `icon` key. Use a 1024x1024 icon which follows Apple's interface guidelines for icons, including color profile and transparency. \n\n Expo will generate the other required sizes. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"merchantId":{"description":"Merchant ID for use with Apple Pay in your standalone app.","type":"string"},"appStoreUrl":{"description":"URL to your app on the Apple App Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://(itunes|apps)\\.apple\\.com/.*?\\d+","example":"https://apps.apple.com/us/app/expo-client/id982107779","type":["string"]},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"usesNonExemptEncryption":{"description":"Sets `ITSAppUsesNonExemptEncryption` in the standalone ipa's Info.plist to the given boolean value.","type":"boolean"},"googleMapsApiKey":{"description":"[Google Maps iOS SDK](https://developers.google.com/maps/documentation/ios-sdk/start) key for your standalone app.","type":"string"},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Go and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`.](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"description":"[Google Sign-In iOS SDK](https://developers.google.com/identity/sign-in/ios/start-integrating) keys for your standalone app.","type":"object","properties":{"reservedClientId":{"description":"The reserved client ID URL scheme. Can be found in `GoogleService-Info.plist`.","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase.","type":"string"},"supportsTablet":{"description":"Whether your standalone iOS app supports tablet screen sizes. Defaults to `false`.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations~ipad`"}},"isTabletOnly":{"description":"If true, indicates that your standalone iOS app does not support handsets, and only supports tablets.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations`"}},"requireFullScreen":{"description":"If true, indicates that your standalone iOS app does not support Slide Over and Split View on iPad. Defaults to `true` currently, but will change to `false` in a future SDK version.","type":"boolean","meta":{"bareWorkflow":"Use Xcode to set `UIRequiresFullScreen`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"infoPlist":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native Info.plist. Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"entitlements":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native *.entitlements (plist). Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"associatedDomains":{"description":"An array that contains Associated Domains for the standalone app. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains).","type":"array","uniqueItems":true,"items":{"type":"string"},"meta":{"regexHuman":"Entries must follow the format `applinks:[:port number]`. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains).","bareWorkflow":"Build with EAS, or use Xcode to enable this capability manually. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains)."}},"usesIcloudStorage":{"description":"A boolean indicating if the app uses iCloud Storage for `DocumentPicker`. See `DocumentPicker` docs for details.","type":"boolean","meta":{"bareWorkflow":"Use Xcode, or ios.entitlements to configure this."}},"usesAppleSignIn":{"description":"A boolean indicating if the app uses Apple Sign-In. See `AppleAuthentication` docs for details.","type":"boolean","fallback":false},"accessesContactNotes":{"description":"A Boolean value that indicates whether the app may access the notes stored in contacts. You must [receive permission from Apple](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_contacts_notes) before you can submit your app for review with this capability.","type":"boolean","fallback":false},"splash":{"description":"Configuration for loading and splash screen for standalone iOS apps.","type":"object","properties":{"xib":{"description":"@deprecated Apple has deprecated `.xib` splash screens in favor of `.storyboard` files. Local path to a XIB file as the loading screen. It overrides other loading screen options. Note: This will only be used in the standalone app (i.e., after you build the app). It will not be used in the Expo Go.","type":"string","meta":{"deprecated":true,"asset":true,"contentTypePattern":"^text/xml$","contentTypeHuman":".xib interface builder document"}},"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"tabletImage":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}}},"additionalProperties":false},"android":{"description":"Configuration that is specific to the Android platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"package":{"description":"The package name for your Android standalone app. You make it up, but it needs to be unique on the Play Store. See [this StackOverflow question](http://stackoverflow.com/questions/6273892/android-package-name-convention).","type":"string","pattern":"^[a-zA-Z][a-zA-Z0-9\\_]*(\\.[a-zA-Z][a-zA-Z0-9\\_]*)+$","meta":{"regexHuman":"Reverse DNS notation unique name for your app. Valid Android Application ID. For example, `com.example.app`, where `com.example` is our domain and `app` is our app. The name may only contain lowercase and uppercase letters (a-z, A-Z), numbers (0-9) and underscores (_), separated by periods (.). Each component of the name should start with a lowercase letter.","bareWorkflow":"This is set in `android/app/build.gradle` as `applicationId` as well as in your `AndroidManifest.xml` file (multiple places)."}},"versionCode":{"description":"Version number required by Google Play. Increment by one for each release. Must be a positive integer. [Learn more](https://developer.android.com/studio/publish/versioning.html)","type":"integer","minimum":0,"maximum":2100000000,"meta":{"bareWorkflow":"This is set in `android/app/build.gradle` as `versionCode`"}},"backgroundColor":{"description":"The background color for your Android app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"This is set in `android/app/src/main/AndroidManifest.xml` under `android:windowBackground`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"useNextNotificationsApi":{"deprecated":true,"description":"@deprecated A Boolean value that indicates whether the app should use the new notifications API.","type":"boolean","fallback":false},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` key. We recommend that you use a 1024x1024 png file (transparency is recommended for the Google Play Store). This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"adaptiveIcon":{"description":"Settings for an Adaptive Launcher Icon on Android. [Learn more](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)","type":"object","properties":{"foregroundImage":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` and the `android.icon` keys. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive). This icon will appear on the home screen.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundImage":{"description":"Local path or remote URL to a background image for your app's Adaptive Icon on Android. If specified, this overrides the `backgroundColor` key. Must have the same dimensions as foregroundImage`, and has no effect if `foregroundImage` is not specified. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive).","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundColor":{"description":"Color to use as the background for your app's Adaptive Icon on Android. Defaults to white, `#FFFFFF`. Has no effect if `foregroundImage` is not specified.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"playStoreUrl":{"description":"URL to your app on the Google Play Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://play\\.google\\.com/","example":"https://play.google.com/store/apps/details?id=host.exp.exponent","type":["string"]},"permissions":{"description":"List of permissions used by the standalone app. \n\n To use ONLY the following minimum necessary permissions and none of the extras supported by Expo in a default managed app, set `permissions` to `[]`. The minimum necessary permissions do not require a Privacy Policy when uploading to Google Play Store and are: \n• receive data from Internet \n• view network connections \n• full network access \n• change your audio settings \n• prevent device from sleeping \n\n To use ALL permissions supported by Expo by default, do not specify the `permissions` key. \n\n To use the minimum necessary permissions ALONG with certain additional permissions, specify those extras in `permissions`, e.g.\n\n `[ \"CAMERA\", \"ACCESS_FINE_LOCATION\" ]`.\n\n You can specify the following permissions depending on what you need:\n\n- `ACCESS_COARSE_LOCATION`\n- `ACCESS_FINE_LOCATION`\n- `ACCESS_BACKGROUND_LOCATION`\n- `CAMERA`\n- `RECORD_AUDIO`\n- `READ_CONTACTS`\n- `WRITE_CONTACTS`\n- `READ_CALENDAR`\n- `WRITE_CALENDAR`\n- `READ_EXTERNAL_STORAGE`\n- `WRITE_EXTERNAL_STORAGE`\n- `USE_FINGERPRINT`\n- `USE_BIOMETRIC`\n- `WRITE_SETTINGS`\n- `VIBRATE`\n- `READ_PHONE_STATE`\n- `com.anddoes.launcher.permission.UPDATE_COUNT`\n- `com.android.launcher.permission.INSTALL_SHORTCUT`\n- `com.google.android.c2dm.permission.RECEIVE`\n- `com.google.android.gms.permission.ACTIVITY_RECOGNITION`\n- `com.google.android.providers.gsf.permission.READ_GSERVICES`\n- `com.htc.launcher.permission.READ_SETTINGS`\n- `com.htc.launcher.permission.UPDATE_SHORTCUT`\n- `com.majeur.launcher.permission.UPDATE_BADGE`\n- `com.sec.android.provider.badge.permission.READ`\n- `com.sec.android.provider.badge.permission.WRITE`\n- `com.sonyericsson.home.permission.BROADCAST_BADGE`\n","type":"array","meta":{"bareWorkflow":"To change the permissions your app requests, you'll need to edit `AndroidManifest.xml` manually. To prevent your app from requesting one of the permissions listed below, you'll need to explicitly add it to `AndroidManifest.xml` along with a `tools:node=\"remove\"` tag."},"items":{"type":"string"}},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase. Including this key automatically enables FCM in your standalone app.","type":"string","meta":{"bareWorkflow":"Add or edit the file directly at `android/app/google-services.json`"}},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"googleMaps":{"description":"[Google Maps Android SDK](https://developers.google.com/maps/documentation/android-api/signup) configuration for your standalone app.","type":"object","properties":{"apiKey":{"description":"Your Google Maps Android SDK API key","type":"string"}},"additionalProperties":false},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Client and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"deprecated":true,"meta":{"deprecated":true},"description":"@deprecated Use `googleServicesFile` instead. [Google Sign-In Android SDK](https://developers.google.com/identity/sign-in/android/start-integrating) keys for your standalone app.","type":"object","properties":{"apiKey":{"description":"The Android API key. Can be found in the credentials section of the developer console or in `google-services.json`.","type":"string"},"certificateHash":{"description":"The SHA-1 hash of the signing certificate used to build the APK without any separator (`:`). Can be found in `google-services.json`. https://developers.google.com/android/guides/client-auth","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"splash":{"description":"Configuration for loading and splash screen for managed and standalone Android apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover`, `contain` or `native`, defaults to `contain`.","enum":["cover","contain","native"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"mdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Natural sized image (baseline)`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"hdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 1.5x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 2x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 3x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 4x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}},"intentFilters":{"description":"Configuration for setting an array of custom intent filters in Android manifest. [Learn more](https://developer.android.com/guide/components/intents-filters)","example":[{"autoVerify":true,"action":"VIEW","data":{"scheme":"https","host":"*.expo.io"},"category":["BROWSABLE","DEFAULT"]}],"exampleString":"\n [{ \n \"autoVerify\": true, \n \"action\": \"VIEW\", \n \"data\": { \n \"scheme\": \"https\", \n \"host\": \"*.expo.io\" \n }, \n \"category\": [\"BROWSABLE\", \"DEFAULT\"] \n }]","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"autoVerify":{"description":"You may also use an intent filter to set your app as the default handler for links (without showing the user a dialog with options). To do so use `true` and then configure your server to serve a JSON file verifying that you own the domain. [Learn more](developer.android.com/training/app-links)","type":"boolean"},"action":{"type":"string"},"data":{"anyOf":[{"type":"object","properties":{"scheme":{"description":"the scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"the hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"the port, e.g. `3000`","type":"string"},"path":{"description":"an exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":" a regex for paths that should be matched by the filter, e.g. `.*`","type":"string"},"pathPrefix":{"description":"a prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"a MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false},{"type":["array"],"items":{"type":"object","properties":{"scheme":{"description":"the scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"the hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"the port, e.g. `3000`","type":"string"},"path":{"description":"an exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":" a regex for paths that should be matched by the filter, e.g. `.*`","type":"string"},"pathPrefix":{"description":"a prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"a MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false}}]},"category":{"anyOf":[{"type":["string"]},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false,"required":["action"]},"meta":{"bareWorkflow":"This is set in `AndroidManifest.xml` directly. [Learn more.](developer.android.com/guide/components/intents-filters)"}},"allowBackup":{"description":"Allows your user's app data to be automatically backed up to their Google Drive. If this is set to false, no backup or restore of the application will ever be performed (this is useful if your app deals with sensitive information). Defaults to the Android default, which is `true`.","fallback":true,"type":"boolean"},"softwareKeyboardLayoutMode":{"description":"Determines how the software keyboard will impact the layout of your application. This maps to the `android:windowSoftInputMode` property. Defaults to `resize`. Valid values: `resize`, `pan`.","enum":["resize","pan"],"type":"string","fallback":"resize"},"jsEngine":{"description":"Specifies the JavaScript engine. Supported only on EAS Build. Defaults to `jsc`. Valid values: `hermes`, `jsc`.","type":"string","fallback":"jsc","enum":["hermes","jsc"],"meta":{"bareWorkflow":"To change the JavaScript engine, update the `expo.jsEngine` value in `android/gradle.properties`"}}},"additionalProperties":false},"web":{"description":"Configuration that is specific to the web platform.","type":"object","additionalProperties":true,"properties":{"favicon":{"description":"Relative path of an image to use for your app's favicon.","type":"string"},"name":{"description":"Defines the title of the document, defaults to the outer level name","type":"string","meta":{"pwa":"name"}},"shortName":{"description":"A short version of the app's name, 12 characters or fewer. Used in app launcher and new tab pages. Maps to `short_name` in the PWA manifest.json. Defaults to the `name` property.","type":"string","meta":{"pwa":"short_name","regexHuman":"Maximum 12 characters long"}},"lang":{"description":"Specifies the primary language for the values in the name and short_name members. This value is a string containing a single language tag.","type":"string","fallback":"en","meta":{"pwa":"lang"}},"scope":{"description":"Defines the navigation scope of this website's context. This restricts what web pages can be viewed while the manifest is applied. If the user navigates outside the scope, it returns to a normal web page inside a browser tab/window. If the scope is a relative URL, the base URL will be the URL of the manifest.","type":"string","meta":{"pwa":"scope"}},"themeColor":{"description":"Defines the color of the Android tool bar, and may be reflected in the app's preview in task switchers.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"theme_color","html":"theme-color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"description":{"description":"Provides a general description of what the pinned website does.","type":"string","meta":{"html":"description","pwa":"description"}},"dir":{"description":"Specifies the primary text direction for the name, short_name, and description members. Together with the lang member, it helps the correct display of right-to-left languages.","enum":["auto","ltr","rtl"],"type":"string","meta":{"pwa":"dir"}},"display":{"description":"Defines the developers’ preferred display mode for the website.","enum":["fullscreen","standalone","minimal-ui","browser"],"type":"string","meta":{"pwa":"display"}},"startUrl":{"description":"The URL that loads when a user launches the application (e.g., when added to home screen), typically the index. Note: This has to be a relative URL, relative to the manifest URL.","type":"string","meta":{"pwa":"start_url"}},"orientation":{"description":"Defines the default orientation for all the website's top level browsing contexts.","enum":["any","natural","landscape","landscape-primary","landscape-secondary","portrait","portrait-primary","portrait-secondary"],"type":"string","meta":{"pwa":"orientation"}},"backgroundColor":{"description":"Defines the expected “background color” for the website. This value repeats what is already available in the site’s CSS, but can be used by browsers to draw the background color of a shortcut when the manifest is available before the stylesheet has loaded. This creates a smooth transition between launching the web application and loading the site's content.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"background_color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"barStyle":{"description":"If content is set to default, the status bar appears normal. If set to black, the status bar has a black background. If set to black-translucent, the status bar is black and translucent. If set to default or black, the web content is displayed below the status bar. If set to black-translucent, the web content is displayed on the entire screen, partially obscured by the status bar.","enum":["default","black","black-translucent"],"type":"string","fallback":"black-translucent","meta":{"html":"apple-mobile-web-app-status-bar-style","pwa":"name"}},"preferRelatedApplications":{"description":"Hints for the user agent to indicate to the user that the specified native applications (defined in expo.ios and expo.android) are recommended over the website.","type":"boolean","fallback":true,"meta":{"pwa":"prefer_related_applications"}},"dangerous":{"description":"Experimental features. These will break without deprecation notice.","type":"object","properties":{},"additionalProperties":true},"splash":{"description":"Configuration for PWA splash screens.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"Use [expo-splash-screen](https://github.com/expo/expo/tree/main/packages/expo-splash-screen#expo-splash-screen)"}},"config":{"description":"Firebase web configuration. Used by the expo-firebase packages on both web and native. [Learn more](https://firebase.google.com/docs/reference/js/firebase.html#initializeapp)","type":"object","properties":{"firebase":{"type":"object","properties":{"apiKey":{"type":"string"},"authDomain":{"type":"string"},"databaseURL":{"type":"string"},"projectId":{"type":"string"},"storageBucket":{"type":"string"},"messagingSenderId":{"type":"string"},"appId":{"type":"string"},"measurementId":{"type":"string"}}}}}}},"hooks":{"description":"Configuration for scripts to run to hook into the publish process","type":"object","additionalProperties":false,"properties":{"postPublish":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}},"postExport":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}}}},"experiments":{"description":"Enable experimental features that may be unstable, unsupported, or removed without deprecation notices.","type":"object","additionalProperties":false,"properties":{"turboModules":{"description":"Enables Turbo Modules, which are a type of native modules that use a different way of communicating between JS and platform code. When installing a Turbo Module you will need to enable this experimental option (the library still needs to be a part of Expo SDK already, like react-native-reanimated v2). Turbo Modules do not support remote debugging and enabling this option will disable remote debugging.","type":"boolean","fallback":false}}},"_internal":{"description":"Internal properties for developer tools","type":"object","properties":{"pluginHistory":{"description":"List of plugins already run on the config","type":"object","properties":{},"additionalProperties":true}},"additionalProperties":true,"meta":{"autogenerated":true}}} \ No newline at end of file diff --git a/docs/scripts/schemas/v43.0.0/app-config-schema.js b/docs/scripts/schemas/v43.0.0/app-config-schema.js index 8b9be6eebfebc..3cae34cac2760 100644 --- a/docs/scripts/schemas/v43.0.0/app-config-schema.js +++ b/docs/scripts/schemas/v43.0.0/app-config-schema.js @@ -1 +1 @@ -export default {"name":{"description":"The name of your app as it appears both within Expo Go and on your home screen as a standalone app.","type":"string","meta":{"bareWorkflow":"To change the name of your app, edit the 'Display Name' field in Xcode and the `app_name` string in `android/app/src/main/res/values/strings.xml`"}},"description":{"description":"A short description of what your app is and why it is great.","type":"string"},"slug":{"description":"The friendly URL name for publishing. For example, `myAppName` will refer to the `expo.dev/@project-owner/myAppName` project.","type":"string","pattern":"^[a-zA-Z0-9_\\-]+$"},"owner":{"description":"The Expo account name of the team owner, only applicable if you are enrolled in the EAS Priority Plan. If not provided, defaults to the username of the current user.","type":"string","minLength":1},"currentFullName":{"description":"The auto generated Expo account name and slug used for display purposes. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value may change when a project is transferred between accounts or renamed.","type":"string","meta":{"autogenerated":true}},"originalFullName":{"description":"The auto generated Expo account name and slug used for services like Notifications and AuthSession proxy. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value will not change when a project is transferred between accounts or renamed.","type":"string","meta":{"autogenerated":true}},"privacy":{"description":"Defaults to `unlisted`. `unlisted` hides the project from search results. `hidden` restricts access to the project page to only the owner and other users that have been granted access. Valid values: `public`, `unlisted`, `hidden`.","enum":["public","unlisted","hidden"],"type":"string","fallback":"unlisted"},"sdkVersion":{"description":"The Expo sdkVersion to run the project on. This should line up with the version specified in your package.json.","type":"string","pattern":"^(\\d+\\.\\d+\\.\\d+)|(UNVERSIONED)$"},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest.\nSet this to `{\"policy\": \"nativeVersion\"}` to generate it automatically.","oneOf":[{"type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+()-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\",\"(\",\")\" or \"-\". Example: \"1.0.3a+\"."}},{"type":"object","properties":{"policy":{"type":"string","enum":["nativeVersion","sdkVersion"]}},"required":["policy"],"additionalProperties":false}]},"version":{"description":"Your app version. In addition to this field, you'll also use `ios.buildNumber` and `android.versionCode` — read more about how to version your app [here](https://docs.expo.dev/distribution/app-stores/#versioning-your-app). On iOS this corresponds to `CFBundleShortVersionString`, and on Android, this corresponds to `versionName`. The required format can be found [here](https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring).","type":"string","meta":{"bareWorkflow":"To change your app version, edit the 'Version' field in Xcode and the `versionName` string in `android/app/build.gradle`"}},"platforms":{"description":"Platforms that your project explicitly supports. If not specified, it defaults to `[\"ios\", \"android\"]`.","example":["ios","android","web"],"type":"array","uniqueItems":true,"items":{"type":"string","enum":["android","ios","web"]}},"githubUrl":{"description":"If you would like to share the source code of your app on Github, enter the URL for the repository here and it will be linked to from your Expo project page.","pattern":"^https://github\\.com/","example":"https://github.com/expo/expo","type":["string"]},"orientation":{"description":"Locks your app to a specific orientation with portrait or landscape. Defaults to no lock. Valid values: `default`, `portrait`, `landscape`","enum":["default","portrait","landscape"],"type":"string"},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"backgroundColor":{"description":"The background color for your app, behind any of your React views. This is also known as the root view background color.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`. Default is white: `'#ffffff'`"}},"primaryColor":{"description":"On Android, this will determine the color of your app in the multitasker. Currently this is not used on iOS, but it may be used for other purposes in the future.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon. We recommend that you use a 1024x1024 png file. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true,"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-`. Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each existing size."}},"notification":{"description":"Configuration for remote (push) notifications.","type":"object","properties":{"icon":{"description":"(Android only) Local path or remote URL to an image to use as the icon for push notifications. 96x96 png grayscale with transparency. We recommend following [Google's design guidelines](https://material.io/design/iconography/product-icons.html#design-principles). If not provided, defaults to your app icon.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"color":{"description":"(Android only) Tint color for the push notification image when it appears in the notification tray. Defaults to `#ffffff`","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"iosDisplayInForeground":{"description":"Whether or not to display notifications when the app is in the foreground on iOS. `_displayInForeground` option in the individual push notification message overrides this option. [Learn more.](https://docs.expo.dev/push-notifications/receiving-notifications/#foreground-notification-behavior) Defaults to `false`.","type":"boolean"},"androidMode":{"description":"Show each push notification individually (`default`) or collapse into one (`collapse`).","enum":["default","collapse"],"type":"string"},"androidCollapsedTitle":{"description":"If `androidMode` is set to `collapse`, this title is used for the collapsed notification message. For example, `'#{unread_notifications} new interactions'`.","type":"string"}},"additionalProperties":false},"appKey":{"description":"By default, Expo looks for the application registered with the AppRegistry as `main`. If you would like to change this, you can specify the name in this property.","type":"string"},"androidStatusBar":{"description":"Configuration for the status bar on Android. For more details please navigate to [Configuring StatusBar](https://docs.expo.dev/guides/configuring-statusbar/).","type":"object","properties":{"barStyle":{"description":"Configures the status bar icons to have a light or dark color. Valid values: `light-content`, `dark-content`. Defaults to `dark-content`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the status bar. Defaults to `#00000000` (transparent) for `dark-content` bar style and `#00000088` (semi-transparent black) for `light-content` bar style","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string `'#RRGGBB'`, for example, `'#000000'` for black. Or 8 character long hex color string `'#RRGGBBAA'`, for example, `'#00000088'` for semi-transparent black."}},"hidden":{"description":"Instructs the system whether the status bar should be visible or not. Defaults to `false`","type":"boolean"},"translucent":{"description":"Sets `android:windowTranslucentStatus` in `styles.xml`. When false, the system status bar pushes the content of your app down (similar to `position: relative`). When true, the status bar floats above the content in your app (similar to `position: absolute`). Defaults to `true` to match the iOS status bar behavior (which can only float above content).","type":"boolean"}},"additionalProperties":false},"androidNavigationBar":{"description":"Configuration for the bottom navigation bar on Android.","type":"object","properties":{"visible":{"description":"Determines how and when the navigation bar is shown. [Learn more](https://developer.android.com/training/system-ui/immersive). Valid values: `leanback`, `immersive`, `sticky-immersive` \n\n `leanback` results in the navigation bar being hidden until the first touch gesture is registered. \n\n `immersive` results in the navigation bar being hidden until the user swipes up from the edge where the navigation bar is hidden. \n\n `sticky-immersive` is identical to `'immersive'` except that the navigation bar will be semi-transparent and will be hidden again after a short period of time","type":"string","enum":["leanback","immersive","sticky-immersive"]},"barStyle":{"description":"Configure the navigation bar icons to have a light or dark color. Supported on Android Oreo and newer. Valid values: `'light-content'`, `'dark-content'`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the navigation bar.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"developmentClient":{"description":"Settings that apply specifically to running this app in a development client","type":"object","properties":{"silentLaunch":{"description":"If true, the app will launch in a development client with no additional dialogs or progress indicators, just like in a standalone app.","type":"boolean","fallback":false}},"additionalProperties":false},"scheme":{"description":"**Standalone Apps Only**. URL scheme to link into your app. For example, if we set this to `'demo'`, then demo:// URLs would open your app when tapped.","type":"string","pattern":"^[a-z][a-z0-9+.-]*$","meta":{"regexHuman":"String beginning with a **lowercase** letter followed by any combination of **lowercase** letters, digits, \"+\", \".\" or \"-\"","standaloneOnly":true,"bareWorkflow":"To change your app's scheme, replace all occurrences of the old scheme in `Info.plist` and `AndroidManifest.xml`"}},"entryPoint":{"description":"The relative path to your main JavaScript file.","type":"string"},"extra":{"description":"Any extra fields you want to pass to your experience. Values are accessible via `Expo.Constants.manifest.extra` ([Learn more](https://docs.expo.dev/versions/latest/sdk/constants/#constantsmanifest))","type":"object","properties":{},"additionalProperties":true},"packagerOpts":{"description":"@deprecated Use a `metro.config.js` file instead. [Learn more](https://docs.expo.dev/guides/customizing-metro/)","meta":{"deprecated":true,"autogenerated":true},"type":"object","properties":{},"additionalProperties":true},"updates":{"description":"Configuration for how and when the app should request OTA JavaScript updates","type":"object","properties":{"enabled":{"description":"If set to false, your standalone app will never download any code, and will only use code bundled locally on the device. In that case, all updates to your app must be submitted through app store review. Defaults to true. (Note: This will not work out of the box with ExpoKit projects)","type":"boolean"},"checkAutomatically":{"description":"By default, Expo will check for updates every time the app is loaded. Set this to `ON_ERROR_RECOVERY` to disable automatic checking unless recovering from an error. Must be one of `ON_LOAD` or `ON_ERROR_RECOVERY`","enum":["ON_ERROR_RECOVERY","ON_LOAD"],"type":"string"},"fallbackToCacheTimeout":{"description":"How long (in ms) to allow for fetching OTA updates before falling back to a cached version of the app. Defaults to 0. Must be between 0 and 300000 (5 minutes).","type":"number","minimum":0,"maximum":300000},"url":{"description":"URL from which expo-updates will fetch update manifests","type":"string"}},"additionalProperties":false},"locales":{"description":"Provide overrides by locale for System Dialog prompts like Permissions Boxes","type":"object","properties":{},"meta":{"bareWorkflow":"To add or change language and localization information in your iOS app, you need to use Xcode."},"additionalProperties":{"type":["string","object"]}},"facebookAppId":{"description":"Used for all Facebook libraries. Set up your Facebook App ID at https://developers.facebook.com.","type":"string","pattern":"^[0-9]+$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAutoInitEnabled":{"description":"Whether the Facebook SDK should be initialized automatically. The default in Expo (Client and in standalone apps) is `false`.","type":"boolean"},"facebookAutoLogAppEventsEnabled":{"description":"Whether the Facebook SDK log app events automatically. If you don't set this property, Facebook's default will be used. (Applicable only to standalone apps.) Note: The Facebook SDK must be initialized for app events to work. You may autoinitialize Facebook SDK by setting `facebookAutoInitEnabled` to `true`","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAdvertiserIDCollectionEnabled":{"description":"Whether the Facebook SDK should collect advertiser ID properties, like the Apple IDFA and Android Advertising ID, automatically. If you don't set this property, Facebook's default policy will be used. (Applicable only to standalone apps.)","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookDisplayName":{"description":"Used for native Facebook login.","type":"string","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookScheme":{"description":"Used for Facebook native login. Starts with 'fb' and followed by a string of digits, like 'fb1234567890'. You can find your scheme [here](https://developers.facebook.com/docs/facebook-login/ios)in the 'Configuring Your info.plist' section (only applicable to standalone apps and custom Expo Go apps).","type":"string","pattern":"^fb[0-9]+[A-Za-z]*$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"isDetached":{"description":"Is app detached","type":"boolean","meta":{"autogenerated":true}},"detach":{"description":"Extra fields needed by detached apps","type":"object","properties":{},"meta":{"autogenerated":true},"additionalProperties":true},"assetBundlePatterns":{"description":"An array of file glob strings which point to assets that will be bundled within your standalone app binary. Read more in the [Offline Support guide](https://docs.expo.dev/guides/offline-support/)","type":"array","items":{"type":"string"}},"plugins":{"description":"Config plugins for adding extra functionality to your project. [Learn more](https://docs.expo.dev/guides/config-plugins/).","meta":{"bareWorkflow":"Plugins that add modifications can only be used with [prebuilding](https://expo.fyi/prebuilding) and managed EAS Build"},"type":"array","items":{"anyOf":[{"type":["string"]},{"type":"array","items":[{"type":["string"]},{}],"additionalItems":false}]}},"splash":{"description":"Configuration for loading and splash screen for standalone apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"For Android, edit the `colorPrimary` item in `android/app/src/main/res/values/colors.xml`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-` (Android Studio can [generate the appropriate image files for you](https://developer.android.com/studio/write/image-asset-studio)). Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each required size."}},"jsEngine":{"description":"Specifies the JavaScript engine for apps. Supported only on EAS Build. Defaults to `jsc`. Valid values: `hermes`, `jsc`.","type":"string","fallback":"jsc","enum":["hermes","jsc"],"meta":{"bareWorkflow":"To change the JavaScript engine, update the `expo.jsEngine` value in `ios/Podfile.properties.json` or `android/gradle.properties`"}},"ios":{"description":"Configuration that is specific to the iOS platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"bundleIdentifier":{"description":"The bundle identifier for your iOS standalone app. You make it up, but it needs to be unique on the App Store. See [this StackOverflow question](http://stackoverflow.com/questions/11347470/what-does-bundle-identifier-mean-in-the-ios-project).","type":"string","pattern":"^[a-zA-Z0-9.-]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`","regexHuman":"iOS bundle identifier notation unique name for your app. For example, `host.exp.expo`, where `exp.host` is our domain and `expo` is our app name."}},"buildNumber":{"description":"Build number for your iOS standalone app. Corresponds to `CFBundleVersion` and must match Apple's [specified format](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102364). (Note: Transporter will pull the value for `Version Number` from `expo.version` and NOT from `expo.ios.buildNumber`.)","type":"string","pattern":"^[A-Za-z0-9\\.]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleVersion`"}},"backgroundColor":{"description":"The background color for your iOS app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on iOS. If specified, this overrides the top-level `icon` key. Use a 1024x1024 icon which follows Apple's interface guidelines for icons, including color profile and transparency. \n\n Expo will generate the other required sizes. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"merchantId":{"description":"@deprecated Merchant ID for use with Apple Pay in your standalone app.","type":"string","meta":{"deprecated":true}},"appStoreUrl":{"description":"URL to your app on the Apple App Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://(itunes|apps)\\.apple\\.com/.*?\\d+","example":"https://apps.apple.com/us/app/expo-client/id982107779","type":["string"]},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"usesNonExemptEncryption":{"description":"Sets `ITSAppUsesNonExemptEncryption` in the standalone ipa's Info.plist to the given boolean value.","type":"boolean"},"googleMapsApiKey":{"description":"[Google Maps iOS SDK](https://developers.google.com/maps/documentation/ios-sdk/start) key for your standalone app.","type":"string"},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Go and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`.](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"description":"[Google Sign-In iOS SDK](https://developers.google.com/identity/sign-in/ios/start-integrating) keys for your standalone app.","type":"object","properties":{"reservedClientId":{"description":"The reserved client ID URL scheme. Can be found in `GoogleService-Info.plist`.","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase.","type":"string"},"supportsTablet":{"description":"Whether your standalone iOS app supports tablet screen sizes. Defaults to `false`.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations~ipad`"}},"isTabletOnly":{"description":"If true, indicates that your standalone iOS app does not support handsets, and only supports tablets.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations`"}},"requireFullScreen":{"description":"If true, indicates that your standalone iOS app does not support Slide Over and Split View on iPad. Defaults to `false`","type":"boolean","meta":{"bareWorkflow":"Use Xcode to set `UIRequiresFullScreen`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"infoPlist":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native Info.plist. Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"entitlements":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native *.entitlements (plist). Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"associatedDomains":{"description":"An array that contains Associated Domains for the standalone app. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains).","type":"array","uniqueItems":true,"items":{"type":"string"},"meta":{"regexHuman":"Entries must follow the format `applinks:[:port number]`. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains).","bareWorkflow":"Build with EAS, or use Xcode to enable this capability manually. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains)."}},"usesIcloudStorage":{"description":"A boolean indicating if the app uses iCloud Storage for `DocumentPicker`. See `DocumentPicker` docs for details.","type":"boolean","meta":{"bareWorkflow":"Use Xcode, or ios.entitlements to configure this."}},"usesAppleSignIn":{"description":"A boolean indicating if the app uses Apple Sign-In. See `AppleAuthentication` docs for details.","type":"boolean","fallback":false},"accessesContactNotes":{"description":"A Boolean value that indicates whether the app may access the notes stored in contacts. You must [receive permission from Apple](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_contacts_notes) before you can submit your app for review with this capability.","type":"boolean","fallback":false},"splash":{"description":"Configuration for loading and splash screen for standalone iOS apps.","type":"object","properties":{"xib":{"description":"@deprecated Apple has deprecated `.xib` splash screens in favor of `.storyboard` files. Local path to a XIB file as the loading screen. It overrides other loading screen options. Note: This will only be used in the standalone app (i.e., after you build the app). It will not be used in the Expo Go.","type":"string","meta":{"deprecated":true,"asset":true,"contentTypePattern":"^text/xml$","contentTypeHuman":".xib interface builder document"}},"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"tabletImage":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}},"jsEngine":{"description":"Specifies the JavaScript engine for iOS apps. Supported only on EAS Build. Defaults to `jsc`. Valid values: `hermes`, `jsc`.","type":"string","fallback":"jsc","enum":["hermes","jsc"],"meta":{"bareWorkflow":"To change the JavaScript engine, update the `expo.jsEngine` value in `ios/Podfile.properties.json`"}},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest for the iOS platform. If provided, this will override the top level runtimeVersion key.\nSet this to `{\"policy\": \"nativeVersion\"}` to generate it automatically.","oneOf":[{"type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+()-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\",\"(\",\")\" or \"-\". Example: \"1.0.3a+\"."}},{"type":"object","properties":{"policy":{"type":"string","enum":["nativeVersion","sdkVersion"]}},"required":["policy"],"additionalProperties":false}]}},"additionalProperties":false},"android":{"description":"Configuration that is specific to the Android platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"package":{"description":"The package name for your Android standalone app. You make it up, but it needs to be unique on the Play Store. See [this StackOverflow question](http://stackoverflow.com/questions/6273892/android-package-name-convention).","type":"string","pattern":"^[a-zA-Z][a-zA-Z0-9\\_]*(\\.[a-zA-Z][a-zA-Z0-9\\_]*)+$","meta":{"regexHuman":"Reverse DNS notation unique name for your app. Valid Android Application ID. For example, `com.example.app`, where `com.example` is our domain and `app` is our app. The name may only contain lowercase and uppercase letters (a-z, A-Z), numbers (0-9) and underscores (_), separated by periods (.). Each component of the name should start with a lowercase letter.","bareWorkflow":"This is set in `android/app/build.gradle` as `applicationId` as well as in your `AndroidManifest.xml` file (multiple places)."}},"versionCode":{"description":"Version number required by Google Play. Increment by one for each release. Must be a positive integer. [Learn more](https://developer.android.com/studio/publish/versioning.html)","type":"integer","minimum":0,"maximum":2100000000,"meta":{"bareWorkflow":"This is set in `android/app/build.gradle` as `versionCode`"}},"backgroundColor":{"description":"The background color for your Android app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"This is set in `android/app/src/main/AndroidManifest.xml` under `android:windowBackground`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"useNextNotificationsApi":{"deprecated":true,"description":"@deprecated A Boolean value that indicates whether the app should use the new notifications API.","type":"boolean","fallback":false},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` key. We recommend that you use a 1024x1024 png file (transparency is recommended for the Google Play Store). This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"adaptiveIcon":{"description":"Settings for an Adaptive Launcher Icon on Android. [Learn more](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)","type":"object","properties":{"foregroundImage":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` and the `android.icon` keys. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive). This icon will appear on the home screen.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundImage":{"description":"Local path or remote URL to a background image for your app's Adaptive Icon on Android. If specified, this overrides the `backgroundColor` key. Must have the same dimensions as foregroundImage`, and has no effect if `foregroundImage` is not specified. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive).","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundColor":{"description":"Color to use as the background for your app's Adaptive Icon on Android. Defaults to white, `#FFFFFF`. Has no effect if `foregroundImage` is not specified.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"playStoreUrl":{"description":"URL to your app on the Google Play Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://play\\.google\\.com/","example":"https://play.google.com/store/apps/details?id=host.exp.exponent","type":["string"]},"permissions":{"description":"List of permissions used by the standalone app. \n\n To use ONLY the following minimum necessary permissions and none of the extras supported by Expo in a default managed app, set `permissions` to `[]`. The minimum necessary permissions do not require a Privacy Policy when uploading to Google Play Store and are: \n• receive data from Internet \n• view network connections \n• full network access \n• change your audio settings \n• prevent device from sleeping \n\n To use ALL permissions supported by Expo by default, do not specify the `permissions` key. \n\n To use the minimum necessary permissions ALONG with certain additional permissions, specify those extras in `permissions`, e.g.\n\n `[ \"CAMERA\", \"ACCESS_FINE_LOCATION\" ]`.\n\n You can specify the following permissions depending on what you need:\n\n- `ACCESS_COARSE_LOCATION`\n- `ACCESS_FINE_LOCATION`\n- `ACCESS_BACKGROUND_LOCATION`\n- `CAMERA`\n- `RECORD_AUDIO`\n- `READ_CONTACTS`\n- `WRITE_CONTACTS`\n- `READ_CALENDAR`\n- `WRITE_CALENDAR`\n- `READ_EXTERNAL_STORAGE`\n- `WRITE_EXTERNAL_STORAGE`\n- `USE_FINGERPRINT`\n- `USE_BIOMETRIC`\n- `WRITE_SETTINGS`\n- `VIBRATE`\n- `READ_PHONE_STATE`\n- `com.anddoes.launcher.permission.UPDATE_COUNT`\n- `com.android.launcher.permission.INSTALL_SHORTCUT`\n- `com.google.android.c2dm.permission.RECEIVE`\n- `com.google.android.gms.permission.ACTIVITY_RECOGNITION`\n- `com.google.android.providers.gsf.permission.READ_GSERVICES`\n- `com.htc.launcher.permission.READ_SETTINGS`\n- `com.htc.launcher.permission.UPDATE_SHORTCUT`\n- `com.majeur.launcher.permission.UPDATE_BADGE`\n- `com.sec.android.provider.badge.permission.READ`\n- `com.sec.android.provider.badge.permission.WRITE`\n- `com.sonyericsson.home.permission.BROADCAST_BADGE`\n","type":"array","meta":{"bareWorkflow":"To change the permissions your app requests, you'll need to edit `AndroidManifest.xml` manually. To prevent your app from requesting one of the permissions listed below, you'll need to explicitly add it to `AndroidManifest.xml` along with a `tools:node=\"remove\"` tag."},"items":{"type":"string"}},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase. Including this key automatically enables FCM in your standalone app.","type":"string","meta":{"bareWorkflow":"Add or edit the file directly at `android/app/google-services.json`"}},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"googleMaps":{"description":"[Google Maps Android SDK](https://developers.google.com/maps/documentation/android-api/signup) configuration for your standalone app.","type":"object","properties":{"apiKey":{"description":"Your Google Maps Android SDK API key","type":"string"}},"additionalProperties":false},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Client and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"deprecated":true,"meta":{"deprecated":true},"description":"@deprecated Use `googleServicesFile` instead. [Google Sign-In Android SDK](https://developers.google.com/identity/sign-in/android/start-integrating) keys for your standalone app.","type":"object","properties":{"apiKey":{"description":"The Android API key. Can be found in the credentials section of the developer console or in `google-services.json`.","type":"string"},"certificateHash":{"description":"The SHA-1 hash of the signing certificate used to build the APK without any separator (`:`). Can be found in `google-services.json`. https://developers.google.com/android/guides/client-auth","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"splash":{"description":"Configuration for loading and splash screen for managed and standalone Android apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover`, `contain` or `native`, defaults to `contain`.","enum":["cover","contain","native"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"mdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Natural sized image (baseline)`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"hdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 1.5x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 2x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 3x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 4x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}},"intentFilters":{"description":"Configuration for setting an array of custom intent filters in Android manifest. [Learn more](https://developer.android.com/guide/components/intents-filters)","example":[{"autoVerify":true,"action":"VIEW","data":{"scheme":"https","host":"*.example.com"},"category":["BROWSABLE","DEFAULT"]}],"exampleString":"\n [{ \n \"autoVerify\": true, \n \"action\": \"VIEW\", \n \"data\": { \n \"scheme\": \"https\", \n \"host\": \"*.example.com\" \n }, \n \"category\": [\"BROWSABLE\", \"DEFAULT\"] \n }]","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"autoVerify":{"description":"You may also use an intent filter to set your app as the default handler for links (without showing the user a dialog with options). To do so use `true` and then configure your server to serve a JSON file verifying that you own the domain. [Learn more](developer.android.com/training/app-links)","type":"boolean"},"action":{"type":"string"},"data":{"anyOf":[{"type":"object","properties":{"scheme":{"description":"Scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"Hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"Port, e.g. `3000`","type":"string"},"path":{"description":"Exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":"Pattern for paths that should be matched by the filter, e.g. `.*`. Must begin with `/`","type":"string"},"pathPrefix":{"description":"Prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false},{"type":["array"],"items":{"type":"object","properties":{"scheme":{"description":"Scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"Hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"Port, e.g. `3000`","type":"string"},"path":{"description":"Exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":"Pattern for paths that should be matched by the filter, e.g. `.*`. Must begin with `/`","type":"string"},"pathPrefix":{"description":"Prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false}}]},"category":{"anyOf":[{"type":["string"]},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false,"required":["action"]},"meta":{"bareWorkflow":"This is set in `AndroidManifest.xml` directly. [Learn more.](developer.android.com/guide/components/intents-filters)"}},"allowBackup":{"description":"Allows your user's app data to be automatically backed up to their Google Drive. If this is set to false, no backup or restore of the application will ever be performed (this is useful if your app deals with sensitive information). Defaults to the Android default, which is `true`.","fallback":true,"type":"boolean"},"softwareKeyboardLayoutMode":{"description":"Determines how the software keyboard will impact the layout of your application. This maps to the `android:windowSoftInputMode` property. Defaults to `resize`. Valid values: `resize`, `pan`.","enum":["resize","pan"],"type":"string","fallback":"resize"},"jsEngine":{"description":"Specifies the JavaScript engine for Android apps. Supported only on EAS Build and in Expo Go. Defaults to `jsc`. Valid values: `hermes`, `jsc`.","type":"string","fallback":"jsc","enum":["hermes","jsc"],"meta":{"bareWorkflow":"To change the JavaScript engine, update the `expo.jsEngine` value in `android/gradle.properties`"}},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest for the Android platform. If provided, this will override the top level runtimeVersion key.\nSet this to `{\"policy\": \"nativeVersion\"}` to generate it automatically.","oneOf":[{"type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+()-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\",\"(\",\")\" or \"-\". Example: \"1.0.3a+\"."}},{"type":"object","properties":{"policy":{"type":"string","enum":["nativeVersion","sdkVersion"]}},"required":["policy"],"additionalProperties":false}]}},"additionalProperties":false},"web":{"description":"Configuration that is specific to the web platform.","type":"object","additionalProperties":true,"properties":{"favicon":{"description":"Relative path of an image to use for your app's favicon.","type":"string"},"name":{"description":"Defines the title of the document, defaults to the outer level name","type":"string","meta":{"pwa":"name"}},"shortName":{"description":"A short version of the app's name, 12 characters or fewer. Used in app launcher and new tab pages. Maps to `short_name` in the PWA manifest.json. Defaults to the `name` property.","type":"string","meta":{"pwa":"short_name","regexHuman":"Maximum 12 characters long"}},"lang":{"description":"Specifies the primary language for the values in the name and short_name members. This value is a string containing a single language tag.","type":"string","fallback":"en","meta":{"pwa":"lang"}},"scope":{"description":"Defines the navigation scope of this website's context. This restricts what web pages can be viewed while the manifest is applied. If the user navigates outside the scope, it returns to a normal web page inside a browser tab/window. If the scope is a relative URL, the base URL will be the URL of the manifest.","type":"string","meta":{"pwa":"scope"}},"themeColor":{"description":"Defines the color of the Android tool bar, and may be reflected in the app's preview in task switchers.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"theme_color","html":"theme-color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"description":{"description":"Provides a general description of what the pinned website does.","type":"string","meta":{"html":"description","pwa":"description"}},"dir":{"description":"Specifies the primary text direction for the name, short_name, and description members. Together with the lang member, it helps the correct display of right-to-left languages.","enum":["auto","ltr","rtl"],"type":"string","meta":{"pwa":"dir"}},"display":{"description":"Defines the developers’ preferred display mode for the website.","enum":["fullscreen","standalone","minimal-ui","browser"],"type":"string","meta":{"pwa":"display"}},"startUrl":{"description":"The URL that loads when a user launches the application (e.g., when added to home screen), typically the index. Note: This has to be a relative URL, relative to the manifest URL.","type":"string","meta":{"pwa":"start_url"}},"orientation":{"description":"Defines the default orientation for all the website's top level browsing contexts.","enum":["any","natural","landscape","landscape-primary","landscape-secondary","portrait","portrait-primary","portrait-secondary"],"type":"string","meta":{"pwa":"orientation"}},"backgroundColor":{"description":"Defines the expected “background color” for the website. This value repeats what is already available in the site’s CSS, but can be used by browsers to draw the background color of a shortcut when the manifest is available before the stylesheet has loaded. This creates a smooth transition between launching the web application and loading the site's content.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"background_color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"barStyle":{"description":"If content is set to default, the status bar appears normal. If set to black, the status bar has a black background. If set to black-translucent, the status bar is black and translucent. If set to default or black, the web content is displayed below the status bar. If set to black-translucent, the web content is displayed on the entire screen, partially obscured by the status bar.","enum":["default","black","black-translucent"],"type":"string","fallback":"black-translucent","meta":{"html":"apple-mobile-web-app-status-bar-style","pwa":"name"}},"preferRelatedApplications":{"description":"Hints for the user agent to indicate to the user that the specified native applications (defined in expo.ios and expo.android) are recommended over the website.","type":"boolean","fallback":true,"meta":{"pwa":"prefer_related_applications"}},"dangerous":{"description":"Experimental features. These will break without deprecation notice.","type":"object","properties":{},"additionalProperties":true},"splash":{"description":"Configuration for PWA splash screens.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"Use [expo-splash-screen](https://github.com/expo/expo/tree/master/packages/expo-splash-screen#expo-splash-screen)"}},"config":{"description":"Firebase web configuration. Used by the expo-firebase packages on both web and native. [Learn more](https://firebase.google.com/docs/reference/js/firebase.html#initializeapp)","type":"object","properties":{"firebase":{"type":"object","properties":{"apiKey":{"type":"string"},"authDomain":{"type":"string"},"databaseURL":{"type":"string"},"projectId":{"type":"string"},"storageBucket":{"type":"string"},"messagingSenderId":{"type":"string"},"appId":{"type":"string"},"measurementId":{"type":"string"}}}}}}},"hooks":{"description":"Configuration for scripts to run to hook into the publish process","type":"object","additionalProperties":false,"properties":{"postPublish":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}},"postExport":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}}}},"experiments":{"description":"Enable experimental features that may be unstable, unsupported, or removed without deprecation notices.","type":"object","additionalProperties":false,"properties":{"turboModules":{"description":"Enables Turbo Modules, which are a type of native modules that use a different way of communicating between JS and platform code. When installing a Turbo Module you will need to enable this experimental option (the library still needs to be a part of Expo SDK already, like react-native-reanimated v2). Turbo Modules do not support remote debugging and enabling this option will disable remote debugging.","type":"boolean","fallback":false}}},"_internal":{"description":"Internal properties for developer tools","type":"object","properties":{"pluginHistory":{"description":"List of plugins already run on the config","type":"object","properties":{},"additionalProperties":true}},"additionalProperties":true,"meta":{"autogenerated":true}}} \ No newline at end of file +export default {"name":{"description":"The name of your app as it appears both within Expo Go and on your home screen as a standalone app.","type":"string","meta":{"bareWorkflow":"To change the name of your app, edit the 'Display Name' field in Xcode and the `app_name` string in `android/app/src/main/res/values/strings.xml`"}},"description":{"description":"A short description of what your app is and why it is great.","type":"string"},"slug":{"description":"The friendly URL name for publishing. For example, `myAppName` will refer to the `expo.dev/@project-owner/myAppName` project.","type":"string","pattern":"^[a-zA-Z0-9_\\-]+$"},"owner":{"description":"The Expo account name of the team owner, only applicable if you are enrolled in the EAS Priority Plan. If not provided, defaults to the username of the current user.","type":"string","minLength":1},"currentFullName":{"description":"The auto generated Expo account name and slug used for display purposes. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value may change when a project is transferred between accounts or renamed.","type":"string","meta":{"autogenerated":true}},"originalFullName":{"description":"The auto generated Expo account name and slug used for services like Notifications and AuthSession proxy. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value will not change when a project is transferred between accounts or renamed.","type":"string","meta":{"autogenerated":true}},"privacy":{"description":"Defaults to `unlisted`. `unlisted` hides the project from search results. `hidden` restricts access to the project page to only the owner and other users that have been granted access. Valid values: `public`, `unlisted`, `hidden`.","enum":["public","unlisted","hidden"],"type":"string","fallback":"unlisted"},"sdkVersion":{"description":"The Expo sdkVersion to run the project on. This should line up with the version specified in your package.json.","type":"string","pattern":"^(\\d+\\.\\d+\\.\\d+)|(UNVERSIONED)$"},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest.\nSet this to `{\"policy\": \"nativeVersion\"}` to generate it automatically.","oneOf":[{"type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+()-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\",\"(\",\")\" or \"-\". Example: \"1.0.3a+\"."}},{"type":"object","properties":{"policy":{"type":"string","enum":["nativeVersion","sdkVersion"]}},"required":["policy"],"additionalProperties":false}]},"version":{"description":"Your app version. In addition to this field, you'll also use `ios.buildNumber` and `android.versionCode` — read more about how to version your app [here](https://docs.expo.dev/distribution/app-stores/#versioning-your-app). On iOS this corresponds to `CFBundleShortVersionString`, and on Android, this corresponds to `versionName`. The required format can be found [here](https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring).","type":"string","meta":{"bareWorkflow":"To change your app version, edit the 'Version' field in Xcode and the `versionName` string in `android/app/build.gradle`"}},"platforms":{"description":"Platforms that your project explicitly supports. If not specified, it defaults to `[\"ios\", \"android\"]`.","example":["ios","android","web"],"type":"array","uniqueItems":true,"items":{"type":"string","enum":["android","ios","web"]}},"githubUrl":{"description":"If you would like to share the source code of your app on Github, enter the URL for the repository here and it will be linked to from your Expo project page.","pattern":"^https://github\\.com/","example":"https://github.com/expo/expo","type":["string"]},"orientation":{"description":"Locks your app to a specific orientation with portrait or landscape. Defaults to no lock. Valid values: `default`, `portrait`, `landscape`","enum":["default","portrait","landscape"],"type":"string"},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"backgroundColor":{"description":"The background color for your app, behind any of your React views. This is also known as the root view background color.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`. Default is white: `'#ffffff'`"}},"primaryColor":{"description":"On Android, this will determine the color of your app in the multitasker. Currently this is not used on iOS, but it may be used for other purposes in the future.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon. We recommend that you use a 1024x1024 png file. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true,"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-`. Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each existing size."}},"notification":{"description":"Configuration for remote (push) notifications.","type":"object","properties":{"icon":{"description":"(Android only) Local path or remote URL to an image to use as the icon for push notifications. 96x96 png grayscale with transparency. We recommend following [Google's design guidelines](https://material.io/design/iconography/product-icons.html#design-principles). If not provided, defaults to your app icon.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"color":{"description":"(Android only) Tint color for the push notification image when it appears in the notification tray. Defaults to `#ffffff`","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"iosDisplayInForeground":{"description":"Whether or not to display notifications when the app is in the foreground on iOS. `_displayInForeground` option in the individual push notification message overrides this option. [Learn more.](https://docs.expo.dev/push-notifications/receiving-notifications/#foreground-notification-behavior) Defaults to `false`.","type":"boolean"},"androidMode":{"description":"Show each push notification individually (`default`) or collapse into one (`collapse`).","enum":["default","collapse"],"type":"string"},"androidCollapsedTitle":{"description":"If `androidMode` is set to `collapse`, this title is used for the collapsed notification message. For example, `'#{unread_notifications} new interactions'`.","type":"string"}},"additionalProperties":false},"appKey":{"description":"By default, Expo looks for the application registered with the AppRegistry as `main`. If you would like to change this, you can specify the name in this property.","type":"string"},"androidStatusBar":{"description":"Configuration for the status bar on Android. For more details please navigate to [Configuring StatusBar](https://docs.expo.dev/guides/configuring-statusbar/).","type":"object","properties":{"barStyle":{"description":"Configures the status bar icons to have a light or dark color. Valid values: `light-content`, `dark-content`. Defaults to `dark-content`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the status bar. Defaults to `#00000000` (transparent) for `dark-content` bar style and `#00000088` (semi-transparent black) for `light-content` bar style","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string `'#RRGGBB'`, for example, `'#000000'` for black. Or 8 character long hex color string `'#RRGGBBAA'`, for example, `'#00000088'` for semi-transparent black."}},"hidden":{"description":"Instructs the system whether the status bar should be visible or not. Defaults to `false`","type":"boolean"},"translucent":{"description":"Sets `android:windowTranslucentStatus` in `styles.xml`. When false, the system status bar pushes the content of your app down (similar to `position: relative`). When true, the status bar floats above the content in your app (similar to `position: absolute`). Defaults to `true` to match the iOS status bar behavior (which can only float above content).","type":"boolean"}},"additionalProperties":false},"androidNavigationBar":{"description":"Configuration for the bottom navigation bar on Android.","type":"object","properties":{"visible":{"description":"Determines how and when the navigation bar is shown. [Learn more](https://developer.android.com/training/system-ui/immersive). Valid values: `leanback`, `immersive`, `sticky-immersive` \n\n `leanback` results in the navigation bar being hidden until the first touch gesture is registered. \n\n `immersive` results in the navigation bar being hidden until the user swipes up from the edge where the navigation bar is hidden. \n\n `sticky-immersive` is identical to `'immersive'` except that the navigation bar will be semi-transparent and will be hidden again after a short period of time","type":"string","enum":["leanback","immersive","sticky-immersive"]},"barStyle":{"description":"Configure the navigation bar icons to have a light or dark color. Supported on Android Oreo and newer. Valid values: `'light-content'`, `'dark-content'`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the navigation bar.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"developmentClient":{"description":"Settings that apply specifically to running this app in a development client","type":"object","properties":{"silentLaunch":{"description":"If true, the app will launch in a development client with no additional dialogs or progress indicators, just like in a standalone app.","type":"boolean","fallback":false}},"additionalProperties":false},"scheme":{"description":"**Standalone Apps Only**. URL scheme to link into your app. For example, if we set this to `'demo'`, then demo:// URLs would open your app when tapped.","type":"string","pattern":"^[a-z][a-z0-9+.-]*$","meta":{"regexHuman":"String beginning with a **lowercase** letter followed by any combination of **lowercase** letters, digits, \"+\", \".\" or \"-\"","standaloneOnly":true,"bareWorkflow":"To change your app's scheme, replace all occurrences of the old scheme in `Info.plist` and `AndroidManifest.xml`"}},"entryPoint":{"description":"The relative path to your main JavaScript file.","type":"string"},"extra":{"description":"Any extra fields you want to pass to your experience. Values are accessible via `Expo.Constants.manifest.extra` ([Learn more](https://docs.expo.dev/versions/latest/sdk/constants/#constantsmanifest))","type":"object","properties":{},"additionalProperties":true},"packagerOpts":{"description":"@deprecated Use a `metro.config.js` file instead. [Learn more](https://docs.expo.dev/guides/customizing-metro/)","meta":{"deprecated":true,"autogenerated":true},"type":"object","properties":{},"additionalProperties":true},"updates":{"description":"Configuration for how and when the app should request OTA JavaScript updates","type":"object","properties":{"enabled":{"description":"If set to false, your standalone app will never download any code, and will only use code bundled locally on the device. In that case, all updates to your app must be submitted through app store review. Defaults to true. (Note: This will not work out of the box with ExpoKit projects)","type":"boolean"},"checkAutomatically":{"description":"By default, Expo will check for updates every time the app is loaded. Set this to `ON_ERROR_RECOVERY` to disable automatic checking unless recovering from an error. Must be one of `ON_LOAD` or `ON_ERROR_RECOVERY`","enum":["ON_ERROR_RECOVERY","ON_LOAD"],"type":"string"},"fallbackToCacheTimeout":{"description":"How long (in ms) to allow for fetching OTA updates before falling back to a cached version of the app. Defaults to 0. Must be between 0 and 300000 (5 minutes).","type":"number","minimum":0,"maximum":300000},"url":{"description":"URL from which expo-updates will fetch update manifests","type":"string"}},"additionalProperties":false},"locales":{"description":"Provide overrides by locale for System Dialog prompts like Permissions Boxes","type":"object","properties":{},"meta":{"bareWorkflow":"To add or change language and localization information in your iOS app, you need to use Xcode."},"additionalProperties":{"type":["string","object"]}},"facebookAppId":{"description":"Used for all Facebook libraries. Set up your Facebook App ID at https://developers.facebook.com.","type":"string","pattern":"^[0-9]+$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAutoInitEnabled":{"description":"Whether the Facebook SDK should be initialized automatically. The default in Expo (Client and in standalone apps) is `false`.","type":"boolean"},"facebookAutoLogAppEventsEnabled":{"description":"Whether the Facebook SDK log app events automatically. If you don't set this property, Facebook's default will be used. (Applicable only to standalone apps.) Note: The Facebook SDK must be initialized for app events to work. You may autoinitialize Facebook SDK by setting `facebookAutoInitEnabled` to `true`","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAdvertiserIDCollectionEnabled":{"description":"Whether the Facebook SDK should collect advertiser ID properties, like the Apple IDFA and Android Advertising ID, automatically. If you don't set this property, Facebook's default policy will be used. (Applicable only to standalone apps.)","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookDisplayName":{"description":"Used for native Facebook login.","type":"string","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookScheme":{"description":"Used for Facebook native login. Starts with 'fb' and followed by a string of digits, like 'fb1234567890'. You can find your scheme [here](https://developers.facebook.com/docs/facebook-login/ios)in the 'Configuring Your info.plist' section (only applicable to standalone apps and custom Expo Go apps).","type":"string","pattern":"^fb[0-9]+[A-Za-z]*$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"isDetached":{"description":"Is app detached","type":"boolean","meta":{"autogenerated":true}},"detach":{"description":"Extra fields needed by detached apps","type":"object","properties":{},"meta":{"autogenerated":true},"additionalProperties":true},"assetBundlePatterns":{"description":"An array of file glob strings which point to assets that will be bundled within your standalone app binary. Read more in the [Offline Support guide](https://docs.expo.dev/guides/offline-support/)","type":"array","items":{"type":"string"}},"plugins":{"description":"Config plugins for adding extra functionality to your project. [Learn more](https://docs.expo.dev/guides/config-plugins/).","meta":{"bareWorkflow":"Plugins that add modifications can only be used with [prebuilding](https://expo.fyi/prebuilding) and managed EAS Build"},"type":"array","items":{"anyOf":[{"type":["string"]},{"type":"array","items":[{"type":["string"]},{}],"additionalItems":false}]}},"splash":{"description":"Configuration for loading and splash screen for standalone apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"For Android, edit the `colorPrimary` item in `android/app/src/main/res/values/colors.xml`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-` (Android Studio can [generate the appropriate image files for you](https://developer.android.com/studio/write/image-asset-studio)). Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each required size."}},"jsEngine":{"description":"Specifies the JavaScript engine for apps. Supported only on EAS Build. Defaults to `jsc`. Valid values: `hermes`, `jsc`.","type":"string","fallback":"jsc","enum":["hermes","jsc"],"meta":{"bareWorkflow":"To change the JavaScript engine, update the `expo.jsEngine` value in `ios/Podfile.properties.json` or `android/gradle.properties`"}},"ios":{"description":"Configuration that is specific to the iOS platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"bundleIdentifier":{"description":"The bundle identifier for your iOS standalone app. You make it up, but it needs to be unique on the App Store. See [this StackOverflow question](http://stackoverflow.com/questions/11347470/what-does-bundle-identifier-mean-in-the-ios-project).","type":"string","pattern":"^[a-zA-Z0-9.-]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`","regexHuman":"iOS bundle identifier notation unique name for your app. For example, `host.exp.expo`, where `exp.host` is our domain and `expo` is our app name."}},"buildNumber":{"description":"Build number for your iOS standalone app. Corresponds to `CFBundleVersion` and must match Apple's [specified format](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102364). (Note: Transporter will pull the value for `Version Number` from `expo.version` and NOT from `expo.ios.buildNumber`.)","type":"string","pattern":"^[A-Za-z0-9\\.]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleVersion`"}},"backgroundColor":{"description":"The background color for your iOS app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on iOS. If specified, this overrides the top-level `icon` key. Use a 1024x1024 icon which follows Apple's interface guidelines for icons, including color profile and transparency. \n\n Expo will generate the other required sizes. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"merchantId":{"description":"@deprecated Merchant ID for use with Apple Pay in your standalone app.","type":"string","meta":{"deprecated":true}},"appStoreUrl":{"description":"URL to your app on the Apple App Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://(itunes|apps)\\.apple\\.com/.*?\\d+","example":"https://apps.apple.com/us/app/expo-client/id982107779","type":["string"]},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"usesNonExemptEncryption":{"description":"Sets `ITSAppUsesNonExemptEncryption` in the standalone ipa's Info.plist to the given boolean value.","type":"boolean"},"googleMapsApiKey":{"description":"[Google Maps iOS SDK](https://developers.google.com/maps/documentation/ios-sdk/start) key for your standalone app.","type":"string"},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Go and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`.](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"description":"[Google Sign-In iOS SDK](https://developers.google.com/identity/sign-in/ios/start-integrating) keys for your standalone app.","type":"object","properties":{"reservedClientId":{"description":"The reserved client ID URL scheme. Can be found in `GoogleService-Info.plist`.","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase.","type":"string"},"supportsTablet":{"description":"Whether your standalone iOS app supports tablet screen sizes. Defaults to `false`.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations~ipad`"}},"isTabletOnly":{"description":"If true, indicates that your standalone iOS app does not support handsets, and only supports tablets.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations`"}},"requireFullScreen":{"description":"If true, indicates that your standalone iOS app does not support Slide Over and Split View on iPad. Defaults to `false`","type":"boolean","meta":{"bareWorkflow":"Use Xcode to set `UIRequiresFullScreen`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"infoPlist":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native Info.plist. Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"entitlements":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native *.entitlements (plist). Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"associatedDomains":{"description":"An array that contains Associated Domains for the standalone app. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains).","type":"array","uniqueItems":true,"items":{"type":"string"},"meta":{"regexHuman":"Entries must follow the format `applinks:[:port number]`. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains).","bareWorkflow":"Build with EAS, or use Xcode to enable this capability manually. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains)."}},"usesIcloudStorage":{"description":"A boolean indicating if the app uses iCloud Storage for `DocumentPicker`. See `DocumentPicker` docs for details.","type":"boolean","meta":{"bareWorkflow":"Use Xcode, or ios.entitlements to configure this."}},"usesAppleSignIn":{"description":"A boolean indicating if the app uses Apple Sign-In. See `AppleAuthentication` docs for details.","type":"boolean","fallback":false},"accessesContactNotes":{"description":"A Boolean value that indicates whether the app may access the notes stored in contacts. You must [receive permission from Apple](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_contacts_notes) before you can submit your app for review with this capability.","type":"boolean","fallback":false},"splash":{"description":"Configuration for loading and splash screen for standalone iOS apps.","type":"object","properties":{"xib":{"description":"@deprecated Apple has deprecated `.xib` splash screens in favor of `.storyboard` files. Local path to a XIB file as the loading screen. It overrides other loading screen options. Note: This will only be used in the standalone app (i.e., after you build the app). It will not be used in the Expo Go.","type":"string","meta":{"deprecated":true,"asset":true,"contentTypePattern":"^text/xml$","contentTypeHuman":".xib interface builder document"}},"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"tabletImage":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}},"jsEngine":{"description":"Specifies the JavaScript engine for iOS apps. Supported only on EAS Build. Defaults to `jsc`. Valid values: `hermes`, `jsc`.","type":"string","fallback":"jsc","enum":["hermes","jsc"],"meta":{"bareWorkflow":"To change the JavaScript engine, update the `expo.jsEngine` value in `ios/Podfile.properties.json`"}},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest for the iOS platform. If provided, this will override the top level runtimeVersion key.\nSet this to `{\"policy\": \"nativeVersion\"}` to generate it automatically.","oneOf":[{"type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+()-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\",\"(\",\")\" or \"-\". Example: \"1.0.3a+\"."}},{"type":"object","properties":{"policy":{"type":"string","enum":["nativeVersion","sdkVersion"]}},"required":["policy"],"additionalProperties":false}]}},"additionalProperties":false},"android":{"description":"Configuration that is specific to the Android platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"package":{"description":"The package name for your Android standalone app. You make it up, but it needs to be unique on the Play Store. See [this StackOverflow question](http://stackoverflow.com/questions/6273892/android-package-name-convention).","type":"string","pattern":"^[a-zA-Z][a-zA-Z0-9\\_]*(\\.[a-zA-Z][a-zA-Z0-9\\_]*)+$","meta":{"regexHuman":"Reverse DNS notation unique name for your app. Valid Android Application ID. For example, `com.example.app`, where `com.example` is our domain and `app` is our app. The name may only contain lowercase and uppercase letters (a-z, A-Z), numbers (0-9) and underscores (_), separated by periods (.). Each component of the name should start with a lowercase letter.","bareWorkflow":"This is set in `android/app/build.gradle` as `applicationId` as well as in your `AndroidManifest.xml` file (multiple places)."}},"versionCode":{"description":"Version number required by Google Play. Increment by one for each release. Must be a positive integer. [Learn more](https://developer.android.com/studio/publish/versioning.html)","type":"integer","minimum":0,"maximum":2100000000,"meta":{"bareWorkflow":"This is set in `android/app/build.gradle` as `versionCode`"}},"backgroundColor":{"description":"The background color for your Android app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"This is set in `android/app/src/main/AndroidManifest.xml` under `android:windowBackground`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"useNextNotificationsApi":{"deprecated":true,"description":"@deprecated A Boolean value that indicates whether the app should use the new notifications API.","type":"boolean","fallback":false},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` key. We recommend that you use a 1024x1024 png file (transparency is recommended for the Google Play Store). This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"adaptiveIcon":{"description":"Settings for an Adaptive Launcher Icon on Android. [Learn more](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)","type":"object","properties":{"foregroundImage":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` and the `android.icon` keys. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive). This icon will appear on the home screen.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundImage":{"description":"Local path or remote URL to a background image for your app's Adaptive Icon on Android. If specified, this overrides the `backgroundColor` key. Must have the same dimensions as foregroundImage`, and has no effect if `foregroundImage` is not specified. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive).","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundColor":{"description":"Color to use as the background for your app's Adaptive Icon on Android. Defaults to white, `#FFFFFF`. Has no effect if `foregroundImage` is not specified.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"playStoreUrl":{"description":"URL to your app on the Google Play Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://play\\.google\\.com/","example":"https://play.google.com/store/apps/details?id=host.exp.exponent","type":["string"]},"permissions":{"description":"List of permissions used by the standalone app. \n\n To use ONLY the following minimum necessary permissions and none of the extras supported by Expo in a default managed app, set `permissions` to `[]`. The minimum necessary permissions do not require a Privacy Policy when uploading to Google Play Store and are: \n• receive data from Internet \n• view network connections \n• full network access \n• change your audio settings \n• prevent device from sleeping \n\n To use ALL permissions supported by Expo by default, do not specify the `permissions` key. \n\n To use the minimum necessary permissions ALONG with certain additional permissions, specify those extras in `permissions`, e.g.\n\n `[ \"CAMERA\", \"ACCESS_FINE_LOCATION\" ]`.\n\n You can specify the following permissions depending on what you need:\n\n- `ACCESS_COARSE_LOCATION`\n- `ACCESS_FINE_LOCATION`\n- `ACCESS_BACKGROUND_LOCATION`\n- `CAMERA`\n- `RECORD_AUDIO`\n- `READ_CONTACTS`\n- `WRITE_CONTACTS`\n- `READ_CALENDAR`\n- `WRITE_CALENDAR`\n- `READ_EXTERNAL_STORAGE`\n- `WRITE_EXTERNAL_STORAGE`\n- `USE_FINGERPRINT`\n- `USE_BIOMETRIC`\n- `WRITE_SETTINGS`\n- `VIBRATE`\n- `READ_PHONE_STATE`\n- `com.anddoes.launcher.permission.UPDATE_COUNT`\n- `com.android.launcher.permission.INSTALL_SHORTCUT`\n- `com.google.android.c2dm.permission.RECEIVE`\n- `com.google.android.gms.permission.ACTIVITY_RECOGNITION`\n- `com.google.android.providers.gsf.permission.READ_GSERVICES`\n- `com.htc.launcher.permission.READ_SETTINGS`\n- `com.htc.launcher.permission.UPDATE_SHORTCUT`\n- `com.majeur.launcher.permission.UPDATE_BADGE`\n- `com.sec.android.provider.badge.permission.READ`\n- `com.sec.android.provider.badge.permission.WRITE`\n- `com.sonyericsson.home.permission.BROADCAST_BADGE`\n","type":"array","meta":{"bareWorkflow":"To change the permissions your app requests, you'll need to edit `AndroidManifest.xml` manually. To prevent your app from requesting one of the permissions listed below, you'll need to explicitly add it to `AndroidManifest.xml` along with a `tools:node=\"remove\"` tag."},"items":{"type":"string"}},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase. Including this key automatically enables FCM in your standalone app.","type":"string","meta":{"bareWorkflow":"Add or edit the file directly at `android/app/google-services.json`"}},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"googleMaps":{"description":"[Google Maps Android SDK](https://developers.google.com/maps/documentation/android-api/signup) configuration for your standalone app.","type":"object","properties":{"apiKey":{"description":"Your Google Maps Android SDK API key","type":"string"}},"additionalProperties":false},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Client and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"deprecated":true,"meta":{"deprecated":true},"description":"@deprecated Use `googleServicesFile` instead. [Google Sign-In Android SDK](https://developers.google.com/identity/sign-in/android/start-integrating) keys for your standalone app.","type":"object","properties":{"apiKey":{"description":"The Android API key. Can be found in the credentials section of the developer console or in `google-services.json`.","type":"string"},"certificateHash":{"description":"The SHA-1 hash of the signing certificate used to build the APK without any separator (`:`). Can be found in `google-services.json`. https://developers.google.com/android/guides/client-auth","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"splash":{"description":"Configuration for loading and splash screen for managed and standalone Android apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover`, `contain` or `native`, defaults to `contain`.","enum":["cover","contain","native"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"mdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Natural sized image (baseline)`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"hdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 1.5x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 2x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 3x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 4x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}},"intentFilters":{"description":"Configuration for setting an array of custom intent filters in Android manifest. [Learn more](https://developer.android.com/guide/components/intents-filters)","example":[{"autoVerify":true,"action":"VIEW","data":{"scheme":"https","host":"*.example.com"},"category":["BROWSABLE","DEFAULT"]}],"exampleString":"\n [{ \n \"autoVerify\": true, \n \"action\": \"VIEW\", \n \"data\": { \n \"scheme\": \"https\", \n \"host\": \"*.example.com\" \n }, \n \"category\": [\"BROWSABLE\", \"DEFAULT\"] \n }]","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"autoVerify":{"description":"You may also use an intent filter to set your app as the default handler for links (without showing the user a dialog with options). To do so use `true` and then configure your server to serve a JSON file verifying that you own the domain. [Learn more](developer.android.com/training/app-links)","type":"boolean"},"action":{"type":"string"},"data":{"anyOf":[{"type":"object","properties":{"scheme":{"description":"Scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"Hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"Port, e.g. `3000`","type":"string"},"path":{"description":"Exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":"Pattern for paths that should be matched by the filter, e.g. `.*`. Must begin with `/`","type":"string"},"pathPrefix":{"description":"Prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false},{"type":["array"],"items":{"type":"object","properties":{"scheme":{"description":"Scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"Hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"Port, e.g. `3000`","type":"string"},"path":{"description":"Exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":"Pattern for paths that should be matched by the filter, e.g. `.*`. Must begin with `/`","type":"string"},"pathPrefix":{"description":"Prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false}}]},"category":{"anyOf":[{"type":["string"]},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false,"required":["action"]},"meta":{"bareWorkflow":"This is set in `AndroidManifest.xml` directly. [Learn more.](developer.android.com/guide/components/intents-filters)"}},"allowBackup":{"description":"Allows your user's app data to be automatically backed up to their Google Drive. If this is set to false, no backup or restore of the application will ever be performed (this is useful if your app deals with sensitive information). Defaults to the Android default, which is `true`.","fallback":true,"type":"boolean"},"softwareKeyboardLayoutMode":{"description":"Determines how the software keyboard will impact the layout of your application. This maps to the `android:windowSoftInputMode` property. Defaults to `resize`. Valid values: `resize`, `pan`.","enum":["resize","pan"],"type":"string","fallback":"resize"},"jsEngine":{"description":"Specifies the JavaScript engine for Android apps. Supported only on EAS Build and in Expo Go. Defaults to `jsc`. Valid values: `hermes`, `jsc`.","type":"string","fallback":"jsc","enum":["hermes","jsc"],"meta":{"bareWorkflow":"To change the JavaScript engine, update the `expo.jsEngine` value in `android/gradle.properties`"}},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest for the Android platform. If provided, this will override the top level runtimeVersion key.\nSet this to `{\"policy\": \"nativeVersion\"}` to generate it automatically.","oneOf":[{"type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+()-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\",\"(\",\")\" or \"-\". Example: \"1.0.3a+\"."}},{"type":"object","properties":{"policy":{"type":"string","enum":["nativeVersion","sdkVersion"]}},"required":["policy"],"additionalProperties":false}]}},"additionalProperties":false},"web":{"description":"Configuration that is specific to the web platform.","type":"object","additionalProperties":true,"properties":{"favicon":{"description":"Relative path of an image to use for your app's favicon.","type":"string"},"name":{"description":"Defines the title of the document, defaults to the outer level name","type":"string","meta":{"pwa":"name"}},"shortName":{"description":"A short version of the app's name, 12 characters or fewer. Used in app launcher and new tab pages. Maps to `short_name` in the PWA manifest.json. Defaults to the `name` property.","type":"string","meta":{"pwa":"short_name","regexHuman":"Maximum 12 characters long"}},"lang":{"description":"Specifies the primary language for the values in the name and short_name members. This value is a string containing a single language tag.","type":"string","fallback":"en","meta":{"pwa":"lang"}},"scope":{"description":"Defines the navigation scope of this website's context. This restricts what web pages can be viewed while the manifest is applied. If the user navigates outside the scope, it returns to a normal web page inside a browser tab/window. If the scope is a relative URL, the base URL will be the URL of the manifest.","type":"string","meta":{"pwa":"scope"}},"themeColor":{"description":"Defines the color of the Android tool bar, and may be reflected in the app's preview in task switchers.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"theme_color","html":"theme-color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"description":{"description":"Provides a general description of what the pinned website does.","type":"string","meta":{"html":"description","pwa":"description"}},"dir":{"description":"Specifies the primary text direction for the name, short_name, and description members. Together with the lang member, it helps the correct display of right-to-left languages.","enum":["auto","ltr","rtl"],"type":"string","meta":{"pwa":"dir"}},"display":{"description":"Defines the developers’ preferred display mode for the website.","enum":["fullscreen","standalone","minimal-ui","browser"],"type":"string","meta":{"pwa":"display"}},"startUrl":{"description":"The URL that loads when a user launches the application (e.g., when added to home screen), typically the index. Note: This has to be a relative URL, relative to the manifest URL.","type":"string","meta":{"pwa":"start_url"}},"orientation":{"description":"Defines the default orientation for all the website's top level browsing contexts.","enum":["any","natural","landscape","landscape-primary","landscape-secondary","portrait","portrait-primary","portrait-secondary"],"type":"string","meta":{"pwa":"orientation"}},"backgroundColor":{"description":"Defines the expected “background color” for the website. This value repeats what is already available in the site’s CSS, but can be used by browsers to draw the background color of a shortcut when the manifest is available before the stylesheet has loaded. This creates a smooth transition between launching the web application and loading the site's content.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"background_color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"barStyle":{"description":"If content is set to default, the status bar appears normal. If set to black, the status bar has a black background. If set to black-translucent, the status bar is black and translucent. If set to default or black, the web content is displayed below the status bar. If set to black-translucent, the web content is displayed on the entire screen, partially obscured by the status bar.","enum":["default","black","black-translucent"],"type":"string","fallback":"black-translucent","meta":{"html":"apple-mobile-web-app-status-bar-style","pwa":"name"}},"preferRelatedApplications":{"description":"Hints for the user agent to indicate to the user that the specified native applications (defined in expo.ios and expo.android) are recommended over the website.","type":"boolean","fallback":true,"meta":{"pwa":"prefer_related_applications"}},"dangerous":{"description":"Experimental features. These will break without deprecation notice.","type":"object","properties":{},"additionalProperties":true},"splash":{"description":"Configuration for PWA splash screens.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"Use [expo-splash-screen](https://github.com/expo/expo/tree/main/packages/expo-splash-screen#expo-splash-screen)"}},"config":{"description":"Firebase web configuration. Used by the expo-firebase packages on both web and native. [Learn more](https://firebase.google.com/docs/reference/js/firebase.html#initializeapp)","type":"object","properties":{"firebase":{"type":"object","properties":{"apiKey":{"type":"string"},"authDomain":{"type":"string"},"databaseURL":{"type":"string"},"projectId":{"type":"string"},"storageBucket":{"type":"string"},"messagingSenderId":{"type":"string"},"appId":{"type":"string"},"measurementId":{"type":"string"}}}}}}},"hooks":{"description":"Configuration for scripts to run to hook into the publish process","type":"object","additionalProperties":false,"properties":{"postPublish":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}},"postExport":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}}}},"experiments":{"description":"Enable experimental features that may be unstable, unsupported, or removed without deprecation notices.","type":"object","additionalProperties":false,"properties":{"turboModules":{"description":"Enables Turbo Modules, which are a type of native modules that use a different way of communicating between JS and platform code. When installing a Turbo Module you will need to enable this experimental option (the library still needs to be a part of Expo SDK already, like react-native-reanimated v2). Turbo Modules do not support remote debugging and enabling this option will disable remote debugging.","type":"boolean","fallback":false}}},"_internal":{"description":"Internal properties for developer tools","type":"object","properties":{"pluginHistory":{"description":"List of plugins already run on the config","type":"object","properties":{},"additionalProperties":true}},"additionalProperties":true,"meta":{"autogenerated":true}}} \ No newline at end of file diff --git a/docs/scripts/schemas/v44.0.0/app-config-schema.js b/docs/scripts/schemas/v44.0.0/app-config-schema.js index 7c50dd1edfdd7..0ae6e8cfcc138 100644 --- a/docs/scripts/schemas/v44.0.0/app-config-schema.js +++ b/docs/scripts/schemas/v44.0.0/app-config-schema.js @@ -1 +1 @@ -export default {"name":{"description":"The name of your app as it appears both within Expo Go and on your home screen as a standalone app.","type":"string","meta":{"bareWorkflow":"To change the name of your app, edit the 'Display Name' field in Xcode and the `app_name` string in `android/app/src/main/res/values/strings.xml`"}},"description":{"description":"A short description of what your app is and why it is great.","type":"string"},"slug":{"description":"The friendly URL name for publishing. For example, `myAppName` will refer to the `expo.dev/@project-owner/myAppName` project.","type":"string","pattern":"^[a-zA-Z0-9_\\-]+$"},"owner":{"description":"The name of the Expo account that owns the project. This is useful for teams collaborating on a project. If not provided, the owner defaults to the username of the current user.","type":"string","minLength":1},"currentFullName":{"description":"The auto generated Expo account name and slug used for display purposes. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value may change when a project is transferred between accounts or renamed.","type":"string","meta":{"autogenerated":true}},"originalFullName":{"description":"The auto generated Expo account name and slug used for services like Notifications and AuthSession proxy. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value will not change when a project is transferred between accounts or renamed.","type":"string","meta":{"autogenerated":true}},"privacy":{"description":"Defaults to `unlisted`. `unlisted` hides the project from search results. `hidden` restricts access to the project page to only the owner and other users that have been granted access. Valid values: `public`, `unlisted`, `hidden`.","enum":["public","unlisted","hidden"],"type":"string","fallback":"unlisted"},"sdkVersion":{"description":"The Expo sdkVersion to run the project on. This should line up with the version specified in your package.json.","type":"string","pattern":"^(\\d+\\.\\d+\\.\\d+)|(UNVERSIONED)$"},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest.\nSet this to `{\"policy\": \"nativeVersion\"}` to generate it automatically.","oneOf":[{"type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+()-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\",\"(\",\")\" or \"-\". Example: \"1.0.3a+\"."}},{"type":"object","properties":{"policy":{"type":"string","enum":["nativeVersion","sdkVersion"]}},"required":["policy"],"additionalProperties":false}]},"version":{"description":"Your app version. In addition to this field, you'll also use `ios.buildNumber` and `android.versionCode` — read more about how to version your app [here](https://docs.expo.dev/distribution/app-stores/#versioning-your-app). On iOS this corresponds to `CFBundleShortVersionString`, and on Android, this corresponds to `versionName`. The required format can be found [here](https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring).","type":"string","meta":{"bareWorkflow":"To change your app version, edit the 'Version' field in Xcode and the `versionName` string in `android/app/build.gradle`"}},"platforms":{"description":"Platforms that your project explicitly supports. If not specified, it defaults to `[\"ios\", \"android\"]`.","example":["ios","android","web"],"type":"array","uniqueItems":true,"items":{"type":"string","enum":["android","ios","web"]}},"githubUrl":{"description":"If you would like to share the source code of your app on Github, enter the URL for the repository here and it will be linked to from your Expo project page.","pattern":"^https://github\\.com/","example":"https://github.com/expo/expo","type":["string"]},"orientation":{"description":"Locks your app to a specific orientation with portrait or landscape. Defaults to no lock. Valid values: `default`, `portrait`, `landscape`","enum":["default","portrait","landscape"],"type":"string"},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`. Requires `expo-system-ui` be installed in your project to work on Android.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"backgroundColor":{"description":"The background color for your app, behind any of your React views. This is also known as the root view background color. Requires `expo-system-ui` be installed in your project to work on iOS.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`. Default is white: `'#ffffff'`"}},"primaryColor":{"description":"On Android, this will determine the color of your app in the multitasker. Currently this is not used on iOS, but it may be used for other purposes in the future.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon. We recommend that you use a 1024x1024 png file. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true,"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-`. Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each existing size."}},"notification":{"description":"Configuration for remote (push) notifications.","type":"object","properties":{"icon":{"description":"(Android only) Local path or remote URL to an image to use as the icon for push notifications. 96x96 png grayscale with transparency. We recommend following [Google's design guidelines](https://material.io/design/iconography/product-icons.html#design-principles). If not provided, defaults to your app icon.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"color":{"description":"(Android only) Tint color for the push notification image when it appears in the notification tray. Defaults to `#ffffff`","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"iosDisplayInForeground":{"description":"Whether or not to display notifications when the app is in the foreground on iOS. `_displayInForeground` option in the individual push notification message overrides this option. [Learn more.](https://docs.expo.dev/push-notifications/receiving-notifications/#foreground-notification-behavior) Defaults to `false`.","type":"boolean"},"androidMode":{"description":"Show each push notification individually (`default`) or collapse into one (`collapse`).","enum":["default","collapse"],"type":"string"},"androidCollapsedTitle":{"description":"If `androidMode` is set to `collapse`, this title is used for the collapsed notification message. For example, `'#{unread_notifications} new interactions'`.","type":"string"}},"additionalProperties":false},"appKey":{"description":"@deprecated By default, Expo looks for the application registered with the AppRegistry as `main`. If you would like to change this, you can specify the name in this property.","meta":{"deprecated":true},"type":"string"},"androidStatusBar":{"description":"Configuration for the status bar on Android. For more details please navigate to [Configuring StatusBar](https://docs.expo.dev/guides/configuring-statusbar/).","type":"object","properties":{"barStyle":{"description":"Configures the status bar icons to have a light or dark color. Valid values: `light-content`, `dark-content`. Defaults to `dark-content`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the status bar. Defaults to `#00000000` (transparent) for `dark-content` bar style and `#00000088` (semi-transparent black) for `light-content` bar style","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string `'#RRGGBB'`, for example, `'#000000'` for black. Or 8 character long hex color string `'#RRGGBBAA'`, for example, `'#00000088'` for semi-transparent black."}},"hidden":{"description":"Instructs the system whether the status bar should be visible or not. Defaults to `false`","type":"boolean"},"translucent":{"description":"Sets `android:windowTranslucentStatus` in `styles.xml`. When false, the system status bar pushes the content of your app down (similar to `position: relative`). When true, the status bar floats above the content in your app (similar to `position: absolute`). Defaults to `true` to match the iOS status bar behavior (which can only float above content).","type":"boolean"}},"additionalProperties":false},"androidNavigationBar":{"description":"Configuration for the bottom navigation bar on Android. Can be used to configure the `expo-navigation-bar` module in EAS Build.","type":"object","properties":{"visible":{"description":"Determines how and when the navigation bar is shown. [Learn more](https://developer.android.com/training/system-ui/immersive). Requires `expo-navigation-bar` be installed in your project. Valid values: `leanback`, `immersive`, `sticky-immersive` \n\n `leanback` results in the navigation bar being hidden until the first touch gesture is registered. \n\n `immersive` results in the navigation bar being hidden until the user swipes up from the edge where the navigation bar is hidden. \n\n `sticky-immersive` is identical to `'immersive'` except that the navigation bar will be semi-transparent and will be hidden again after a short period of time.","type":"string","enum":["leanback","immersive","sticky-immersive"]},"barStyle":{"description":"Configure the navigation bar icons to have a light or dark color. Supported on Android Oreo and newer. Valid values: `'light-content'`, `'dark-content'`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the navigation bar.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"developmentClient":{"description":"Settings that apply specifically to running this app in a development client","type":"object","properties":{"silentLaunch":{"description":"If true, the app will launch in a development client with no additional dialogs or progress indicators, just like in a standalone app.","type":"boolean","fallback":false}},"additionalProperties":false},"scheme":{"description":"**Standalone Apps Only**. URL scheme to link into your app. For example, if we set this to `'demo'`, then demo:// URLs would open your app when tapped.","type":"string","pattern":"^[a-z][a-z0-9+.-]*$","meta":{"regexHuman":"String beginning with a **lowercase** letter followed by any combination of **lowercase** letters, digits, \"+\", \".\" or \"-\"","standaloneOnly":true,"bareWorkflow":"To change your app's scheme, replace all occurrences of the old scheme in `Info.plist` and `AndroidManifest.xml`"}},"entryPoint":{"description":"The relative path to your main JavaScript file.","type":"string"},"extra":{"description":"Any extra fields you want to pass to your experience. Values are accessible via `Expo.Constants.manifest.extra` ([Learn more](https://docs.expo.dev/versions/latest/sdk/constants/#constantsmanifest))","type":"object","properties":{},"additionalProperties":true},"packagerOpts":{"description":"@deprecated Use a `metro.config.js` file instead. [Learn more](https://docs.expo.dev/guides/customizing-metro/)","meta":{"deprecated":true,"autogenerated":true},"type":"object","properties":{},"additionalProperties":true},"updates":{"description":"Configuration for how and when the app should request OTA JavaScript updates","type":"object","properties":{"enabled":{"description":"If set to false, your standalone app will never download any code, and will only use code bundled locally on the device. In that case, all updates to your app must be submitted through app store review. Defaults to true. (Note: This will not work out of the box with ExpoKit projects)","type":"boolean"},"checkAutomatically":{"description":"By default, Expo will check for updates every time the app is loaded. Set this to `ON_ERROR_RECOVERY` to disable automatic checking unless recovering from an error. Must be one of `ON_LOAD` or `ON_ERROR_RECOVERY`","enum":["ON_ERROR_RECOVERY","ON_LOAD"],"type":"string"},"fallbackToCacheTimeout":{"description":"How long (in ms) to allow for fetching OTA updates before falling back to a cached version of the app. Defaults to 0. Must be between 0 and 300000 (5 minutes).","type":"number","minimum":0,"maximum":300000},"url":{"description":"URL from which expo-updates will fetch update manifests","type":"string"}},"additionalProperties":false},"locales":{"description":"Provide overrides by locale for System Dialog prompts like Permissions Boxes","type":"object","properties":{},"meta":{"bareWorkflow":"To add or change language and localization information in your iOS app, you need to use Xcode."},"additionalProperties":{"type":["string","object"]}},"facebookAppId":{"description":"Used for all Facebook libraries. Set up your Facebook App ID at https://developers.facebook.com.","type":"string","pattern":"^[0-9]+$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAutoInitEnabled":{"description":"Whether the Facebook SDK should be initialized automatically. The default in Expo (Client and in standalone apps) is `false`.","type":"boolean"},"facebookAutoLogAppEventsEnabled":{"description":"Whether the Facebook SDK log app events automatically. If you don't set this property, Facebook's default will be used. (Applicable only to standalone apps.) Note: The Facebook SDK must be initialized for app events to work. You may autoinitialize Facebook SDK by setting `facebookAutoInitEnabled` to `true`","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAdvertiserIDCollectionEnabled":{"description":"Whether the Facebook SDK should collect advertiser ID properties, like the Apple IDFA and Android Advertising ID, automatically. If you don't set this property, Facebook's default policy will be used. (Applicable only to standalone apps.)","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookDisplayName":{"description":"Used for native Facebook login.","type":"string","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookScheme":{"description":"Used for Facebook native login. Starts with 'fb' and followed by a string of digits, like 'fb1234567890'. You can find your scheme [here](https://developers.facebook.com/docs/facebook-login/ios)in the 'Configuring Your info.plist' section (only applicable to standalone apps and custom Expo Go apps).","type":"string","pattern":"^fb[0-9]+[A-Za-z]*$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"isDetached":{"description":"Is app detached","type":"boolean","meta":{"autogenerated":true}},"detach":{"description":"Extra fields needed by detached apps","type":"object","properties":{},"meta":{"autogenerated":true},"additionalProperties":true},"assetBundlePatterns":{"description":"An array of file glob strings which point to assets that will be bundled within your standalone app binary. Read more in the [Offline Support guide](https://docs.expo.dev/guides/offline-support/)","type":"array","items":{"type":"string"}},"plugins":{"description":"Config plugins for adding extra functionality to your project. [Learn more](https://docs.expo.dev/guides/config-plugins/).","meta":{"bareWorkflow":"Plugins that add modifications can only be used with [prebuilding](https://expo.fyi/prebuilding) and managed EAS Build"},"type":"array","items":{"anyOf":[{"type":["string"]},{"type":"array","items":[{"type":["string"]},{}],"additionalItems":false}]}},"splash":{"description":"Configuration for loading and splash screen for standalone apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"For Android, edit the `colorPrimary` item in `android/app/src/main/res/values/colors.xml`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-` (Android Studio can [generate the appropriate image files for you](https://developer.android.com/studio/write/image-asset-studio)). Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each required size."}},"jsEngine":{"description":"Specifies the JavaScript engine for apps. Supported only on EAS Build. Defaults to `jsc`. Valid values: `hermes`, `jsc`.","type":"string","fallback":"jsc","enum":["hermes","jsc"],"meta":{"bareWorkflow":"To change the JavaScript engine, update the `expo.jsEngine` value in `ios/Podfile.properties.json` or `android/gradle.properties`"}},"ios":{"description":"Configuration that is specific to the iOS platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"bundleIdentifier":{"description":"The bundle identifier for your iOS standalone app. You make it up, but it needs to be unique on the App Store. See [this StackOverflow question](http://stackoverflow.com/questions/11347470/what-does-bundle-identifier-mean-in-the-ios-project).","type":"string","pattern":"^[a-zA-Z0-9.-]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`","regexHuman":"iOS bundle identifier notation unique name for your app. For example, `host.exp.expo`, where `exp.host` is our domain and `expo` is our app name."}},"buildNumber":{"description":"Build number for your iOS standalone app. Corresponds to `CFBundleVersion` and must match Apple's [specified format](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102364). (Note: Transporter will pull the value for `Version Number` from `expo.version` and NOT from `expo.ios.buildNumber`.)","type":"string","pattern":"^[A-Za-z0-9\\.]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleVersion`"}},"backgroundColor":{"description":"The background color for your iOS app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present. Requires `expo-system-ui` be installed in your project to work on iOS.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on iOS. If specified, this overrides the top-level `icon` key. Use a 1024x1024 icon which follows Apple's interface guidelines for icons, including color profile and transparency. \n\n Expo will generate the other required sizes. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"merchantId":{"description":"@deprecated Merchant ID for use with Apple Pay in your standalone app.","type":"string","meta":{"deprecated":true}},"appStoreUrl":{"description":"URL to your app on the Apple App Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://(itunes|apps)\\.apple\\.com/.*?\\d+","example":"https://apps.apple.com/us/app/expo-client/id982107779","type":["string"]},"bitcode":{"description":"Enable iOS Bitcode optimizations in the native build. Accepts the name of an iOS build configuration to enable for a single configuration and disable for all others, e.g. Debug, Release. Not available in the classic 'expo build:ios' or Expo Go. Defaults to `undefined` which uses the template's predefined settings.","anyOf":[{"type":["boolean"]},{"type":["string"]}]},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"usesNonExemptEncryption":{"description":"Sets `ITSAppUsesNonExemptEncryption` in the standalone ipa's Info.plist to the given boolean value.","type":"boolean"},"googleMapsApiKey":{"description":"[Google Maps iOS SDK](https://developers.google.com/maps/documentation/ios-sdk/start) key for your standalone app.","type":"string"},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Go and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`.](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"description":"[Google Sign-In iOS SDK](https://developers.google.com/identity/sign-in/ios/start-integrating) keys for your standalone app.","type":"object","properties":{"reservedClientId":{"description":"The reserved client ID URL scheme. Can be found in `GoogleService-Info.plist`.","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase.","type":"string"},"supportsTablet":{"description":"Whether your standalone iOS app supports tablet screen sizes. Defaults to `false`.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations~ipad`"}},"isTabletOnly":{"description":"If true, indicates that your standalone iOS app does not support handsets, and only supports tablets.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations`"}},"requireFullScreen":{"description":"If true, indicates that your standalone iOS app does not support Slide Over and Split View on iPad. Defaults to `false`","type":"boolean","meta":{"bareWorkflow":"Use Xcode to set `UIRequiresFullScreen`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"infoPlist":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native Info.plist. Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"entitlements":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native *.entitlements (plist). Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"associatedDomains":{"description":"An array that contains Associated Domains for the standalone app. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains).","type":"array","uniqueItems":true,"items":{"type":"string"},"meta":{"regexHuman":"Entries must follow the format `applinks:[:port number]`. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains).","bareWorkflow":"Build with EAS, or use Xcode to enable this capability manually. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains)."}},"usesIcloudStorage":{"description":"A boolean indicating if the app uses iCloud Storage for `DocumentPicker`. See `DocumentPicker` docs for details.","type":"boolean","meta":{"bareWorkflow":"Use Xcode, or ios.entitlements to configure this."}},"usesAppleSignIn":{"description":"A boolean indicating if the app uses Apple Sign-In. See `AppleAuthentication` docs for details.","type":"boolean","fallback":false},"accessesContactNotes":{"description":"A Boolean value that indicates whether the app may access the notes stored in contacts. You must [receive permission from Apple](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_contacts_notes) before you can submit your app for review with this capability.","type":"boolean","fallback":false},"splash":{"description":"Configuration for loading and splash screen for standalone iOS apps.","type":"object","properties":{"xib":{"description":"@deprecated Apple has deprecated `.xib` splash screens in favor of `.storyboard` files. Local path to a XIB file as the loading screen. It overrides other loading screen options. Note: This will only be used in the standalone app (i.e., after you build the app). It will not be used in the Expo Go.","type":"string","meta":{"deprecated":true,"asset":true,"contentTypePattern":"^text/xml$","contentTypeHuman":".xib interface builder document"}},"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"tabletImage":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}},"jsEngine":{"description":"Specifies the JavaScript engine for iOS apps. Supported only on EAS Build. Defaults to `jsc`. Valid values: `hermes`, `jsc`.","type":"string","fallback":"jsc","enum":["hermes","jsc"],"meta":{"bareWorkflow":"To change the JavaScript engine, update the `expo.jsEngine` value in `ios/Podfile.properties.json`"}},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest for the iOS platform. If provided, this will override the top level runtimeVersion key.\nSet this to `{\"policy\": \"nativeVersion\"}` to generate it automatically.","oneOf":[{"type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+()-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\",\"(\",\")\" or \"-\". Example: \"1.0.3a+\"."}},{"type":"object","properties":{"policy":{"type":"string","enum":["nativeVersion","sdkVersion"]}},"required":["policy"],"additionalProperties":false}]}},"additionalProperties":false},"android":{"description":"Configuration that is specific to the Android platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"package":{"description":"The package name for your Android standalone app. You make it up, but it needs to be unique on the Play Store. See [this StackOverflow question](http://stackoverflow.com/questions/6273892/android-package-name-convention).","type":"string","pattern":"^[a-zA-Z][a-zA-Z0-9\\_]*(\\.[a-zA-Z][a-zA-Z0-9\\_]*)+$","meta":{"regexHuman":"Reverse DNS notation unique name for your app. Valid Android Application ID. For example, `com.example.app`, where `com.example` is our domain and `app` is our app. The name may only contain lowercase and uppercase letters (a-z, A-Z), numbers (0-9) and underscores (_), separated by periods (.). Each component of the name should start with a lowercase letter.","bareWorkflow":"This is set in `android/app/build.gradle` as `applicationId` as well as in your `AndroidManifest.xml` file (multiple places)."}},"versionCode":{"description":"Version number required by Google Play. Increment by one for each release. Must be a positive integer. [Learn more](https://developer.android.com/studio/publish/versioning.html)","type":"integer","minimum":0,"maximum":2100000000,"meta":{"bareWorkflow":"This is set in `android/app/build.gradle` as `versionCode`"}},"backgroundColor":{"description":"The background color for your Android app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"This is set in `android/app/src/main/AndroidManifest.xml` under `android:windowBackground`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`. Requires `expo-system-ui` be installed in your project to work on Android.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"useNextNotificationsApi":{"deprecated":true,"description":"@deprecated A Boolean value that indicates whether the app should use the new notifications API.","type":"boolean","fallback":false},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` key. We recommend that you use a 1024x1024 png file (transparency is recommended for the Google Play Store). This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"adaptiveIcon":{"description":"Settings for an Adaptive Launcher Icon on Android. [Learn more](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)","type":"object","properties":{"foregroundImage":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` and the `android.icon` keys. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive). This icon will appear on the home screen.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundImage":{"description":"Local path or remote URL to a background image for your app's Adaptive Icon on Android. If specified, this overrides the `backgroundColor` key. Must have the same dimensions as foregroundImage`, and has no effect if `foregroundImage` is not specified. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive).","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundColor":{"description":"Color to use as the background for your app's Adaptive Icon on Android. Defaults to white, `#FFFFFF`. Has no effect if `foregroundImage` is not specified.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"playStoreUrl":{"description":"URL to your app on the Google Play Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://play\\.google\\.com/","example":"https://play.google.com/store/apps/details?id=host.exp.exponent","type":["string"]},"permissions":{"description":"List of permissions used by the standalone app. \n\n To use ONLY the following minimum necessary permissions and none of the extras supported by Expo in a default managed app, set `permissions` to `[]`. The minimum necessary permissions do not require a Privacy Policy when uploading to Google Play Store and are: \n• receive data from Internet \n• view network connections \n• full network access \n• change your audio settings \n• prevent device from sleeping \n\n To use ALL permissions supported by Expo by default, do not specify the `permissions` key. \n\n To use the minimum necessary permissions ALONG with certain additional permissions, specify those extras in `permissions`, e.g.\n\n `[ \"CAMERA\", \"ACCESS_FINE_LOCATION\" ]`.\n\n You can specify the following permissions depending on what you need:\n\n- `ACCESS_COARSE_LOCATION`\n- `ACCESS_FINE_LOCATION`\n- `ACCESS_BACKGROUND_LOCATION`\n- `CAMERA`\n- `RECORD_AUDIO`\n- `READ_CONTACTS`\n- `WRITE_CONTACTS`\n- `READ_CALENDAR`\n- `WRITE_CALENDAR`\n- `READ_EXTERNAL_STORAGE`\n- `WRITE_EXTERNAL_STORAGE`\n- `USE_FINGERPRINT`\n- `USE_BIOMETRIC`\n- `WRITE_SETTINGS`\n- `VIBRATE`\n- `READ_PHONE_STATE`\n- `com.anddoes.launcher.permission.UPDATE_COUNT`\n- `com.android.launcher.permission.INSTALL_SHORTCUT`\n- `com.google.android.c2dm.permission.RECEIVE`\n- `com.google.android.gms.permission.ACTIVITY_RECOGNITION`\n- `com.google.android.providers.gsf.permission.READ_GSERVICES`\n- `com.htc.launcher.permission.READ_SETTINGS`\n- `com.htc.launcher.permission.UPDATE_SHORTCUT`\n- `com.majeur.launcher.permission.UPDATE_BADGE`\n- `com.sec.android.provider.badge.permission.READ`\n- `com.sec.android.provider.badge.permission.WRITE`\n- `com.sonyericsson.home.permission.BROADCAST_BADGE`\n","type":"array","meta":{"bareWorkflow":"To change the permissions your app requests, you'll need to edit `AndroidManifest.xml` manually. To prevent your app from requesting one of the permissions listed below, you'll need to explicitly add it to `AndroidManifest.xml` along with a `tools:node=\"remove\"` tag."},"items":{"type":"string"}},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase. Including this key automatically enables FCM in your standalone app.","type":"string","meta":{"bareWorkflow":"Add or edit the file directly at `android/app/google-services.json`"}},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"googleMaps":{"description":"[Google Maps Android SDK](https://developers.google.com/maps/documentation/android-api/signup) configuration for your standalone app.","type":"object","properties":{"apiKey":{"description":"Your Google Maps Android SDK API key","type":"string"}},"additionalProperties":false},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Client and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"deprecated":true,"meta":{"deprecated":true},"description":"@deprecated Use `googleServicesFile` instead. [Google Sign-In Android SDK](https://developers.google.com/identity/sign-in/android/start-integrating) keys for your standalone app.","type":"object","properties":{"apiKey":{"description":"The Android API key. Can be found in the credentials section of the developer console or in `google-services.json`.","type":"string"},"certificateHash":{"description":"The SHA-1 hash of the signing certificate used to build the APK without any separator (`:`). Can be found in `google-services.json`. https://developers.google.com/android/guides/client-auth","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"splash":{"description":"Configuration for loading and splash screen for managed and standalone Android apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover`, `contain` or `native`, defaults to `contain`.","enum":["cover","contain","native"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"mdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Natural sized image (baseline)`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"hdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 1.5x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 2x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 3x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 4x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}},"intentFilters":{"description":"Configuration for setting an array of custom intent filters in Android manifest. [Learn more](https://developer.android.com/guide/components/intents-filters)","example":[{"autoVerify":true,"action":"VIEW","data":{"scheme":"https","host":"*.example.com"},"category":["BROWSABLE","DEFAULT"]}],"exampleString":"\n [{ \n \"autoVerify\": true, \n \"action\": \"VIEW\", \n \"data\": { \n \"scheme\": \"https\", \n \"host\": \"*.example.com\" \n }, \n \"category\": [\"BROWSABLE\", \"DEFAULT\"] \n }]","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"autoVerify":{"description":"You may also use an intent filter to set your app as the default handler for links (without showing the user a dialog with options). To do so use `true` and then configure your server to serve a JSON file verifying that you own the domain. [Learn more](developer.android.com/training/app-links)","type":"boolean"},"action":{"type":"string"},"data":{"anyOf":[{"type":"object","properties":{"scheme":{"description":"Scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"Hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"Port, e.g. `3000`","type":"string"},"path":{"description":"Exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":"Pattern for paths that should be matched by the filter, e.g. `.*`. Must begin with `/`","type":"string"},"pathPrefix":{"description":"Prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false},{"type":["array"],"items":{"type":"object","properties":{"scheme":{"description":"Scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"Hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"Port, e.g. `3000`","type":"string"},"path":{"description":"Exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":"Pattern for paths that should be matched by the filter, e.g. `.*`. Must begin with `/`","type":"string"},"pathPrefix":{"description":"Prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false}}]},"category":{"anyOf":[{"type":["string"]},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false,"required":["action"]},"meta":{"bareWorkflow":"This is set in `AndroidManifest.xml` directly. [Learn more.](developer.android.com/guide/components/intents-filters)"}},"allowBackup":{"description":"Allows your user's app data to be automatically backed up to their Google Drive. If this is set to false, no backup or restore of the application will ever be performed (this is useful if your app deals with sensitive information). Defaults to the Android default, which is `true`.","fallback":true,"type":"boolean"},"softwareKeyboardLayoutMode":{"description":"Determines how the software keyboard will impact the layout of your application. This maps to the `android:windowSoftInputMode` property. Defaults to `resize`. Valid values: `resize`, `pan`.","enum":["resize","pan"],"type":"string","fallback":"resize"},"jsEngine":{"description":"Specifies the JavaScript engine for Android apps. Supported only on EAS Build and in Expo Go. Defaults to `jsc`. Valid values: `hermes`, `jsc`.","type":"string","fallback":"jsc","enum":["hermes","jsc"],"meta":{"bareWorkflow":"To change the JavaScript engine, update the `expo.jsEngine` value in `android/gradle.properties`"}},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest for the Android platform. If provided, this will override the top level runtimeVersion key.\nSet this to `{\"policy\": \"nativeVersion\"}` to generate it automatically.","oneOf":[{"type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+()-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\",\"(\",\")\" or \"-\". Example: \"1.0.3a+\"."}},{"type":"object","properties":{"policy":{"type":"string","enum":["nativeVersion","sdkVersion"]}},"required":["policy"],"additionalProperties":false}]}},"additionalProperties":false},"web":{"description":"Configuration that is specific to the web platform.","type":"object","additionalProperties":true,"properties":{"favicon":{"description":"Relative path of an image to use for your app's favicon.","type":"string"},"name":{"description":"Defines the title of the document, defaults to the outer level name","type":"string","meta":{"pwa":"name"}},"shortName":{"description":"A short version of the app's name, 12 characters or fewer. Used in app launcher and new tab pages. Maps to `short_name` in the PWA manifest.json. Defaults to the `name` property.","type":"string","meta":{"pwa":"short_name","regexHuman":"Maximum 12 characters long"}},"lang":{"description":"Specifies the primary language for the values in the name and short_name members. This value is a string containing a single language tag.","type":"string","fallback":"en","meta":{"pwa":"lang"}},"scope":{"description":"Defines the navigation scope of this website's context. This restricts what web pages can be viewed while the manifest is applied. If the user navigates outside the scope, it returns to a normal web page inside a browser tab/window. If the scope is a relative URL, the base URL will be the URL of the manifest.","type":"string","meta":{"pwa":"scope"}},"themeColor":{"description":"Defines the color of the Android tool bar, and may be reflected in the app's preview in task switchers.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"theme_color","html":"theme-color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"description":{"description":"Provides a general description of what the pinned website does.","type":"string","meta":{"html":"description","pwa":"description"}},"dir":{"description":"Specifies the primary text direction for the name, short_name, and description members. Together with the lang member, it helps the correct display of right-to-left languages.","enum":["auto","ltr","rtl"],"type":"string","meta":{"pwa":"dir"}},"display":{"description":"Defines the developers’ preferred display mode for the website.","enum":["fullscreen","standalone","minimal-ui","browser"],"type":"string","meta":{"pwa":"display"}},"startUrl":{"description":"The URL that loads when a user launches the application (e.g., when added to home screen), typically the index. Note: This has to be a relative URL, relative to the manifest URL.","type":"string","meta":{"pwa":"start_url"}},"orientation":{"description":"Defines the default orientation for all the website's top level browsing contexts.","enum":["any","natural","landscape","landscape-primary","landscape-secondary","portrait","portrait-primary","portrait-secondary"],"type":"string","meta":{"pwa":"orientation"}},"backgroundColor":{"description":"Defines the expected “background color” for the website. This value repeats what is already available in the site’s CSS, but can be used by browsers to draw the background color of a shortcut when the manifest is available before the stylesheet has loaded. This creates a smooth transition between launching the web application and loading the site's content.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"background_color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"barStyle":{"description":"If content is set to default, the status bar appears normal. If set to black, the status bar has a black background. If set to black-translucent, the status bar is black and translucent. If set to default or black, the web content is displayed below the status bar. If set to black-translucent, the web content is displayed on the entire screen, partially obscured by the status bar.","enum":["default","black","black-translucent"],"type":"string","fallback":"black-translucent","meta":{"html":"apple-mobile-web-app-status-bar-style","pwa":"name"}},"preferRelatedApplications":{"description":"Hints for the user agent to indicate to the user that the specified native applications (defined in expo.ios and expo.android) are recommended over the website.","type":"boolean","fallback":true,"meta":{"pwa":"prefer_related_applications"}},"dangerous":{"description":"Experimental features. These will break without deprecation notice.","type":"object","properties":{},"additionalProperties":true},"splash":{"description":"Configuration for PWA splash screens.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"Use [expo-splash-screen](https://github.com/expo/expo/tree/master/packages/expo-splash-screen#expo-splash-screen)"}},"config":{"description":"Firebase web configuration. Used by the expo-firebase packages on both web and native. [Learn more](https://firebase.google.com/docs/reference/js/firebase.html#initializeapp)","type":"object","properties":{"firebase":{"type":"object","properties":{"apiKey":{"type":"string"},"authDomain":{"type":"string"},"databaseURL":{"type":"string"},"projectId":{"type":"string"},"storageBucket":{"type":"string"},"messagingSenderId":{"type":"string"},"appId":{"type":"string"},"measurementId":{"type":"string"}}}}}}},"hooks":{"description":"Configuration for scripts to run to hook into the publish process","type":"object","additionalProperties":false,"properties":{"postPublish":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}},"postExport":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}}}},"experiments":{"description":"Enable experimental features that may be unstable, unsupported, or removed without deprecation notices.","type":"object","additionalProperties":false,"properties":{"turboModules":{"description":"Enables Turbo Modules, which are a type of native modules that use a different way of communicating between JS and platform code. When installing a Turbo Module you will need to enable this experimental option (the library still needs to be a part of Expo SDK already, like react-native-reanimated v2). Turbo Modules do not support remote debugging and enabling this option will disable remote debugging.","type":"boolean","fallback":false}}},"_internal":{"description":"Internal properties for developer tools","type":"object","properties":{"pluginHistory":{"description":"List of plugins already run on the config","type":"object","properties":{},"additionalProperties":true}},"additionalProperties":true,"meta":{"autogenerated":true}}} \ No newline at end of file +export default {"name":{"description":"The name of your app as it appears both within Expo Go and on your home screen as a standalone app.","type":"string","meta":{"bareWorkflow":"To change the name of your app, edit the 'Display Name' field in Xcode and the `app_name` string in `android/app/src/main/res/values/strings.xml`"}},"description":{"description":"A short description of what your app is and why it is great.","type":"string"},"slug":{"description":"The friendly URL name for publishing. For example, `myAppName` will refer to the `expo.dev/@project-owner/myAppName` project.","type":"string","pattern":"^[a-zA-Z0-9_\\-]+$"},"owner":{"description":"The name of the Expo account that owns the project. This is useful for teams collaborating on a project. If not provided, the owner defaults to the username of the current user.","type":"string","minLength":1},"currentFullName":{"description":"The auto generated Expo account name and slug used for display purposes. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value may change when a project is transferred between accounts or renamed.","type":"string","meta":{"autogenerated":true}},"originalFullName":{"description":"The auto generated Expo account name and slug used for services like Notifications and AuthSession proxy. Formatted like `@username/slug`. When unauthenticated, the username is `@anonymous`. For published projects, this value will not change when a project is transferred between accounts or renamed.","type":"string","meta":{"autogenerated":true}},"privacy":{"description":"Defaults to `unlisted`. `unlisted` hides the project from search results. `hidden` restricts access to the project page to only the owner and other users that have been granted access. Valid values: `public`, `unlisted`, `hidden`.","enum":["public","unlisted","hidden"],"type":"string","fallback":"unlisted"},"sdkVersion":{"description":"The Expo sdkVersion to run the project on. This should line up with the version specified in your package.json.","type":"string","pattern":"^(\\d+\\.\\d+\\.\\d+)|(UNVERSIONED)$"},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest.\nSet this to `{\"policy\": \"nativeVersion\"}` to generate it automatically.","oneOf":[{"type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+()-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\",\"(\",\")\" or \"-\". Example: \"1.0.3a+\"."}},{"type":"object","properties":{"policy":{"type":"string","enum":["nativeVersion","sdkVersion"]}},"required":["policy"],"additionalProperties":false}]},"version":{"description":"Your app version. In addition to this field, you'll also use `ios.buildNumber` and `android.versionCode` — read more about how to version your app [here](https://docs.expo.dev/distribution/app-stores/#versioning-your-app). On iOS this corresponds to `CFBundleShortVersionString`, and on Android, this corresponds to `versionName`. The required format can be found [here](https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring).","type":"string","meta":{"bareWorkflow":"To change your app version, edit the 'Version' field in Xcode and the `versionName` string in `android/app/build.gradle`"}},"platforms":{"description":"Platforms that your project explicitly supports. If not specified, it defaults to `[\"ios\", \"android\"]`.","example":["ios","android","web"],"type":"array","uniqueItems":true,"items":{"type":"string","enum":["android","ios","web"]}},"githubUrl":{"description":"If you would like to share the source code of your app on Github, enter the URL for the repository here and it will be linked to from your Expo project page.","pattern":"^https://github\\.com/","example":"https://github.com/expo/expo","type":["string"]},"orientation":{"description":"Locks your app to a specific orientation with portrait or landscape. Defaults to no lock. Valid values: `default`, `portrait`, `landscape`","enum":["default","portrait","landscape"],"type":"string"},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`. Requires `expo-system-ui` be installed in your project to work on Android.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"backgroundColor":{"description":"The background color for your app, behind any of your React views. This is also known as the root view background color. Requires `expo-system-ui` be installed in your project to work on iOS.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`. Default is white: `'#ffffff'`"}},"primaryColor":{"description":"On Android, this will determine the color of your app in the multitasker. Currently this is not used on iOS, but it may be used for other purposes in the future.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon. We recommend that you use a 1024x1024 png file. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true,"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-`. Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each existing size."}},"notification":{"description":"Configuration for remote (push) notifications.","type":"object","properties":{"icon":{"description":"(Android only) Local path or remote URL to an image to use as the icon for push notifications. 96x96 png grayscale with transparency. We recommend following [Google's design guidelines](https://material.io/design/iconography/product-icons.html#design-principles). If not provided, defaults to your app icon.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"color":{"description":"(Android only) Tint color for the push notification image when it appears in the notification tray. Defaults to `#ffffff`","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"iosDisplayInForeground":{"description":"Whether or not to display notifications when the app is in the foreground on iOS. `_displayInForeground` option in the individual push notification message overrides this option. [Learn more.](https://docs.expo.dev/push-notifications/receiving-notifications/#foreground-notification-behavior) Defaults to `false`.","type":"boolean"},"androidMode":{"description":"Show each push notification individually (`default`) or collapse into one (`collapse`).","enum":["default","collapse"],"type":"string"},"androidCollapsedTitle":{"description":"If `androidMode` is set to `collapse`, this title is used for the collapsed notification message. For example, `'#{unread_notifications} new interactions'`.","type":"string"}},"additionalProperties":false},"appKey":{"description":"@deprecated By default, Expo looks for the application registered with the AppRegistry as `main`. If you would like to change this, you can specify the name in this property.","meta":{"deprecated":true},"type":"string"},"androidStatusBar":{"description":"Configuration for the status bar on Android. For more details please navigate to [Configuring StatusBar](https://docs.expo.dev/guides/configuring-statusbar/).","type":"object","properties":{"barStyle":{"description":"Configures the status bar icons to have a light or dark color. Valid values: `light-content`, `dark-content`. Defaults to `dark-content`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the status bar. Defaults to `#00000000` (transparent) for `dark-content` bar style and `#00000088` (semi-transparent black) for `light-content` bar style","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string `'#RRGGBB'`, for example, `'#000000'` for black. Or 8 character long hex color string `'#RRGGBBAA'`, for example, `'#00000088'` for semi-transparent black."}},"hidden":{"description":"Instructs the system whether the status bar should be visible or not. Defaults to `false`","type":"boolean"},"translucent":{"description":"Sets `android:windowTranslucentStatus` in `styles.xml`. When false, the system status bar pushes the content of your app down (similar to `position: relative`). When true, the status bar floats above the content in your app (similar to `position: absolute`). Defaults to `true` to match the iOS status bar behavior (which can only float above content).","type":"boolean"}},"additionalProperties":false},"androidNavigationBar":{"description":"Configuration for the bottom navigation bar on Android. Can be used to configure the `expo-navigation-bar` module in EAS Build.","type":"object","properties":{"visible":{"description":"Determines how and when the navigation bar is shown. [Learn more](https://developer.android.com/training/system-ui/immersive). Requires `expo-navigation-bar` be installed in your project. Valid values: `leanback`, `immersive`, `sticky-immersive` \n\n `leanback` results in the navigation bar being hidden until the first touch gesture is registered. \n\n `immersive` results in the navigation bar being hidden until the user swipes up from the edge where the navigation bar is hidden. \n\n `sticky-immersive` is identical to `'immersive'` except that the navigation bar will be semi-transparent and will be hidden again after a short period of time.","type":"string","enum":["leanback","immersive","sticky-immersive"]},"barStyle":{"description":"Configure the navigation bar icons to have a light or dark color. Supported on Android Oreo and newer. Valid values: `'light-content'`, `'dark-content'`","type":"string","enum":["light-content","dark-content"]},"backgroundColor":{"description":"Specifies the background color of the navigation bar.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"developmentClient":{"description":"Settings that apply specifically to running this app in a development client","type":"object","properties":{"silentLaunch":{"description":"If true, the app will launch in a development client with no additional dialogs or progress indicators, just like in a standalone app.","type":"boolean","fallback":false}},"additionalProperties":false},"scheme":{"description":"**Standalone Apps Only**. URL scheme to link into your app. For example, if we set this to `'demo'`, then demo:// URLs would open your app when tapped.","type":"string","pattern":"^[a-z][a-z0-9+.-]*$","meta":{"regexHuman":"String beginning with a **lowercase** letter followed by any combination of **lowercase** letters, digits, \"+\", \".\" or \"-\"","standaloneOnly":true,"bareWorkflow":"To change your app's scheme, replace all occurrences of the old scheme in `Info.plist` and `AndroidManifest.xml`"}},"entryPoint":{"description":"The relative path to your main JavaScript file.","type":"string"},"extra":{"description":"Any extra fields you want to pass to your experience. Values are accessible via `Expo.Constants.manifest.extra` ([Learn more](https://docs.expo.dev/versions/latest/sdk/constants/#constantsmanifest))","type":"object","properties":{},"additionalProperties":true},"packagerOpts":{"description":"@deprecated Use a `metro.config.js` file instead. [Learn more](https://docs.expo.dev/guides/customizing-metro/)","meta":{"deprecated":true,"autogenerated":true},"type":"object","properties":{},"additionalProperties":true},"updates":{"description":"Configuration for how and when the app should request OTA JavaScript updates","type":"object","properties":{"enabled":{"description":"If set to false, your standalone app will never download any code, and will only use code bundled locally on the device. In that case, all updates to your app must be submitted through app store review. Defaults to true. (Note: This will not work out of the box with ExpoKit projects)","type":"boolean"},"checkAutomatically":{"description":"By default, Expo will check for updates every time the app is loaded. Set this to `ON_ERROR_RECOVERY` to disable automatic checking unless recovering from an error. Must be one of `ON_LOAD` or `ON_ERROR_RECOVERY`","enum":["ON_ERROR_RECOVERY","ON_LOAD"],"type":"string"},"fallbackToCacheTimeout":{"description":"How long (in ms) to allow for fetching OTA updates before falling back to a cached version of the app. Defaults to 0. Must be between 0 and 300000 (5 minutes).","type":"number","minimum":0,"maximum":300000},"url":{"description":"URL from which expo-updates will fetch update manifests","type":"string"}},"additionalProperties":false},"locales":{"description":"Provide overrides by locale for System Dialog prompts like Permissions Boxes","type":"object","properties":{},"meta":{"bareWorkflow":"To add or change language and localization information in your iOS app, you need to use Xcode."},"additionalProperties":{"type":["string","object"]}},"facebookAppId":{"description":"Used for all Facebook libraries. Set up your Facebook App ID at https://developers.facebook.com.","type":"string","pattern":"^[0-9]+$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAutoInitEnabled":{"description":"Whether the Facebook SDK should be initialized automatically. The default in Expo (Client and in standalone apps) is `false`.","type":"boolean"},"facebookAutoLogAppEventsEnabled":{"description":"Whether the Facebook SDK log app events automatically. If you don't set this property, Facebook's default will be used. (Applicable only to standalone apps.) Note: The Facebook SDK must be initialized for app events to work. You may autoinitialize Facebook SDK by setting `facebookAutoInitEnabled` to `true`","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookAdvertiserIDCollectionEnabled":{"description":"Whether the Facebook SDK should collect advertiser ID properties, like the Apple IDFA and Android Advertising ID, automatically. If you don't set this property, Facebook's default policy will be used. (Applicable only to standalone apps.)","type":"boolean","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookDisplayName":{"description":"Used for native Facebook login.","type":"string","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"facebookScheme":{"description":"Used for Facebook native login. Starts with 'fb' and followed by a string of digits, like 'fb1234567890'. You can find your scheme [here](https://developers.facebook.com/docs/facebook-login/ios)in the 'Configuring Your info.plist' section (only applicable to standalone apps and custom Expo Go apps).","type":"string","pattern":"^fb[0-9]+[A-Za-z]*$","meta":{"bareWorkflow":"For details, check the [Facebook iOS SDK documentation](https://developers.facebook.com/docs/facebook-login/ios/#4--configure-your-project) and [Android SDK documentation](https://developers.facebook.com/docs/facebook-login/android#manifest)"}},"isDetached":{"description":"Is app detached","type":"boolean","meta":{"autogenerated":true}},"detach":{"description":"Extra fields needed by detached apps","type":"object","properties":{},"meta":{"autogenerated":true},"additionalProperties":true},"assetBundlePatterns":{"description":"An array of file glob strings which point to assets that will be bundled within your standalone app binary. Read more in the [Offline Support guide](https://docs.expo.dev/guides/offline-support/)","type":"array","items":{"type":"string"}},"plugins":{"description":"Config plugins for adding extra functionality to your project. [Learn more](https://docs.expo.dev/guides/config-plugins/).","meta":{"bareWorkflow":"Plugins that add modifications can only be used with [prebuilding](https://expo.fyi/prebuilding) and managed EAS Build"},"type":"array","items":{"anyOf":[{"type":["string"]},{"type":"array","items":[{"type":["string"]},{}],"additionalItems":false}]}},"splash":{"description":"Configuration for loading and splash screen for standalone apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"For Android, edit the `colorPrimary` item in `android/app/src/main/res/values/colors.xml`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"To change your app's icon, edit or replace the files in `ios//Assets.xcassets/AppIcon.appiconset` (we recommend using Xcode), and `android/app/src/main/res/mipmap-` (Android Studio can [generate the appropriate image files for you](https://developer.android.com/studio/write/image-asset-studio)). Be sure to follow the guidelines for each platform ([iOS](https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/), [Android 7.1 and below](https://material.io/design/iconography/#icon-treatments), and [Android 8+](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)) and to provide your new icon in each required size."}},"jsEngine":{"description":"Specifies the JavaScript engine for apps. Supported only on EAS Build. Defaults to `jsc`. Valid values: `hermes`, `jsc`.","type":"string","fallback":"jsc","enum":["hermes","jsc"],"meta":{"bareWorkflow":"To change the JavaScript engine, update the `expo.jsEngine` value in `ios/Podfile.properties.json` or `android/gradle.properties`"}},"ios":{"description":"Configuration that is specific to the iOS platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the iOS version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"bundleIdentifier":{"description":"The bundle identifier for your iOS standalone app. You make it up, but it needs to be unique on the App Store. See [this StackOverflow question](http://stackoverflow.com/questions/11347470/what-does-bundle-identifier-mean-in-the-ios-project).","type":"string","pattern":"^[a-zA-Z0-9.-]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleIdentifier`","regexHuman":"iOS bundle identifier notation unique name for your app. For example, `host.exp.expo`, where `exp.host` is our domain and `expo` is our app name."}},"buildNumber":{"description":"Build number for your iOS standalone app. Corresponds to `CFBundleVersion` and must match Apple's [specified format](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102364). (Note: Transporter will pull the value for `Version Number` from `expo.version` and NOT from `expo.ios.buildNumber`.)","type":"string","pattern":"^[A-Za-z0-9\\.]+$","meta":{"bareWorkflow":"Set this value in `info.plist` under `CFBundleVersion`"}},"backgroundColor":{"description":"The background color for your iOS app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present. Requires `expo-system-ui` be installed in your project to work on iOS.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on iOS. If specified, this overrides the top-level `icon` key. Use a 1024x1024 icon which follows Apple's interface guidelines for icons, including color profile and transparency. \n\n Expo will generate the other required sizes. This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"merchantId":{"description":"@deprecated Merchant ID for use with Apple Pay in your standalone app.","type":"string","meta":{"deprecated":true}},"appStoreUrl":{"description":"URL to your app on the Apple App Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://(itunes|apps)\\.apple\\.com/.*?\\d+","example":"https://apps.apple.com/us/app/expo-client/id982107779","type":["string"]},"bitcode":{"description":"Enable iOS Bitcode optimizations in the native build. Accepts the name of an iOS build configuration to enable for a single configuration and disable for all others, e.g. Debug, Release. Not available in the classic 'expo build:ios' or Expo Go. Defaults to `undefined` which uses the template's predefined settings.","anyOf":[{"type":["boolean"]},{"type":["string"]}]},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"usesNonExemptEncryption":{"description":"Sets `ITSAppUsesNonExemptEncryption` in the standalone ipa's Info.plist to the given boolean value.","type":"boolean"},"googleMapsApiKey":{"description":"[Google Maps iOS SDK](https://developers.google.com/maps/documentation/ios-sdk/start) key for your standalone app.","type":"string"},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Go and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`.](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"description":"[Google Sign-In iOS SDK](https://developers.google.com/identity/sign-in/ios/start-integrating) keys for your standalone app.","type":"object","properties":{"reservedClientId":{"description":"The reserved client ID URL scheme. Can be found in `GoogleService-Info.plist`.","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase.","type":"string"},"supportsTablet":{"description":"Whether your standalone iOS app supports tablet screen sizes. Defaults to `false`.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations~ipad`"}},"isTabletOnly":{"description":"If true, indicates that your standalone iOS app does not support handsets, and only supports tablets.","type":"boolean","meta":{"bareWorkflow":"Set this value in `info.plist` under `UISupportedInterfaceOrientations`"}},"requireFullScreen":{"description":"If true, indicates that your standalone iOS app does not support Slide Over and Split View on iPad. Defaults to `false`","type":"boolean","meta":{"bareWorkflow":"Use Xcode to set `UIRequiresFullScreen`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"infoPlist":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native Info.plist. Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"entitlements":{"description":"Dictionary of arbitrary configuration to add to your standalone app's native *.entitlements (plist). Applied prior to all other Expo-specific configuration. No other validation is performed, so use this at your own risk of rejection from the App Store.","type":"object","properties":{},"additionalProperties":true},"associatedDomains":{"description":"An array that contains Associated Domains for the standalone app. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains).","type":"array","uniqueItems":true,"items":{"type":"string"},"meta":{"regexHuman":"Entries must follow the format `applinks:[:port number]`. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains).","bareWorkflow":"Build with EAS, or use Xcode to enable this capability manually. [Learn more](https://developer.apple.com/documentation/safariservices/supporting_associated_domains)."}},"usesIcloudStorage":{"description":"A boolean indicating if the app uses iCloud Storage for `DocumentPicker`. See `DocumentPicker` docs for details.","type":"boolean","meta":{"bareWorkflow":"Use Xcode, or ios.entitlements to configure this."}},"usesAppleSignIn":{"description":"A boolean indicating if the app uses Apple Sign-In. See `AppleAuthentication` docs for details.","type":"boolean","fallback":false},"accessesContactNotes":{"description":"A Boolean value that indicates whether the app may access the notes stored in contacts. You must [receive permission from Apple](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_contacts_notes) before you can submit your app for review with this capability.","type":"boolean","fallback":false},"splash":{"description":"Configuration for loading and splash screen for standalone iOS apps.","type":"object","properties":{"xib":{"description":"@deprecated Apple has deprecated `.xib` splash screens in favor of `.storyboard` files. Local path to a XIB file as the loading screen. It overrides other loading screen options. Note: This will only be used in the standalone app (i.e., after you build the app). It will not be used in the Expo Go.","type":"string","meta":{"deprecated":true,"asset":true,"contentTypePattern":"^text/xml$","contentTypeHuman":".xib interface builder document"}},"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"tabletImage":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}},"jsEngine":{"description":"Specifies the JavaScript engine for iOS apps. Supported only on EAS Build. Defaults to `jsc`. Valid values: `hermes`, `jsc`.","type":"string","fallback":"jsc","enum":["hermes","jsc"],"meta":{"bareWorkflow":"To change the JavaScript engine, update the `expo.jsEngine` value in `ios/Podfile.properties.json`"}},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest for the iOS platform. If provided, this will override the top level runtimeVersion key.\nSet this to `{\"policy\": \"nativeVersion\"}` to generate it automatically.","oneOf":[{"type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+()-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\",\"(\",\")\" or \"-\". Example: \"1.0.3a+\"."}},{"type":"object","properties":{"policy":{"type":"string","enum":["nativeVersion","sdkVersion"]}},"required":["policy"],"additionalProperties":false}]}},"additionalProperties":false},"android":{"description":"Configuration that is specific to the Android platform.","type":"object","meta":{"standaloneOnly":true},"properties":{"publishManifestPath":{"description":"The manifest for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"publishBundlePath":{"description":"The bundle for the Android version of your app will be written to this path during publish.","type":"string","meta":{"autogenerated":true}},"package":{"description":"The package name for your Android standalone app. You make it up, but it needs to be unique on the Play Store. See [this StackOverflow question](http://stackoverflow.com/questions/6273892/android-package-name-convention).","type":"string","pattern":"^[a-zA-Z][a-zA-Z0-9\\_]*(\\.[a-zA-Z][a-zA-Z0-9\\_]*)+$","meta":{"regexHuman":"Reverse DNS notation unique name for your app. Valid Android Application ID. For example, `com.example.app`, where `com.example` is our domain and `app` is our app. The name may only contain lowercase and uppercase letters (a-z, A-Z), numbers (0-9) and underscores (_), separated by periods (.). Each component of the name should start with a lowercase letter.","bareWorkflow":"This is set in `android/app/build.gradle` as `applicationId` as well as in your `AndroidManifest.xml` file (multiple places)."}},"versionCode":{"description":"Version number required by Google Play. Increment by one for each release. Must be a positive integer. [Learn more](https://developer.android.com/studio/publish/versioning.html)","type":"integer","minimum":0,"maximum":2100000000,"meta":{"bareWorkflow":"This is set in `android/app/build.gradle` as `versionCode`"}},"backgroundColor":{"description":"The background color for your Android app, behind any of your React views. Overrides the top-level `backgroundColor` key if it is present.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`","bareWorkflow":"This is set in `android/app/src/main/AndroidManifest.xml` under `android:windowBackground`"}},"userInterfaceStyle":{"description":"Configuration to force the app to always use the light or dark user-interface appearance, such as \"dark mode\", or make it automatically adapt to the system preferences. If not provided, defaults to `light`. Requires `expo-system-ui` be installed in your project to work on Android.","type":"string","fallback":"light","enum":["light","dark","automatic"]},"useNextNotificationsApi":{"deprecated":true,"description":"@deprecated A Boolean value that indicates whether the app should use the new notifications API.","type":"boolean","fallback":false},"icon":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` key. We recommend that you use a 1024x1024 png file (transparency is recommended for the Google Play Store). This icon will appear on the home screen and within the Expo app.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"adaptiveIcon":{"description":"Settings for an Adaptive Launcher Icon on Android. [Learn more](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive)","type":"object","properties":{"foregroundImage":{"description":"Local path or remote URL to an image to use for your app's icon on Android. If specified, this overrides the top-level `icon` and the `android.icon` keys. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive). This icon will appear on the home screen.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundImage":{"description":"Local path or remote URL to a background image for your app's Adaptive Icon on Android. If specified, this overrides the `backgroundColor` key. Must have the same dimensions as foregroundImage`, and has no effect if `foregroundImage` is not specified. Should follow the [specified guidelines](https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive).","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image","square":true}},"backgroundColor":{"description":"Color to use as the background for your app's Adaptive Icon on Android. Defaults to white, `#FFFFFF`. Has no effect if `foregroundImage` is not specified.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}}},"additionalProperties":false},"playStoreUrl":{"description":"URL to your app on the Google Play Store, if you have deployed it there. This is used to link to your store page from your Expo project page if your app is public.","pattern":"^https://play\\.google\\.com/","example":"https://play.google.com/store/apps/details?id=host.exp.exponent","type":["string"]},"permissions":{"description":"List of permissions used by the standalone app. \n\n To use ONLY the following minimum necessary permissions and none of the extras supported by Expo in a default managed app, set `permissions` to `[]`. The minimum necessary permissions do not require a Privacy Policy when uploading to Google Play Store and are: \n• receive data from Internet \n• view network connections \n• full network access \n• change your audio settings \n• prevent device from sleeping \n\n To use ALL permissions supported by Expo by default, do not specify the `permissions` key. \n\n To use the minimum necessary permissions ALONG with certain additional permissions, specify those extras in `permissions`, e.g.\n\n `[ \"CAMERA\", \"ACCESS_FINE_LOCATION\" ]`.\n\n You can specify the following permissions depending on what you need:\n\n- `ACCESS_COARSE_LOCATION`\n- `ACCESS_FINE_LOCATION`\n- `ACCESS_BACKGROUND_LOCATION`\n- `CAMERA`\n- `RECORD_AUDIO`\n- `READ_CONTACTS`\n- `WRITE_CONTACTS`\n- `READ_CALENDAR`\n- `WRITE_CALENDAR`\n- `READ_EXTERNAL_STORAGE`\n- `WRITE_EXTERNAL_STORAGE`\n- `USE_FINGERPRINT`\n- `USE_BIOMETRIC`\n- `WRITE_SETTINGS`\n- `VIBRATE`\n- `READ_PHONE_STATE`\n- `com.anddoes.launcher.permission.UPDATE_COUNT`\n- `com.android.launcher.permission.INSTALL_SHORTCUT`\n- `com.google.android.c2dm.permission.RECEIVE`\n- `com.google.android.gms.permission.ACTIVITY_RECOGNITION`\n- `com.google.android.providers.gsf.permission.READ_GSERVICES`\n- `com.htc.launcher.permission.READ_SETTINGS`\n- `com.htc.launcher.permission.UPDATE_SHORTCUT`\n- `com.majeur.launcher.permission.UPDATE_BADGE`\n- `com.sec.android.provider.badge.permission.READ`\n- `com.sec.android.provider.badge.permission.WRITE`\n- `com.sonyericsson.home.permission.BROADCAST_BADGE`\n","type":"array","meta":{"bareWorkflow":"To change the permissions your app requests, you'll need to edit `AndroidManifest.xml` manually. To prevent your app from requesting one of the permissions listed below, you'll need to explicitly add it to `AndroidManifest.xml` along with a `tools:node=\"remove\"` tag."},"items":{"type":"string"}},"googleServicesFile":{"description":"[Firebase Configuration File](https://support.google.com/firebase/answer/7015592) Location of the `GoogleService-Info.plist` file for configuring Firebase. Including this key automatically enables FCM in your standalone app.","type":"string","meta":{"bareWorkflow":"Add or edit the file directly at `android/app/google-services.json`"}},"config":{"type":"object","description":"Note: This property key is not included in the production manifest and will evaluate to `undefined`. It is used internally only in the build process, because it contains API keys that some may want to keep private.","properties":{"branch":{"description":"[Branch](https://branch.io/) key to hook up Branch linking services.","type":"object","properties":{"apiKey":{"description":"Your Branch API key","type":"string"}},"additionalProperties":false},"googleMaps":{"description":"[Google Maps Android SDK](https://developers.google.com/maps/documentation/android-api/signup) configuration for your standalone app.","type":"object","properties":{"apiKey":{"description":"Your Google Maps Android SDK API key","type":"string"}},"additionalProperties":false},"googleMobileAdsAppId":{"description":"[Google Mobile Ads App ID](https://support.google.com/admob/answer/6232340) Google AdMob App ID. ","type":"string"},"googleMobileAdsAutoInit":{"description":"A boolean indicating whether to initialize Google App Measurement and begin sending user-level event data to Google immediately when the app starts. The default in Expo (Client and in standalone apps) is `false`. [Sets the opposite of the given value to the following key in `Info.plist`](https://developers.google.com/admob/ios/eu-consent#delay_app_measurement_optional)","type":"boolean","fallback":false},"googleSignIn":{"deprecated":true,"meta":{"deprecated":true},"description":"@deprecated Use `googleServicesFile` instead. [Google Sign-In Android SDK](https://developers.google.com/identity/sign-in/android/start-integrating) keys for your standalone app.","type":"object","properties":{"apiKey":{"description":"The Android API key. Can be found in the credentials section of the developer console or in `google-services.json`.","type":"string"},"certificateHash":{"description":"The SHA-1 hash of the signing certificate used to build the APK without any separator (`:`). Can be found in `google-services.json`. https://developers.google.com/android/guides/client-auth","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"splash":{"description":"Configuration for loading and splash screen for managed and standalone Android apps.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover`, `contain` or `native`, defaults to `contain`.","enum":["cover","contain","native"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"mdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Natural sized image (baseline)`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"hdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 1.5x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 2x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 3x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}},"xxxhdpi":{"description":"Local path or remote URL to an image to fill the background of the loading screen in \"native\" mode. Image size and aspect ratio are up to you. [Learn more]( https://developer.android.com/training/multiscreen/screendensities) \n\n `Scale 4x`","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}}},"intentFilters":{"description":"Configuration for setting an array of custom intent filters in Android manifest. [Learn more](https://developer.android.com/guide/components/intents-filters)","example":[{"autoVerify":true,"action":"VIEW","data":{"scheme":"https","host":"*.example.com"},"category":["BROWSABLE","DEFAULT"]}],"exampleString":"\n [{ \n \"autoVerify\": true, \n \"action\": \"VIEW\", \n \"data\": { \n \"scheme\": \"https\", \n \"host\": \"*.example.com\" \n }, \n \"category\": [\"BROWSABLE\", \"DEFAULT\"] \n }]","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"autoVerify":{"description":"You may also use an intent filter to set your app as the default handler for links (without showing the user a dialog with options). To do so use `true` and then configure your server to serve a JSON file verifying that you own the domain. [Learn more](developer.android.com/training/app-links)","type":"boolean"},"action":{"type":"string"},"data":{"anyOf":[{"type":"object","properties":{"scheme":{"description":"Scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"Hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"Port, e.g. `3000`","type":"string"},"path":{"description":"Exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":"Pattern for paths that should be matched by the filter, e.g. `.*`. Must begin with `/`","type":"string"},"pathPrefix":{"description":"Prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false},{"type":["array"],"items":{"type":"object","properties":{"scheme":{"description":"Scheme of the URL, e.g. `https`","type":"string"},"host":{"description":"Hostname, e.g. `myapp.io`","type":"string"},"port":{"description":"Port, e.g. `3000`","type":"string"},"path":{"description":"Exact path for URLs that should be matched by the filter, e.g. `/records`","type":"string"},"pathPattern":{"description":"Pattern for paths that should be matched by the filter, e.g. `.*`. Must begin with `/`","type":"string"},"pathPrefix":{"description":"Prefix for paths that should be matched by the filter, e.g. `/records/` will match `/records/123`","type":"string"},"mimeType":{"description":"MIME type for URLs that should be matched by the filter","type":"string"}},"additionalProperties":false}}]},"category":{"anyOf":[{"type":["string"]},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false,"required":["action"]},"meta":{"bareWorkflow":"This is set in `AndroidManifest.xml` directly. [Learn more.](developer.android.com/guide/components/intents-filters)"}},"allowBackup":{"description":"Allows your user's app data to be automatically backed up to their Google Drive. If this is set to false, no backup or restore of the application will ever be performed (this is useful if your app deals with sensitive information). Defaults to the Android default, which is `true`.","fallback":true,"type":"boolean"},"softwareKeyboardLayoutMode":{"description":"Determines how the software keyboard will impact the layout of your application. This maps to the `android:windowSoftInputMode` property. Defaults to `resize`. Valid values: `resize`, `pan`.","enum":["resize","pan"],"type":"string","fallback":"resize"},"jsEngine":{"description":"Specifies the JavaScript engine for Android apps. Supported only on EAS Build and in Expo Go. Defaults to `jsc`. Valid values: `hermes`, `jsc`.","type":"string","fallback":"jsc","enum":["hermes","jsc"],"meta":{"bareWorkflow":"To change the JavaScript engine, update the `expo.jsEngine` value in `android/gradle.properties`"}},"runtimeVersion":{"description":"**Note: Don't use this property unless you are sure what you're doing** \n\nThe runtime version associated with this manifest for the Android platform. If provided, this will override the top level runtimeVersion key.\nSet this to `{\"policy\": \"nativeVersion\"}` to generate it automatically.","oneOf":[{"type":"string","pattern":"^[a-zA-Z\\d][a-zA-Z\\d._+()-]*$","meta":{"regexHuman":"A string beginning with an alphanumeric character followed by any combination of alphanumeric character, \"_\", \"+\", \".\",\"(\",\")\" or \"-\". Example: \"1.0.3a+\"."}},{"type":"object","properties":{"policy":{"type":"string","enum":["nativeVersion","sdkVersion"]}},"required":["policy"],"additionalProperties":false}]}},"additionalProperties":false},"web":{"description":"Configuration that is specific to the web platform.","type":"object","additionalProperties":true,"properties":{"favicon":{"description":"Relative path of an image to use for your app's favicon.","type":"string"},"name":{"description":"Defines the title of the document, defaults to the outer level name","type":"string","meta":{"pwa":"name"}},"shortName":{"description":"A short version of the app's name, 12 characters or fewer. Used in app launcher and new tab pages. Maps to `short_name` in the PWA manifest.json. Defaults to the `name` property.","type":"string","meta":{"pwa":"short_name","regexHuman":"Maximum 12 characters long"}},"lang":{"description":"Specifies the primary language for the values in the name and short_name members. This value is a string containing a single language tag.","type":"string","fallback":"en","meta":{"pwa":"lang"}},"scope":{"description":"Defines the navigation scope of this website's context. This restricts what web pages can be viewed while the manifest is applied. If the user navigates outside the scope, it returns to a normal web page inside a browser tab/window. If the scope is a relative URL, the base URL will be the URL of the manifest.","type":"string","meta":{"pwa":"scope"}},"themeColor":{"description":"Defines the color of the Android tool bar, and may be reflected in the app's preview in task switchers.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"theme_color","html":"theme-color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"description":{"description":"Provides a general description of what the pinned website does.","type":"string","meta":{"html":"description","pwa":"description"}},"dir":{"description":"Specifies the primary text direction for the name, short_name, and description members. Together with the lang member, it helps the correct display of right-to-left languages.","enum":["auto","ltr","rtl"],"type":"string","meta":{"pwa":"dir"}},"display":{"description":"Defines the developers’ preferred display mode for the website.","enum":["fullscreen","standalone","minimal-ui","browser"],"type":"string","meta":{"pwa":"display"}},"startUrl":{"description":"The URL that loads when a user launches the application (e.g., when added to home screen), typically the index. Note: This has to be a relative URL, relative to the manifest URL.","type":"string","meta":{"pwa":"start_url"}},"orientation":{"description":"Defines the default orientation for all the website's top level browsing contexts.","enum":["any","natural","landscape","landscape-primary","landscape-secondary","portrait","portrait-primary","portrait-secondary"],"type":"string","meta":{"pwa":"orientation"}},"backgroundColor":{"description":"Defines the expected “background color” for the website. This value repeats what is already available in the site’s CSS, but can be used by browsers to draw the background color of a shortcut when the manifest is available before the stylesheet has loaded. This creates a smooth transition between launching the web application and loading the site's content.","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"pwa":"background_color","regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"barStyle":{"description":"If content is set to default, the status bar appears normal. If set to black, the status bar has a black background. If set to black-translucent, the status bar is black and translucent. If set to default or black, the web content is displayed below the status bar. If set to black-translucent, the web content is displayed on the entire screen, partially obscured by the status bar.","enum":["default","black","black-translucent"],"type":"string","fallback":"black-translucent","meta":{"html":"apple-mobile-web-app-status-bar-style","pwa":"name"}},"preferRelatedApplications":{"description":"Hints for the user agent to indicate to the user that the specified native applications (defined in expo.ios and expo.android) are recommended over the website.","type":"boolean","fallback":true,"meta":{"pwa":"prefer_related_applications"}},"dangerous":{"description":"Experimental features. These will break without deprecation notice.","type":"object","properties":{},"additionalProperties":true},"splash":{"description":"Configuration for PWA splash screens.","type":"object","properties":{"backgroundColor":{"description":"Color to fill the loading screen background","type":"string","pattern":"^#|(#)\\d{6}$","meta":{"regexHuman":"6 character long hex color string, for example, `'#000000'`"}},"resizeMode":{"description":"Determines how the `image` will be displayed in the splash loading screen. Must be one of `cover` or `contain`, defaults to `contain`.","enum":["cover","contain"],"type":"string"},"image":{"description":"Local path or remote URL to an image to fill the background of the loading screen. Image size and aspect ratio are up to you. Must be a .png.","type":"string","meta":{"asset":true,"contentTypePattern":"^image/png$","contentTypeHuman":".png image"}}},"meta":{"bareWorkflow":"Use [expo-splash-screen](https://github.com/expo/expo/tree/main/packages/expo-splash-screen#expo-splash-screen)"}},"config":{"description":"Firebase web configuration. Used by the expo-firebase packages on both web and native. [Learn more](https://firebase.google.com/docs/reference/js/firebase.html#initializeapp)","type":"object","properties":{"firebase":{"type":"object","properties":{"apiKey":{"type":"string"},"authDomain":{"type":"string"},"databaseURL":{"type":"string"},"projectId":{"type":"string"},"storageBucket":{"type":"string"},"messagingSenderId":{"type":"string"},"appId":{"type":"string"},"measurementId":{"type":"string"}}}}}}},"hooks":{"description":"Configuration for scripts to run to hook into the publish process","type":"object","additionalProperties":false,"properties":{"postPublish":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}},"postExport":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"file":{"type":"string"},"config":{"type":"object","additionalProperties":true,"properties":{}}}}}}},"experiments":{"description":"Enable experimental features that may be unstable, unsupported, or removed without deprecation notices.","type":"object","additionalProperties":false,"properties":{"turboModules":{"description":"Enables Turbo Modules, which are a type of native modules that use a different way of communicating between JS and platform code. When installing a Turbo Module you will need to enable this experimental option (the library still needs to be a part of Expo SDK already, like react-native-reanimated v2). Turbo Modules do not support remote debugging and enabling this option will disable remote debugging.","type":"boolean","fallback":false}}},"_internal":{"description":"Internal properties for developer tools","type":"object","properties":{"pluginHistory":{"description":"List of plugins already run on the config","type":"object","properties":{},"additionalProperties":true}},"additionalProperties":true,"meta":{"autogenerated":true}}} \ No newline at end of file