Feature Requests

With Expo, you can write iOS and Android experiences in JavaScript using React Native.
[expo-audio] iOS: Expose MPNowPlayingInfoPropertyIsLiveStream for live/radio streams
## Summary expo-audio does not expose MPNowPlayingInfoPropertyIsLiveStream , which means live radio and streaming apps cannot show the native iOS LIVE indicator on the lock screen and Control Center. Instead, iOS renders a broken scrubber with no duration, which is incorrect UX for live streams. ## Environment Expo SDK: 55 expo-audio : ~55.0.8 Platform: iOS Use case: Live radio stream (no duration / infinite stream) ## Expected behavior When playing a live stream, the lock screen and Control Center should show: A LIVE badge instead of a progress scrubber No elapsed time or duration display This is the standard iOS behavior for any app streaming live audio (Apple Podcasts, Spotify, RadioApp, etc.) ## Actual behavior Lock screen shows a scrubber with no duration (stuck at 0 or broken) No LIVE indicator is shown There is no API in expo-audio to signal to iOS that the stream is live ## Requested API Add an isLiveStream boolean field to updateLockScreenMetadata (or equivalent): ```ts AudioPlayer.updateLockScreenMetadata({ title: "Station Name", artist: "Live Radio", isLiveStream: true, // new field }); On the native iOS side this should map to: ```swift nowPlayingInfo[MPNowPlayingInfoPropertyIsLiveStream] = true // Also clear duration and elapsed time for correctness: nowPlayingInfo.removeValue(forKey: MPMediaItemPropertyPlaybackDuration) nowPlayingInfo.removeValue(forKey: MPNowPlayingInfoPropertyElapsedPlaybackTime) MPNowPlayingInfoCenter.default().nowPlayingInfo = nowPlayingInfo ## Workaround There is currently no workaround within expo-audio . Achieving this requires either a native module or dropping down to react-native-track-player which supports isLiveStream out of the box. ## References Apple docs: https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyislivestream react-native-track-player implementation: https://rntp.dev/docs/api/objects/track#islivestream Similar request in expo-av : expo/expo#12606
0
Expose testing APIs for Google Play Age Signals (FakeAgeSignalsManager)
Add support in expo-age-range for the Google Play Age Signals testing APIs, specifically FakeAgeSignalsManager , so developers outside supported regions can test age-range functionality during development Little bit Background:- The Android implementation of expo-age-range uses the Google Play Age Signals API. However, this API is currently rolled out only in limited regions (e.g., Brazil and some US states like Texas). Developers in other regions (e.g., "India" in my case) cannot reliably test the API because real age signals are not available. Google provides an official testing mechanism through FakeAgeSignalsManager , which allows apps to simulate responses from the Age Signals API: https://developer.android.com/google/play/age-signals/test-age-signals-api Just to restate the Problem clearly:- Currently, expo-age-range does not expose a way to use FakeAgeSignalsManager . This makes it difficult or impossible for developers in unsupported regions to: Test the behavior of requestAgeRangeAsync Validate UX flows for different age thresholds Run automated tests or QA scenarios So I want the expo-age-range package to expose testing utilities from the Android Age Signals API via the Expo module. Note, these would be development only APIs and thus, wont be used in prod app Extra context on what i am working on: I am only doing expo-age-range implementation for android only for now. I have not explored testing for Declared Age Range framework on iOS as of now.
0
Load More