npm 包 React Native Google Signin Benestudio2 的使用教程

在现今的移动应用开发中,社交认证(Social Authentication)已经成为了必须的一个功能,而 Google 账号也是其中最受欢迎的选择之一。而我们可以通过 npm 包 React Native Google Signin Benestudio2 来轻松地在 React Native 应用中加入 Google 账号的认证功能。

安装 React Native Google Signin Benestudio2

我们可以在项目根目录下使用如下的命令来安装 React Native Google Signin Benestudio2:

--- ------- -------------------------------------- ------

如果你使用 yarn 包管理器的话,可以使用以下命令:

---- --- --------------------------------------

配置 Google API

要使用 Google 登录,我们需要先配置相应的 Google API。在进行下一步之前,我们需要:

  1. Google APIs Console 中创建一个新的项目(或使用已有的项目)
  2. 打开该项目,并在左侧导航栏中选择 “APIs & Services -> Credentials”
  3. 在页面顶部选择 “Create credentials -> OAuth client ID”
  4. 在弹出的表单中选择 “Mobile app”
  5. 在 “Package name” 和 “Key hashes” 输入相应的信息
  6. 在 “Authorized redirect URIs” 中输入:com.googleusercontent.apps.{your-client-id}:/oauth2redirect/google (其中 {your-client-id} 替换成你自己的客户端 ID)。这个 URI 在我们下一步代码的实现中还会用到。
  7. 完成创建,并记下你所得到的客户端 ID。

配置 React Native 项目

在我们开始使用 React Native Google Signin Benestudio2 之前,我们还需要在应用中进行一些设置。

安装 deep-linking 库

React Native Google Signin Benestudio2 使用了深度链接(Deep Linking)的方式来进行 Google 账号的认证,因此我们还需要安装一个深度链接库。我这里选择的是 react-native-deep-linking

你可以使用以下命令来安装它:

--- ------- ------------------------- ------

或者使用 yarn:

---- --- -------------------------

配置深度链接

一旦我们的项目中有了深度链接库,我们就需要在 AndroidManifest.xmlAppDelegate.m 这两个文件中进行一些设置来支持深度链接。

Android

打开 android/app/src/main/AndroidManifest.xml,在 <application> 标签中添加:

---------------
    ------- ----------------------------------------- --
    --------- ---------------------------------------------- --
    --------- ------------------------------------------------ --
    ----- ------------------------------------------------------------ ----------------------------- --
----------------

注意将 {your-client-id} 替换成你自己的客户端 ID。

iOS

打开 ios/{你的项目名}/AppDelegate.m,在文件头部添加:

------- -----------------

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url … 函数中添加如下代码:

-------------- ----------------------- ----------- -----------------
------ ----

配置 GoogleSignin

react-native-google-signin-benestudio2 v7.1.0 到 React Native 的区别

第七次迁移过来,导致了我以前的一些文本原本都是ReactNativeGoogleSignIn针对7.0.2以下版本的。但是在 7.1.0 版本中这个已经不适用了。

从v7.1.0开始,package在改变的同时,在安装时,你需要关注一下依赖项是否可以支持。Google 本身会不时更新他们的SDK。随时可能需要更新插件以配合SDK所做的更改。

大的改变有以下几项:

  • package改动了,需要import 的包的便以改变。主要是GoogleSignin改为 GoogleSignIn (变量首字母大写)
  • 7.1.0 要求支持使用pod来管理iOS端的依赖,7.1.0以下则是手动加入,具体说明会在后面有讲解

打开你的 App.js 文件,添加如下代码:

------ ------ ----------- ---- --------
------ ------ ----- ------- ---- ---------------
------ -
  -------------
  -------------------
  ------------
- ---- -----------------------------------------


------ ------- ----- --- ------- --------- -
  ------------------ -
    -------------

    ---------- - -
      --------- -----
    --
  -

  ------------------- -
    ------------------------
      ------- ---------- -------- -----------
      ------------ -----------------------
      -------------- -----
      ------------- ---
      ---------- ---
      ------------------------- -----
      ------------ ---
      ------------ -----------------------
    ---

    ----------------------------------------------------------- -------
  -

  ------ - ----- -- -- -
    --- -
      ----- -------------------------------
      ----- -------- - ----- ----------------------
      ------------------------ -----------
    - ----- ------- -
      -- ----------- --- ------------------------------ -
        -- ---- --------- --- ----- ----
      - ---- -- ----------- --- ------------------------ -
        -- --------- ----- ---- --- -- -- -------- -------
      - ---- -- ----------- --- ---------------------------------------- -
        -- ---- -------- --- --------- -- --------
      - ---- -
        -- ---- ----- ----- --------
      -
    -
  --

  -------- -
    ------ -
      ----- ------------- -- --------------- --------- ----------- -----------
        -------------------
          -------------- ---- ------- ----
          -----------------------------------
          --------------------------------------
          ---------------------
        --
        -------------------- -- -
          ----- ----------------- --- --------------- -----
            ------------------------------------------
          -------
        --
      -------
    --
  -
-

注意将 {your-web-client-id}{your-ios-client-id} 分别替换成你自己在上文中获取到的 Web 和 iOS 客户端 ID。

运行项目

我们已经完成了 React Native Google Signin Benestudio2 的安装和配置,现在可以用以下命令在模拟器或真机上运行 React Native 应用:

------------ -----------

或者

------------ -------

如果你想了解更多细节或遇到了困难,可以参考原项目的 Github 页面 以获取更详细的信息。

无论在开发中还是生产发布之前,我们一定要确保了文档的完整性和正确性。因此,我通过本篇文章的写作,试图提供一份详细且深入的 React Native Google Signin Benestudio2 的使用教程,帮助前端开发人员更好地应用 Google 账号认证功能到 React Native 应用中。希望这个教程对大家在实践中有所帮助。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005530281e8991b448d0633


猜你喜欢

  • npm 包 guppy-pre-flow-bugfix-finish 使用教程

    概述 guppy-pre-flow-bugfix-finish 是一个 Node.js 模块,用于批量执行项目的 commit message 格式规范化操作。它支持 Git Flow 工作流下的预发...

    2 年前
  • npm 包 @beardedtim/fp-iterators 使用教程

    简介 @beardedtim/fp-iterators 是一个基于函数式编程的 npm 包,提供了一系列的迭代器操作函数。 该包可以帮助开发者使用函数式编程范式来操作 JavaScript 数组或任何...

    2 年前
  • npm 包 paho 使用教程

    介绍 Paho 是 Eclipse 开发的一个支持多种协议的 MQTT 客户端 JavaScript 库,可以用于实现 Web 应用中的 MQTT 消息传输。其中,MQTT 是一种轻量级、基于发布/订...

    2 年前
  • npm 包 ng2-markdown-directive 使用教程

    Markdown 是一种轻量级的标记语言,它最初由 John Gruber 创造,旨在让人们写作简洁、易读易写。在 web 开发中,我们经常需要将 Markdown 格式的文本转换成 HTML,以展示...

    2 年前
  • npm 包 zf-admin 使用教程

    前端开发中,经常需要使用各种第三方的包来进行项目的开发。npm 是目前最常用的包管理工具之一。在众多的 npm 包中,zf-admin 是一个非常受欢迎的包。本文将会介绍 zf-admin 的使用教程...

    2 年前
  • npm 包 vui-platforms 使用教程

    在前端开发中,我们经常需要使用各种各样的 UI 组件来满足用户的需求。vui-platforms 就是一个提供了各种 UI 组件的 npm 包。本篇文章将详细介绍 vui-platforms 的使用方...

    2 年前
  • npm 包 http-template-literal 使用教程

    在前端开发中,我们常常需要使用模板来构建 HTML 页面。而传统的字符串拼接方式会显得非常繁琐和易错,特别是当我们需要在模板中嵌入大量变量时。近些年来,随着 ES6 标准的普及,一种新的模板字符串语法...

    2 年前
  • npm 包 jquery-svg-popup 使用教程

    在前端开发中,我们经常会遇到需要弹出窗口,提示信息等等。解决方案之一就是使用 jquery-svg-popup 这个 npm 包。本文将详细介绍如何使用该包。 什么是 jquery-svg-popu...

    2 年前
  • npm 包 wordcut-ts 使用教程

    在前端开发中,经常需要对文本进行处理,比如自然语言处理、搜索引擎优化等。为了方便开发和减少重复劳动,npm 上有许多处理文本的包,其中一个常用的 npm 包是 wordcut-ts。

    2 年前
  • npm 包 ng-tinymce 使用教程

    #npm 包 ng-tinymce 使用教程 在前端开发中,富文本编辑器扮演着非常重要的角色。Tinymce 是一种非常流行的富文本编辑器,而 ng-tinymce 是一个 Angular 模块,用于...

    2 年前
  • npm 包 prop-env 使用教程

    前言 在前端开发中,我们常常需要通过环境变量来区分不同的环境配置。例如在开发环境中需要使用本地 API,而在生产环境中需要使用线上 API。而 npm 包 prop-env 就是能够很好地解决这个问题...

    2 年前
  • npm 包 after-midnight 使用教程

    前言 在前端开发中,经常需要对时间进行处理,而 after-midnight 是一个对时刻进行相关操作的 npm 包,它提供了一些实用的方法来操作时间,如时间转换、时间戳转换等,使得时间处理更加的方便...

    2 年前
  • npm 包 angular-select 使用教程

    Angular-select 是一个强大的 AngularJS 模块,可以轻松创建一个完整的下拉框组件。它具有多个选项,可以自定样式,可搜索,可分组等。该模块可以让开发人员快速添加下拉框功能,同时也可...

    2 年前
  • npm 包 reassemble 使用教程

    前言 在前端开发中,通常需要将一些杂乱无章的数据进行组合,排序和过滤。而 "reassemble" 是一款非常优秀的数据集操作工具,它可以帮助我们快速处理数据集。接下来,本文将详细介绍npm 包 re...

    2 年前
  • npm 包 with-jet 使用教程

    介绍 with-jet 是一个基于 React 的 UI 库,提供了许多好用的组件和样式,可以帮助我们更快速地开发前端应用。该库支持基于 Bootstrap 4, Material UI 和 Ant ...

    2 年前
  • NPM包"Alfred-bamboo"的使用教程

    什么是NPM包"Alfred-bamboo"? "Alfred-bamboo"是一个可以在Alfred中搜索并访问Atlassian Bamboo的工具,它由noffle开发并发布到npm上。

    2 年前
  • npm 包 zeppelin-highcharts-bubble 使用教程

    在前端数据可视化中,Highcharts 是一款非常流行的图表库。与此同时,Zeppelin 则是一种数据开发和协同工作环境,可以让用户以交互式方式进行数据探索、可视化与协作。

    2 年前
  • npm 包 common-js 使用教程

    npm 是 Node.js 自带的包管理器,它可以让我们轻松地安装、升级和管理 Node.js 模块。而 common-js(也叫 CommonJS)是 Node.js 的一个标准,用于定义模块的导入...

    2 年前
  • npm 包 collapse-decorator 使用教程

    简介 collapse-decorator 是一个在前端使用的 npm 包,主要用于快速实现折叠元素的功能。借助这个包,开发者可以轻松地为网站添加折叠菜单、伸缩表格等交互体验。

    2 年前
  • npm 包 vui-input-types 使用教程

    介绍 vui-input-types 是一种简单的前端工具,可以为 HTML input 元素提供自定义输入类型,以便在表单中验证输入值的有效性。它提供了许多不同的输入类型,例如 email、phon...

    2 年前

相关推荐

    暂无文章