Expo setup
Prepare your Expo project
This package cannot be used in Expo Go because it requires custom native code. This applies to both the Original and Universal (one-tap) sign in methods.
However, you can add custom native code to an Expo app by using a development build. Using a development build 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 the guide.
{
"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, obtain the 2 Firebase config files (google-services.json
for Android and GoogleService-Info.plist
for iOS) according to the guide and place them into your project. Then specify the paths to the files:
{
"expo": {
"plugins": ["@react-native-google-signin/google-signin"],
"android": {
"googleServicesFile": "./google-services.json"
},
"ios": {
"googleServicesFile": "./GoogleService-Info.plist"
}
}
}
Rebuild the app
Then run the following to generate the native project directories.
npx expo prebuild --clean
Next, rebuild your app and you're good to go!
npx expo run:android && npx expo run:ios