Feature Requests

With Expo, you can write iOS and Android experiences in JavaScript using React Native.
[expo-location][Android] Support Android 17 Location Button (required by Google Play location policy, Jan 27, 2027)
Android 17 introduces the Location Button, a system-rendered button that grants precise location for the current session without a standing ACCESS_FINE_LOCATION grant. Android docs: https://developer.android.com/guide/topics/permissions/private-alternatives/location-button expo-location (including the in-progress expo-location/next rewrite) doesn't expose it yet, and I couldn't find an existing issue or community library for it. Google Play announced on April 15, 2026 an update to its Location Permissions policy. It makes the location button the recommended minimum scope for precise location, with the change taking effect on January 27, 2027. Many Expo apps request precise location only for one-off, in-session actions ("use my current location", check-in, nearby search). Those apps will likely be expected to use the location button instead of requesting ACCESS_FINE_LOCATION. Without first-party support, every affected app has to write and maintain its own native module before the deadline. PROPOSED API (ROUGH IDEA) A native view component exported from expo-location (or expo-location/next), for example: <LocationButton onResult={({ granted }) => { ... }} /> An availability check, so apps can fall back to the existing permission flow on Android 16 and below and on iOS, for example: Location.isLocationButtonAvailable() // true only on Android 17+ OPEN QUESTIONS Which appearance options should be exposed as props, as far as the platform allows customization? How should a session grant be reported by getForegroundPermissionsAsync() and useLocationForegroundPermissions()? With the expo-location/next rewrite underway, it would help to know whether this is planned and roughly which SDK version it might land in. My Team need to decide soon whether to wait or build their own wrapper before January. Happy to help.
1
Please make the data shown in EAS Insights > App usage available through a documented, token-authenticated API
## Summary Please make the data shown in EAS Insights > App usage available through a documented, token-authenticated API, so we can pull it into our own dashboards on a schedule. ## Use case We ship a production app with expo-insights , with about 20k monthly active users on iOS and Android. We are building an internal dashboard that combines Insights with App Store Connect and Google Play data. It answers three questions: How many people use the app each month? How fast does each release get adopted? How many users get left behind when we raise the minimum OS version? Insights is the only source that counts active users across every installed version of the app. EAS Observe only covers builds on SDK 55 and later. App Store Connect only counts users who share analytics with developers, and Google Play counts installs rather than active users. ## Current workaround The Expo website reads these GraphQL fields, and they work with a robot access token: app.byId(appId).insights.totalUniqueUsers(timespan) app.byId(appId).insights.uniqueUsersByPlatformOverTime(timespan) app.byId(appId).insights.uniqueUsersByAppVersionOverTime(timespan) They are undocumented and eas-cli does not use them, so we cannot rely on them staying stable. ## What would help Official, documented access to the existing App usage metrics with a robot access token. A versioned GraphQL schema or a REST endpoint would work. So would an eas insights:* command with JSON output, like eas observe:* . App versions broken down by platform. Today the per-version series mixes iOS and Android, so we can't tell which platform the users of an old version are on. An OS version breakdown. expo-insights already sends os_version with every APP_LAUNCH event (the iOS version on iOS, the API level on Android), but neither the dashboard nor the API exposes it. Unique users per OS version, and per app version and OS version, would show how many users a minimum OS bump leaves behind. Documented semantics. What counts as a unique user (one per EAS client ID, so one per install?), the timezone and boundaries of daily and hourly buckets, and the retention period. We currently see about 365 days of history. Optionally, a way to tell app variants apart. The event carries no bundle identifier, so dev, test and production builds that share one EAS project are counted together.
0
Load More
→