Firebase 集成 Google、Facebook登录

activity-beach-dawn-1553959

Android 应用出海,一般都会使用 Firebase,功能非常强大。


准备工作

  • 科学上网
  • Google 账号,Facebook 账号
  • APP 名称及包名。
  • APP 的签名文件


Firebase 介绍

FireBase官网 (科学上网)

看到官网网址就知道,这是 Google 的产品。

不过最初,Firebase是一家实时后端数据库创业公司,2014 年 Google 收购 Firebase 后,结合自身 Google 云服务后,功能更加强大。网页或移动开发者无需服务器以及基础设施,可以轻松构建简单 APP。

先来张官网图,看看包含哪些内容:

image-20190821140852884

常用的功能包括:第三方登录FCM 消息推送统计分析云数据库 等。


Firebase 使用

Firebase 的使用非常简单

  • 使用 Google 账户登录 Firebase

    进入 FireBase , 点击右上角「Sign in」,使用 google 账号登录,然后 「转到控制台」

    image-20190821143208867

  • 创建应用

    image-20190821143623784

    点击创建项目,填写 「项目名称」,然后同意各种协议,最后创建项目,等待项目创建成功。

  • 集成 Firebase sdk

    image-20190821144114135

    创建成功后,自动进入该项目的控制台,然后点击对应平台的集成按钮。如图,是 Android 应用集成。

    image-20190821144314707

    按图示步骤,填写软件包名、应用别名、以及应用签名文件的 SHA-1值,SHA-1 值一定要填写。

    (建议 debug 和 release 使用相同签名)

    查看应用签名信息有两种方式:

    1.使用命令 keytool -list -v -keystore keystore.jks

    2.使用 Android studio 右侧 Gradle 面板,点击 项目的 Tasks -> android -> signingReport

    注册应用后,根据提示,下载配置文件,将其放置到正确位置。

    然后根据页面提示,在项目中添加依赖。

    同步项目后,构建运行,验证 Firebase 是否安装成功。

Firebase 集成成功后,我们才能根据自己的需要,添加其它功能。


Google 登录

官方集成文档 ,有些注意事项。

  1. 首先,请确保 Firebase sdk 安装成功了。

  2. 然后,在 Firebase 项目的控制面板上,开启Google 登录,并填写邮箱(一定要填写)。image-20190821152243212

  3. 如果在之前集成 Firebase 时,没有填写 SHA-1 值,可以如图所示添加,同时确认是否添加电子邮箱。

    image-20190821153007832

  4. Google Cloud Platform 上,填写 「OAuth 同意屏幕」,上传图片并保存。刚开始还不知道要填写这个,然后花式填坑,最后才试验出来,需要填写这个。

    image-20190821160357141

  5. 然后就是添加依赖,代码调用等,这个相对比较简单,按照官网文档来就行,就不多说了。


Facebook 登录

官方文档

  1. Facebook for developer 官网 ,使用 Facebook 账号登录,然后创建应用后,会自动指引添加 Facebook SDK,步骤有点多,但非常详细,需要填写「软件包名」、「密钥散列」等,按照文档一步步来。

  2. 如图示查询「应用编号」及「应用密钥」,后面需要用到,然后填写基本信息。目前是开发状态,测试时只允许Facebook 测试用户登录,如果要发布,则需要提交审核。

    image-20190821162525651

  3. 在 Firebase 项目的控制面板中开启 Facebook 登录,并填写 Facebook 上「应用编号」、「应用密钥」,然后复制这里的回调地址,保存修改。

    image-20190821162743605

  4. 将上述地址填写到 Facebook 对应的位置,然后保存。

    image-20190821163443608

  5. 最后,在控制面板中修改测试用户的密码,就可以使用此用户来测试登录功能了

    image-20190821164552426


参考

将 Firebase 添加到您的 Android 项目

在 Android 上使用 Google 登录服务进行身份验证

在 Android 上使用 Facebook 登录服务进行身份验证

Android 版应用事件入门指南