在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可以使基于位置的实时更新更轻松地实现到应用程序用户。 它选择性地仅加载某些位置附近的数据,即使有非常大的数据集,也可以使我们的应用程序轻巧且响应迅速。
感谢您阅读本文。
- 是否有可能caching身份validation令牌加速与iOS的Firebaselogin?
- Firebase查询 – 我得到一些types的NSArray作为结果(有时只)
- 将所有子值检索到表格视图单元格中的标签
- Swift /如何使用dispatch_group与多个被称为Web服务?
- 在UITableViewCell中的UIImageView或AVPlayer(照片或video)
- 通过cURL / PHP发送的设备上未收到Firebase通知
- 用户多长时间创build一个post,NSDate(),操作创build“post时间”的格式
- 获取随机的Firebase数据库条目
- 如何禁用/删除FirebaseAnalytics