推荐开源项目:React Native Google Sign In
React Native Google Sign In 是一个为React Native应用程序提供Google登录功能的库。以下是如何使用这个库的一个基本示例:
首先,你需要在你的React Native项目中安装这个库:
npm install react-native-google-signin --save
或者使用yarn:
yarn add react-native-google-signin
接下来,你需要为React Native项目配置Google Sign In。对于iOS,你需要在Xcode中设置URL Scheme;对于Android,你需要在AndroidManifest.xml
中设置Client ID。
iOS配置示例:
- 在Xcode中,找到你的
Info.plist
文件。 - 添加一个新的URL Types配置。
- 设置URL Scheme为你的REVERD\_CLIENT\_ID,例如:
com.googleusercontent.apps.${REVERD_CLIENT_ID}
。
Android配置示例:
- 打开
android/app/src/main/AndroidManifest.xml
。 - 在
<application>
标签中添加以下元素,将${YOUR_CLIENT_ID}
替换为你的Google Sign In Client ID。
<meta-data android:name="com.google.android.gms.google_signin_client_id"
android:value="${YOUR_CLIENT_ID}"/>
然后,你可以在React Native代码中使用react-native-google-signin
库:
import { GoogleSignin } from 'react-native-google-signin';
async function signInWithGoogle() {
try {
await GoogleSignin.hasPlayServices();
const userInfo = await GoogleSignin.signIn();
// 登录成功,可以获取用户信息
console.log(userInfo);
} catch (error) {
if (error.code === statusCodes.SIGN_IN_CANCELLED) {
// 用户取消登录
console.log('用户取消登录');
} else if (error.code === statusCodes.IN_PROGRESS) {
// 登录进行中
console.log('登录进行中');
} else if (error.code === statusCodes.PLAY_SERVICES_NOT_AVAILABLE) {
// 谷歌服务不可用
console.log('谷歌服务不可用');
} else {
// 其他错误
console.log('登录失败', error);
}
}
}
确保在你的React Native项目中正确处理谷歌登录的状态,并在适当的时候调用signInWithGoogle
函数。这个示例假设你已经在你的项目中正确设置了Google Sign In。
评论已关闭