在iOS移动应用程序中将Geofire与Firebase一起使用

在本文中,我们将学习Firebase和GeoFire。 以下是我们将在本文中讨论的要点。

1)什么是Firebase?

2)如何在iOS应用程序中使用Firebase?

3)Firebase提供的服务。

4)什么是地火?

5)如何将iOS中的GeoFire与Example集成在一起?

如果您对Firebase有所了解,那么对本文的理解将更加容易。 好吧,我们将首先从Firebase开始,然后我们将了解Geofire在iOS移动应用程序中的作用。

火力地堡:

什么是Firebase?

Firebase是一项移动后端即服务,它提供了许多功能,可用于构建功能强大的移动应用程序。 Firebase提供的服务如下所述:

Firebase服务:

  • 实时数据库
  • 认证方式
  • 分析工具
  • 动态链接
  • 云储存
  • 测试实验室
  • 邀请
  • AdWords
  • 崩溃报告
  • 云功能
  • 云消息传递
  • 远程配置
  • 代管
  • 性能监控
  • 应用索引
  • AdMob

从上述所有功能中,实时数据库是最独特,最有趣的功能。 之所以称为实时数据库,是因为无论何时在数据库中进行任何更新,所有用户都无需交互即可在其移动应用程序中获取真实数据。

我们将通过一个示例来了解实时数据同步。 在详细介绍示例之前,我们将首先了解如何注册使用Firebase iOS SDK。 以下是相同的步骤,

iOS应用程序中的Firebase集成:

打开https://firebase.google.com/登录到您的google帐户,然后打开以下网址https://firebase.google.com/docs/,您会发现详细信息,如下图所示。

从上图提到的选项中选择“ iOS入门”。 选择相同的页面后,您将找到一个页面,其中逐步包含有关如何使用Firebase的所有信息。 但是,为了您的简单起见,我在这里也提到了所有步骤。

如果您还没有Xcode项目,请立即创建一个。

如果您没有Podfile,请创建一个:

$ cd your-project目录
$ pod init

添加您要安装的Pod。 您可以像这样在您的Podfile中包含Pod:

pod“ Firebase / Core”

这将添加在您的iOS应用中启动和运行Firebase所需的必备库以及Google Analytics for Firebase。 安装pod并打开.xcworkspace文件以查看Xcode中的项目。

$ pod安装
$打开your-project.xcworkspace

从Firebase控制台下载GoogleService-Info.plist文件,并将其包含在您的应用中。

单击“ +添加项目”,您将弹出一个询问项目名称和国家/地区的信息。 用适当的信息完成它并创建项目。

选择“将Firebase添加到iOS App”,您将看到以下弹出窗口。 在该弹出窗口中填写所需的信息,然后注册您的应用。 下载GoogleService-Info.plist文件。

将此文件拖放到XCode的项目目录中。

在下面的示例中,我们将使用名称,电子邮件ID和密码在Firebase中注册用户,在以后的部分中,我们会将用户的位置更新到数据库中。 我假设您具有iOS开发的基本知识,例如创建项目和使用UI控件。

启用电子邮件身份验证:

要在Firebase中注册用户,我们需要在Firebase中启用登录方法。要启用登录方法,请打开以下网址:https://console.firebase.google.com/project/fbchatapp-facaa/authentication/providers选择身份验证->登录方法,启用“电子邮件/密码”方法。

可以说,对于Login和Sign Up,我们分别具有LoginViewController和SignupViewController类。 同样对于用户列表,创建UserListViewController类。
首先,我们将为用户创建一个模型类,如下所述:

self.geoFire?.setLocation(位置,forKey:Auth.auth()。currentUser?.uid)

使用上面的代码行,我们有了geofire更新了用户在Firebase数据库中的位置。 如您所见,我已将用户ID(uid)设置为位置的键。 它应该是可以用来识别用户或任何其他实体的任何唯一密钥。 在本文后面的部分中,我们将使用此键来检索用户附近的位置。

最终,我们将获得位于我们位置一定半径内的用户列表。 为此,我们需要更新UserListViewController文件中的代码,如下所述。

如您在上面的代码中看到的,我们使用GFquery添加了观察者,用于特定位置和特定半径,它将从用户当前位置列出具有所提供半径的用户。 如果您已记下响应GFquery的密钥,则该密钥用于标识用户请求近距离访问的用户。

全部完成了…恭喜!

结论:

阅读本文后,我们可以得出结论,Geofire可以使基于位置的实时更新更轻松地实现到应用程序用户。 它选择性地仅加载某些位置附近的数据,即使有非常大的数据集,也可以使我们的应用程序轻巧且响应迅速。

感谢您阅读本文。