jjPlusPlus / bringme-react-native

A scavenger hunt game using React Native and MLKit
0 stars 1 forks source link

Investigate WebRTC for live audio/video connections #24

Open jjPlusPlus opened 1 year ago

jjPlusPlus commented 1 year ago

Overview We would like to include a shared live feed of each player's camera & audio in the final production release of BringMe. However, one of the goals of the BringMe implementation is to launch without leaving the Expo environment like we did in our previous attempt (Firebase & on-device ML tools required ejecting from Expo).

Goals

  1. Attempt to set up real-time audio/video connection between users in BringMe
  2. Enable WebRTC in the BringMe app without ejecting from Expo
  3. Enable real-time audio/video that can be tested on the iOS simulator in addition to the test devices running Expo Go

Resources

jjPlusPlus commented 1 year ago

Seems like React native WebRTC can't be used in tandem with Expo Go.

Via the react-native-webrtc repo: As this module includes native code it is not available in the Expo Go app by default. However you can get things working via the expo-dev-client library and out-of-tree config-plugins/react-native-webrtc package.

This is going to cause us a fair amount of pain (to manually spin up development environments or builds with either expo-dev-client or EAS Build, setting up environments in Xcode / Android Studio). I was really hoping that we'd be able to get a build out without ejecting from Expo. So I suppose we will leave this module to last.