Google plus 实施谷歌&x2B;使用React Native登录
我想在React原生应用程序中集成G+登录(按照)。我已经通过Facebook登录,它运行得很好,但我不确定在G+文档的这一点上该怎么做: 在视图控制器的.h文件中,导入GooglePlus/GooglePlus.h,并声明此控制器类实现gppsignedelegate协议 如果有人能提供一些指针/代码示例Google plus 实施谷歌&x2B;使用React Native登录,google-plus,react-native,Google Plus,React Native,我想在React原生应用程序中集成G+登录(按照)。我已经通过Facebook登录,它运行得很好,但我不确定在G+文档的这一点上该怎么做: 在视图控制器的.h文件中,导入GooglePlus/GooglePlus.h,并声明此控制器类实现gppsignedelegate协议 如果有人能提供一些指针/代码示例 谢谢 所以这与React Native只有半相关性,因为您的主要问题似乎是编写G+登录的Obj-C端。为此,请抓取适用于Google Plus的iOS快速入门应用程序: 按照说明打开示例项
谢谢 所以这与React Native只有半相关性,因为您的主要问题似乎是编写G+登录的Obj-C端。为此,请抓取适用于Google Plus的iOS快速入门应用程序: 按照说明打开示例项目,您将找到包含以下行的SignInViewController.m文件:
@interface SignInViewController () <GPPSignInDelegate>
@接口符号查看控制器()
这似乎就是你想要的
一旦你有工作,你将需要实现连接,以反应本机。你链接到的Facebook帖子展示了如何做到这一点,但官方文档如下:
我还写了一篇文章,展示了我能想到的最简单的本机模块,我认为它很好地描述了一般概念:
编辑2017 Expo框架现在是react本机应用程序的默认框架,在该框架内,内置了谷歌认证: 世博会文件: 获取Android和iOS客户端ID:
从“React”导入React
从“Expo”导入Expo
从“反应本机按钮”导入按钮
类登录扩展了React.Component{
signInWithGoogleAsync=async()=>{
试一试{
const result=wait Expo.Google.logInAsync({
androidClientId:process.env.GOOGLE\u ANDROID\u CLIENT\u ID,
iosClientId:process.env.GOOGLE\u IOS\u CLIENT\u ID,
作用域:['profile'],
})
如果(result.type==='success'){
返回结果
}
返回{已取消:true}
}捕获(e){
返回{错误:e}
}
}
onLoginPress=async()=>{
const result=等待此消息。signInWithGoogleAsync()
//如果没有result.error或result.cancelled,则用户已登录
//对结果做点什么
}
render(){
返回(登录)
}
}
旧答案
现在有了一个用于登录react native的Google+库:经过这么多的努力,我已经解决了在react native应用程序中集成Google+signin所面临的所有问题。 请找到一个逐步的变化需要做 1.在Google云平台中创建项目: 我使用的是谷歌云平台,如果您不使用,您只需在谷歌控制台下启用API即可
implementation project(':react-native-google-signin')
如果您的应用程序正在使用一些其他依赖项,如react-native maps或react-native social share,则也可以进行以下更改
implementation(project(":react-native-google-signin")){
exclude group: "com.google.android.gms" // very important
}
compile(project(':react-native-maps')) {
exclude group: 'com.google.android.gms', module: 'play-services-base'
exclude group: 'com.google.android.gms', module: 'play-services-maps'
}
implementation 'com.google.android.gms:play-services-base:11.+'
implementation 'com.google.android.gms:play-services-maps:11.+'