diff --git a/README.md b/README.md index 74f85024..a8081c50 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,30 @@ ![React Native Google Sign In](img/header.png) -

- NPM Version -

+[![npm version](https://img.shields.io/npm/v/@react-native-google-signin/google-signin.svg)](https://www.npmjs.com/package/@react-native-google-signin/google-signin) +[![npm downloads](https://img.shields.io/npm/dm/@react-native-google-signin/google-signin.svg)](https://www.npmjs.com/package/@react-native-google-signin/google-signin) -❤️❤️ [New documentation site available!](https://react-native-google-signin.github.io/docs/install) ❤️❤️ +## Google Sign-In for React Native -[website sources live here](https://github.com/react-native-google-signin/docs/tree/main/docs) +`@react-native-google-signin/google-signin` provides Google authentication for React Native and Expo apps. + +This is the free (public) version, supporting Android and iOS. It uses the legacy Google Sign-In SDK on Android. + +**[Full documentation](https://react-native-google-signin.github.io/docs/install)** + +## Looking for a modern implementation not relying on deprecated APIs, and web or macOS support? + +[**Universal Sign In**](https://universal-sign-in.com) is the premium version of this package, built on modern Google identity APIs: + +- **Cross-platform**: Android (Credential Manager), iOS, web, and macOS from a single API +- **Config Doctor**: CLI tool that diagnoses Android configuration issues — no more hours lost to `DEVELOPER_ERROR` +- **Auto-detect**: Automatic configuration parameter detection for faster setup +- **Advanced security**: Custom nonce support, iOS App Check, and more +- **Maintained**: Your purchase keeps the package rock-solid and up-to-date with new Expo and React Native releases + +1 million+ npm downloads and trusted by indie hackers as well as large teams. + +[**Get a license**](https://universal-sign-in.com/#pricing) | [**See what's included**](https://react-native-google-signin.github.io/docs/install#premium) ## Licence -(MIT) +MIT diff --git a/package.json b/package.json index 9c1359d5..11b6e93e 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "@react-native-google-signin/google-signin", "version": "16.1.1", "description": "Google sign in for your react native applications", + "funding": "https://universal-sign-in.com", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", "source": "./src/index.ts", diff --git a/plugin/src/withGoogleSignIn.ts b/plugin/src/withGoogleSignIn.ts index 04bcea66..6fc92a5f 100644 --- a/plugin/src/withGoogleSignIn.ts +++ b/plugin/src/withGoogleSignIn.ts @@ -1,7 +1,6 @@ -import { appendScheme } from '@expo/config-plugins/build/ios/Scheme'; import type { ExpoConfig } from 'expo/config'; import { - ConfigPlugin, + type ConfigPlugin, AndroidConfig, IOSConfig, createRunOncePlugin, @@ -46,7 +45,11 @@ const withGoogleSignInWithoutFirebase: ConfigPlugin = ( export const withGoogleUrlScheme: ConfigPlugin = (config, options) => { return withInfoPlist(config, (config) => { - config.modResults = appendScheme(options.iosUrlScheme, config.modResults); + const scheme = options.iosUrlScheme; + const infoPlist = config.modResults; + if (!IOSConfig.Scheme.hasScheme(scheme, infoPlist)) { + config.modResults = IOSConfig.Scheme.appendScheme(scheme, infoPlist); + } return config; }); };