You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/_oneTapModuleTable.mdx
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
> `const`**GoogleOneTapSignIn**: complex type, see below
2
2
3
-
The entry point of the Modern Sign In API, exposed as `GoogleOneTapSignIn`.
3
+
The entry point of the Universal sign in API, exposed as `GoogleOneTapSignIn`.
4
4
5
5
On the web, the signatures of `signIn`, `presentExplicitSignIn`, and `createAccount` are callback-based and on native they are Promise-based. Read more in the [guide](/docs/one-tap#web-support).
Copy file name to clipboardExpand all lines: docs/api/index.mdx
+6-6Lines changed: 6 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# API reference
2
2
3
-
## Modern sign in module
3
+
## Universal sign in module
4
4
5
5
### AuthorizationResponse
6
6
@@ -61,7 +61,7 @@ Parameters for enabling [App Check](/docs/security#appcheck). Provide `debugProv
61
61
|`openIdRealm`? |`string`| iOS only. The OpenID2 realm of the home web server. This allows Google to include the user's OpenID Identifier in the OpenID Connect ID token. |
62
62
|`profileImageSize`? |`number`| iOS only. The desired height and width of the profile image. **Default**`120px`|
63
63
|`scopes`? |`string`[]| iOS only. The Google API scopes to request access to. Use `requestAuthorization` to request additional scopes on Android. **Default**`["email", "profile"]`|
64
-
|`webClientId`|`WebClientId`| The web client ID obtained from Google Cloud console. In the Modern module only, pass `autoDetect` to automatically determine the value from Firebase config file.|
64
+
|`webClientId`|`WebClientId`| The web client ID obtained from Google Cloud console. In the Universal module only, pass `autoDetect` to automatically determine the value from Firebase config file. |
65
65
66
66
---
67
67
@@ -194,7 +194,7 @@ Learn more in the [guide](/docs/one-tap#requestauthorization).
194
194
195
195
> `const`**GoogleOneTapSignIn**: complex type, see below
196
196
197
-
The entry point of the Modern Sign In API, exposed as `GoogleOneTapSignIn`.
197
+
The entry point of the Universal sign in API, exposed as `GoogleOneTapSignIn`.
198
198
199
199
On the web, the signatures of `signIn`, `presentExplicitSignIn`, and `createAccount` are callback-based and on native they are Promise-based. Read more in the [guide](/docs/one-tap#web-support).
200
200
@@ -278,7 +278,7 @@ On the web, the signatures of `signIn`, `presentExplicitSignIn`, and `createAcco
|`loginHint`? |`string`| iOS only. The user's ID, or email address, to be prefilled in the authentication UI if possible. [See docs here](https://developers.google.com/identity/sign-in/ios/reference/Classes/GIDSignIn#-signinwithpresentingviewcontroller:hint:completion:). |
281
-
|`nonce`? |`string`| iOS only. A cryptographically random value used to mitigate replay attacks. Only available in the paid version. For support across all platforms, use the Modern sign in module.|
281
+
|`nonce`? |`string`| iOS only. A cryptographically random value used to mitigate replay attacks. Only available in the paid version. For support across all platforms, use the Universal sign in module. |
282
282
283
283
---
284
284
@@ -592,13 +592,13 @@ The response to calling One Tap's `signIn` and Original Google Sign In's `signIn
Copy file name to clipboardExpand all lines: docs/buttons/web.mdx
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -3,15 +3,15 @@
3
3
This is the sign-in button that you can use in web apps. It renders `null` when used in native apps.
4
4
It has a slightly different API than the native `GoogleSigninButton` component which is why it exists as a separate component.
5
5
6
-
:::tip
7
-
Web support is only available in the paid version. [It takes just a few clicks to get access](/docs/install.mdx#obtaining-access) ❤️.
8
-
:::
6
+
importBannerfrom'../_sponsorBanner.mdx';
7
+
8
+
<Banner />
9
9
10
10
The button will _not render_ before the [Google Client API has been loaded](../setting-up/web). You can use the `onError` prop to detect this case.
11
11
12
12
### How to use this
13
13
14
-
As the Modern Sign In Guide explains, there are two ways to sign in on the web: using the One-tap UI or using the Google Sign-In button.
14
+
As the Universal sign in Guide explains, there are two ways to sign in on the web: using the One-tap UI or using the Google Sign-In button.
15
15
16
16
One-tap UI may not always be available: This happens if user has [opted out](https://developers.google.com/identity/gsi/web/guides/features#globally_opt_out) or when they close the dialog several times in a row, entering the [cooldown period](https://developers.google.com/identity/gsi/web/guides/features#exponential_cooldown).
Copy file name to clipboardExpand all lines: docs/errors.md
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -45,10 +45,10 @@ See [example usage](original#signin).
45
45
|`IN_PROGRESS`| Trying to invoke another operation (e.g. `signInSilently`) when previous one has not yet finished. If you call e.g. `signInSilently` twice, two calls to `signInSilently` in the native module will be done. The promise from the first call to `signInSilently` will be rejected with this error, and the second will resolve / reject with the result of the native call. |
46
46
|`PLAY_SERVICES_NOT_AVAILABLE`| Play services are not available or outdated. This happens on Android, or on the web when you're calling the exposed APIs [before the Client library is loaded](setting-up/web). |
47
47
48
-
### Status codes specific to Modern sign in {#modern-status-codes}
48
+
### Status codes specific to Universal sign in {#universal-status-codes}
|`ONE_TAP_START_FAILED`| Thrown only on Android when the Modern sign in UI cannot be presented. This happens during the [cooldown period](https://developers.google.com/identity/gsi/web/guides/features#exponential_cooldown). You can still call `presentExplicitSignIn` in that case. |
|`ONE_TAP_START_FAILED`| Thrown only on Android when the Universal sign in UI cannot be presented. This happens during the [cooldown period](https://developers.google.com/identity/gsi/web/guides/features#exponential_cooldown). You can still call `presentExplicitSignIn` in that case. |
- Android: Built with [Credential Manager library](https://developers.google.com/identity/android-credential-manager)
18
+
- Web: Uses [Sign In with Google for Web](https://developers.google.com/identity/gsi/web/guides/features)
19
+
- iOS & macOS: Powered by the [Google Sign-In SDK](https://developers.google.com/identity/sign-in/ios/start)
20
+
21
+
-**Licensed:** see [pricing](https://rngs-package.com/#pricing) and [license](https://rngs-package.com/license).
22
+
-**Trusted**: Over 130k npm package downloads.
23
+
-**See the UI**: [screenshots](screenshots) of the features.
24
+
-**Faster Sign-Ups**: Reduce sign-up and sign-in times on Android by up to 50%, according to [Google](https://developer.android.com/identity/sign-in/legacy-gsi-migration#authentication).
✅**An example app** - to showcase all **Modern Sign In** features
32
+
📱**An example app** - to showcase all Universal sign in features
28
33
29
-
Your support helps improve the module and upstream SDKs (such as [1](https://github.com/openid/AppAuth-iOS/pull/788), [2](https://github.com/google/GoogleSignIn-iOS/pull/402)).
34
+
Your purchase enables improvements in the module and upstream SDKs (such as [1](https://github.com/openid/AppAuth-iOS/pull/788), [2](https://github.com/google/GoogleSignIn-iOS/pull/402)).
30
35
31
36
### Public version
32
37
33
38
Available on the public npm registry, this version:
34
39
35
40
- Has platform support limited to Android and iOS.
36
-
- Uses functional, but deprecated [Legacy Android Google Sign-In](https://web.archive.org/web/20240308064911/https://developers.google.com/identity/sign-in/android/start-integrating).
41
+
- Uses functional, but deprecated [legacy Android Google Sign-In](https://web.archive.org/web/20240308064911/https://developers.google.com/identity/sign-in/android/start-integrating).
37
42
- Contains none of the extra features listed above.
38
43
39
-
## Obtaining access to the Modern version{#obtaining-access}
44
+
## Obtaining Universal Sign In{#obtaining-access}
40
45
41
-
[Upon purchasing a license](https://rngs-package.com/), you will be able to configure your (or your colleagues') access to the private npm package and to the private repo with the sources and examples. Alternatively, as an Expo customer, obtain access through [this form](https://forms.gle/tpP7TfUGW1CwgaEZ8).
46
+
Universal sign in requires [purchasing a license](https://rngs-package.com/#pricing), after which you will be able to configure your (or your colleagues') access to the private npm package and to the private repo with the sources and examples. Alternatively, as an Expo customer, obtain access through this [form](https://forms.gle/tpP7TfUGW1CwgaEZ8).
42
47
43
48
[//]: #'Note that this version is distributed under a [custom license](license).'
44
49
45
-
Three steps are needed to access the private package, which is hosted on [GitHub npm packages registry](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry).
50
+
## Accessing the private npm package {#package-manager-setup}
46
51
47
-
1.[Purchase a license](https://rngs-package.com/) to immediately set up access. Alternatively, [complete the form](https://forms.gle/tpP7TfUGW1CwgaEZ8).
52
+
The private npm package is like any other, but it's hosted on the [GitHub npm packages registry](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry), not the public npm registry. Therefore, a small bit of setup is needed:
48
53
49
-
2.[Obtain here](https://github.com/settings/tokens/new?description=react-native-google-sign-in&scopes=read:packages) a Personal Access Token with `packages:read` permission.
54
+
1.[Obtain here](https://github.com/settings/tokens/new?description=react-native-google-sign-in&scopes=read:packages) a Personal Access Token with `packages:read` permission.
50
55
51
-
3. Set up your package manager so that it fetches the package from the GH packages registry instead of the public registry. In this example, we're using an `NPM_TOKEN_GOOGLE_SIGN_IN` environment variable.
56
+
2. Set up your package manager so that it fetches the package from the GH packages registry instead of the public registry. In this example, we're using an `NPM_TOKEN_GOOGLE_SIGN_IN` environment variable.
52
57
53
58
importTabsfrom'@theme/Tabs';
54
59
importTabItemfrom'@theme/TabItem';
@@ -82,12 +87,6 @@ import TabItem from '@theme/TabItem';
82
87
83
88
If you use another package manager ([such as Bun](https://bun.sh/docs/install/registries)), refer to its documentation on how to set up a custom registry.
84
89
85
-
## Requirements
86
-
87
-
The packages support last 3 stable releases of React Native. Unofficially, they may work with older versions too.
88
-
89
-
If you're using the [New Architecture](https://reactnative.dev/docs/new-architecture-intro), it's strongly recommended to use the latest React Native version available.
90
-
91
90
## Installing
92
91
93
92
<Tabs queryString="package-manager">
@@ -107,10 +106,16 @@ If you're using the [New Architecture](https://reactnative.dev/docs/new-architec
107
106
108
107
</Tabs>
109
108
110
-
If you're using the Modern 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 that your package manager is not configured correctly - try uninstalling and reinstalling the package.
109
+
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 that your package manager is not configured correctly - try uninstalling and reinstalling the package.
111
110
112
111
There are several guides to follow now:
113
112
114
113
- [Expo guide](setting-up/expo) for native mobile apps built with Expo
115
114
- [Web guide](setting-up/web) if you want to use the package on web
116
115
- If you're not using Expo but plain React Native, follow [Android guide](setting-up/android) and [iOS guide](setting-up/ios)
116
+
117
+
## Requirements
118
+
119
+
The packages support last 3 stable releases of React Native. Unofficially, they may work with older versions too.
120
+
121
+
If you're using the [New Architecture](https://reactnative.dev/docs/new-architecture-intro), it's strongly recommended to use the latest React Native version available.
Copy file name to clipboardExpand all lines: docs/migrating.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ sidebar_label: Migrating
7
7
8
8
Version 13 introduced a new JS API, which changes some method response signatures and makes minor changes to error handling (details [here](https://github.com/react-native-google-signin/google-signin/pull/1326)). If you're upgrading from version 12 or earlier, you'll need to make some minor adjustments.
9
9
10
-
## Modern sign in module
10
+
## Universal Sign In
11
11
12
12
1. Add the [`configure`](one-tap#configure) method to your code. This method is required to be called to configure the module.
0 commit comments