Skip to main content

Expo setup

Prepare your Expo project

note

This package cannot be used in Expo Go because it uses native code. This applies to both the Original and Universal modules.

However, you can add custom native code to an Expo app by using a development build. That is the recommended approach for production apps, and is documented in this guide.

Add config plugin

After installing the npm package, add a config plugin (read more details below) to the plugins array of your app.json or app.config.js. There are 2 config plugins available: for projects with Firebase, and without Firebase.

Expo without Firebase

If you're not using Firebase, provide the iosUrlScheme option to the config plugin.

To obtain iosUrlScheme, follow these instructions.

app.json | js
{
"expo": {
"plugins": [
[
"@react-native-google-signin/google-signin",
{
"iosUrlScheme": "com.googleusercontent.apps._some_id_here_"
}
]
]
}
}

Expo and Firebase Authentication

If you are using Firebase Authentication, follow these instructions to get google-services.json file for Android and these instructions) to get GoogleService-Info.plist for iOS.

Place them into your project and specify the paths to the files:

app.json | js
{
"expo": {
"plugins": ["@react-native-google-signin/google-signin"],
"android": {
"googleServicesFile": "./google-services.json"
},
"ios": {
"googleServicesFile": "./GoogleService-Info.plist"
}
}
}

Build the native app

Run the following to generate the native project directories.

npx expo prebuild --clean

Rebuild your app and read the config guide!

npx expo run:android && npx expo run:ios