Skip to main content

Installation

There are two ways to consume the package: paid and free. If you are an EAS customer, you may be able to access the paid version for free, learn more.

Why paid? According to the State of React Native Survey, unmaintained packages are the #1 pain point of the React Native ecosystem. Your purchase enables the module to be rock-solid, and contributions to upstream SDKs such as 1, 2, 3.

⭐️ Key Features:

🛡️ Advanced security features

🔧 Easier setup — Automatic detection of configuration parameters for faster integration.

📱 An example app — to showcase all features on native and web

Public version (free)

Available on the public npm registry, this version:

  • Uses the functional, but deprecated legacy Android Google Sign-In which may be removed from the Google Play Services Auth SDK (com.google.android.gms:play-services-auth) at some point (source). The free package will continue to use a version where the deprecated but functional SDK is present.
  • Has platform support limited to Android and iOS.
  • Contains none of the extra features listed above.

If you want to migrate from the public version to the Universal version, follow the migration guide.

Accessing the private npm package

The private npm package is like any other, but it's hosted on the GitHub npm packages registry, not the public npm registry. Therefore, a small bit of setup is needed:

  1. Obtain here a Personal Access Token with packages:read permission.

  2. Set up your package manager to fetch the package from the GH packages registry. In this example, we're using an NPM_TOKEN_GOOGLE_SIGN_IN environment variable.

create a .yarnrc.yml file in your project root with the following content:

.yarnrc.yml
npmScopes:
react-native-google-signin:
npmRegistryServer: https://npm.pkg.github.com
npmAuthToken: '${NPM_TOKEN_GOOGLE_SIGN_IN}'

If you use another package manager (such as Bun), refer to its documentation for setting up a custom registry.

Installing

yarn add @react-native-google-signin/google-signin@latest

After installing: if you're using the Universal version, open the lockfile (yarn.lock / package-lock.json...) and verify that the package is fetched from the GitHub registry (the entry must point to npm.pkg.github.com, not registry.npmjs.org). If it does not, it means the package manager is not configured correctly — try uninstalling and reinstalling the package.

There are several guides to follow now:

Requirements

For latest version of Universal Sign In, compileSdkVersion must be >= 35 and kotlinVersion must be >= 2.0.21 in your Android project. If you use Expo SDK 53 or newer, these requirements are already met. Use expo-build-properties to specify these values on Expo SDK <= 52.

The latest versions of the packages support the last three stable releases of React Native. Use older versions of the packages if you run older React Native.

React Native new architecture is supported.