Tag: firebase云消息传递

使用Firebase Model Framework Salada制作用户模型

我将介绍我通常在应用程序中采用的用户模型。 本文将介绍什么 安装萨拉达 使用Firebase建立用户模型 链接Firebase身份验证和用户模型 $ gem install cocoapods —预 需要Cocoapods 1.4版或更高版本。 豆荚“萨拉达” 安装完成! 让我们快速建立一个用户模型。 甚至User.swift都可以,但是由于在使用Realm创建相同的用户模型时,我不喜欢名称冲突,因此我一直在使用Firebase + User.swift。 由于Firebase Auth也有一个定义为User的类,我认为最好提供一些名称空间。 这次,我将介绍简单的配置,但可能会很好地使用它。 导入 Firebase Firebase 扩展名 { 类 User :对象{ @objc 动态 变量名称:字符串? @objc 动态 var thumbnailImage:文件? 让关注者:关注者= [] 让朋友:朋友= [] } } 提供用户名和缩略图并关注功能。 借助File,您可以与FirebaseStorage无缝协作。 扩展名 Firebase .User { 静态 函数 当前 ( _ completeHandler:@escaping((Firebase.User?)-> Void)){ […]

使用Swift介绍Firebase

我是为AppCoda.com编写的。 您可以在以下网址找到完整的教程:https://www.appcoda.com/firebase-login-signup/。 自从Parse开始关闭以来,已经有一些数据库试图替代用于移动应用程序的Parse,例如Firebase和Realm。 Firebase由于其易用性和速度而成为当前最受欢迎的一种。 它还可以与Android,Web和iOS一起使用,这意味着它对于大型项目非常有用,因为数据库可以跨所有主要设备进行连接。 Firebase由Google拥有,这意味着这些服务器非常可靠,并且在需要时可以提供大量帮助。 一些大型科技公司(例如PicCollage,Shazam,Wattpad,Skyscanner和其他大型初创公司)也使用Firebase,因此您可以了解Firebase的可靠性。 随着Firebase的最新更新,它变得比以往任何时候都更加强大和强大。 您可以使用AdMob在平台上赚钱,也可以通过使用通知来保持用户忠诚度,或者使用云消息传递和存储来制作功能非常强大的应用。 Firebase肯定会留在这里。 在本教程中,我们将研究其中的一个关键方面,即登录和注册。 我们还将研究重置用户密码。 我们将使用最新版本的Firebase和XCode以及Swift3。在本教程中,您需要对Swift和XCode有基本的了解。 我们需要做的第一件事是开始一个新的XCode项目,我将使用“单一视图”应用程序,但是该概念将适用于从Tab-Bar应用程序到Master-Detail应用程序的任何样式。 您可以随心所欲地调用该项目,但对于本教程,我将其称为FirebaseTutorial1 。 将语言设置为Swift,设备无关紧要,因此您可以保持通用性。 然后,您需要转到Main.storyboard并创建如下界面: 但是,为了节省时间并让您专注于学习Firebase,可以在此处下载starter项目,并且在情节提要完成后,外观应类似于此,文件也应具有此外观。 如果您想从头开始构建项目,则必须遵循以下视图控制器和过程: 1.首先,将三个视图控制器拖到情节提要中,然后向每个视图控制器添加两个按钮。 这两个按钮用于在不同的视图控制器之间导航。 假设您在登录页面上时,可以导航到重置密码页面或注册页面。 2.在两个视图控制器中,添加两个文本字段和一个按钮。 这些文本字段用于“电子邮件”和“密码”字段。 该按钮用于登录或注册。 在占位符中,将电子邮件或密码放在希望用户输入电子邮件和密码的位置。 然后,您可以更改背景的颜色,使其看起来更好一些,然后在顶部添加标签。 3.在第三个视图控制器(“重置密码”)中,添加三个按钮,一个文本字段和一个标签。 文本字段供用户输入用于重置密码的电子邮件。 4.完成UI的设计后,其余过程就是将按钮与其他视图控制器连接起来,以便用户可以在视图之间进行转换。 在这里,我建议您对segue使用“模态呈现”。 现在用户界面已经准备就绪,我们现在将项目与Firebase集成在一起。 为此,您首先需要转到https://firebase.google.com/并在Firebase中设置项目。 假设您已使用Google帐户登录到Firebase,请单击“免费入门”,然后选择“创建新项目”。 它将带您到一个为您的项目命名的屏幕。 随便命名项目,然后选择您的所在地。 Firebase为您创建新项目后,将带您进入概述。 您可以在此处选择应用程序平台,无论是Web,Android还是本例中的iOS。 您也可以在这里找到文档,并在侧面访问身份验证,存储,数据库等等。 现在选择“将Firebase添加到您的iOS应用程序”,然后将提示您输入iOS Bundle ID 。 这是您的Xcode项目的包标识符(请注意,您的包ID可能与我的不同)。 确保您正确输入了捆绑包ID,并且可以选择为应用程序选择一个昵称。 如果您的应用程序已经在App Store上发布,则添加您的App Store ID。 但是对于此演示,您不必执行此操作。 完成后,单击“添加应用”继续,Firebase将为您生成一个名为GoogleService-Info.plist的文件。 它应该自动下载到Mac计算机上。 这将带您进入下一个阶段。 按照说明将GoogleService-Info.plist拖动到Xcode项目的根文件夹中。 […]

使用Firebase Cloud功能反应本机推送通知

Google为Firebase提供的新Cloud Functions服务是对其产品的巨大补充,我一直专注于将其用于一项功能:无服务器推送通知。 几周前,我开始开发基本的社交网络应用程序,从一开始就实施通知是一个明确的目标(老实说,这是该项目的目的)。 但是,我不想麻烦设置服务器来监听Firebase数据。 对我来说幸运的是,有了有关如何使用Firebase SDK的一些基本知识,推送通知变得快速而轻松。 即使使用此实现,设置推送通知也可能令人生畏,尤其是考虑到所需的设置量。 要执行我的实施,必须使用三个Firebase服务: Firebase身份验证 (技术上可选) Firestore或实时数据库 Firebase云消息传递(FCM) Firebase云功能 使用RNF设置Firebase: 不幸的是,Google为React Native用户提供的文档非常有限,即使是最受欢迎的集成包也无法获得详尽的说明,并且功能不一致。 我选择使用React Native Firebase(RNF)。 幸运的是,它们的安装过程简单明了。 安装节点模块,然后链接依赖项。 $ npm install-保存react-native-firebase $ react-native链接react-native-firebase 在控制台中创建Firebase项目,下载GoogleService-Info.plist并将其移至: ios / [您的应用名称],以便SDK可以连接到您的项目。 使用XCode打开项目以确保已正确添加文件。 如果它没有显示在边栏中,则只需将文件拖入。 然后,打开AppDelegate.m并添加: #import 以及: [FIRApp配置]; 在didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法的开头。 设置CocoaPods。 生成一个Podfile。 有时,Podfile会生成重复的声明,如果报告错误,则将以下内容复制并粘贴到您的声明中: #取消注释下一行以定义项目的全局平台 平台:ios,“ 9.0” 定位“ [您的应用名称]” #如果您使用的是Swift或想使用动态框架,请取消注释下一行 #use_frameworks! #网眼豆荚 pod“ Firebase / Core” pod“ Firebase […]

iOS Swift 4实时聊天功能。 火力基地

参考来源:https://www.raywenderlich.com/140836/firebase-tutorial-real-time-chat-2 Github项目:https://github.com/vin20777/Firebase-Tutorial-Real-time-Chat 首要作业:1。 请先安装Cocoapods并在目录下pod安装指令2.用Google帐号申请Firebase专案权限3.获取GoogleService-Info.plist并放置于专案中4.换上自己的存储URL 由于教程里的范例有JSQMessage已不再支持,Swift仍未更新至4,因此放上Swift 4消除警告修复版(未来也会变成legacy吧……)。 一般的架构如果要建立聊天室类型的APP,都要有前端与本身的技术支持,但是Firebase强大的整合了常用的功能,在聊天室这个情境中,与普通呼叫API不相同的点在于A君如何知道B君发送了一条消息,并且对话记录的记载,这些都在Firebase的SDK完美的封装提供给您使用了,有兴趣的可以谷歌相关技术。 如果都没碰过Firebase相关的开发者也不用太担心,可以先去看看Raywenderlich.com其他相关的Firebase教程,这个网站真的是佛心来着,大部分基础教程都可以免费阅读且记载详细又好玩喔! 本篇会遵循教学的流程来走,实际的实作或解释还是需配合教程来走喔! First Step聊天室当然是大家都可以用的啊(至少是下载我的APP嘿!),但是App仍必须识别此用户是谁,因此使用Firebase的匿名登录模式,记录用户的唯一识别码。 TableView分为两个部分,一个能够让你创建聊天室,另一个则是显示当前所有聊天室的列表。 第三步Firebase封装为观察者模式去监听实时频道(频道)是否有增删权,如有异动则调用私人功能seeChannels()或者当房主自己创立一个频道func createChannel(_ sender:AnyObject)与Firebase互动。 第四步JSQMessageViewController是一个聊天室页面的开源框架,很遗憾最近作者在2017年7月16日宣布停止维护,仍然可以使用它但是不会再去修正错误或增加功能,它通过Collection视图去当底然后封装成非常容易使用的类,我认为目前有聊天室功能的iOS应用都是参考或直接使用它再做变化。 第五步利用协议客制化好UI部分后,剩下的就是与第三步类似的文字Firebase同步问题啰,观察数据库的结构是否有异动去更新画面。 Last迄今为止已经是一个有模有样的两人文字聊天室了,可参考我的Github做搜寻,测试的话就使用真机一台和模拟器互相操作吧!如果你想要a。 发现对方是否是输入中b。 传输照片(使用Firebase存储),会发现做法都是类似的步骤:获取Firebase沟通方式->上传更新资料库或下载同步装置端资讯-> UI显示,基本上现在的聊天室都有五花八门的功能,毕竟想赚大钱不是这么容易,你可以去设想更多的功能与之结合,大家伙就4这样啰,快去创立自己的聊天室吧!

Swift和Firestore:查询具有今天日期的字段

我天真地尝试执行以下操作。 让ref = Firestore.firestore()。collection(“ posts”) 让今天= Date() 让queryRef = ref.whereField(“ created”,isEqualTo:今天) 不幸的是,它没有返回任何结果,我想它正在为我们的日期字段寻找完全匹配的结果。 注意:希望实际上是这样。我并没有过多地关注它是否应该返回非空结果。 😅 经过几次Google搜索,我想到了这个: 让日历= Calendar.current 让组件= calendar.dateComponents([。year,.month,.day],来自:Date()) 让开始= calendar.date(来自:组件)! let end = calendar.date(byAdding:.day,value:1,to:start)!let queryRef = ref .whereField(“ created”,isGreaterThan:start) .whereField(“ created”,isLessThan:end) 现在,我得到了预期的结果。 ☺️ 我们可以快速将其重构为CollectionReference上的方法…… 然后在呼叫站点: 让queryRef = queryRef.whereField(“ created”,isDateInToday:date)

适用于初创企业的Firebase。 是还是不是?

几天前,我们的一个潜在客户伸出援手,问我们Firebase是否适合他们的移动项目。 他们是一家旅行社,为世界各地的包机服务,需要内部使用的应用程序。 他们需要一个iOS专家团队来发展他们的想法,这就是他们向我们提出的要求: 我想从您那里了解Firebase是否是我们项目的良好解决方案。 将来,我们希望将Firebase用作新网站的后端,我们也需要对其进行更新。 由于启动时只有两个人,所以我的回答是: Firebase对于大多数项目而言都是出色的-确实非常方便,并且由于您仅在启动时使用该应用程序,因此您无需为Firebase支付一毛钱,因为您不需要大量的带宽/连接。 Firebase是一种多合一的后端解决方案,您可以随用随付。 换句话说,您只需要在赚钱时付款即可(又名您的应用程序受欢迎并且许多用户使用它)。 总的来说,我认为这值得权衡。 我们在cesare上每天都会使用该平台,这就是它如此吸引人的原因: 我们构建的大多数应用程序都需要某种身份验证。 Firebase为您提供了不同的身份验证方法:通过电子邮件和密码,社交帐户(Facebook / Google / Twitter / GitHub)和电话号码(您向Google提供电话号码,然后Firebase向用户发送他们必须输入的验证码)该应用程序)。 验证用户就像编写几行代码一样容易。 Firebase可让您的用户进行身份验证,注册,重置密码和验证电子邮件。 如果您想节省开发时间(“快速移动并破坏工作”),也可以便宜使用预先构建的身份验证界面。 它被称为FirebaseUI,它是免费和开源的(尽管在我看来,它看起来并不那么好)。 Firebase有一个实时数据库,您可以在其中存储数据。 数据被分组到不同的“节点”中,这使整个事情与您可能习惯的(MySQL / Parse表)有很大不同。 在Firebase中,您定义了一些节点,例如“用户”,“邀请”,“项目”,然后添加了子节点(这些节点的子节点)。 您可以直接从界面添加/删除数据: 从此处的官方文档中了解有关使用Firebase构造数据的更多信息。 Firebase数据库的优点在于,每个平台(Web,iOS和Android)都可以访问它,从而使在设备和平台之间同步数据变得非常容易。 这意味着如果您决定今天构建一个iOS应用程序,则由于所有数据都存储在一个地方,因此您仍然可以构建一个Android应用程序。 问题在于,如果您想输入新数据,则此数据库界面可能会有些混乱且难以处理,因此许多客户要求我们构建一个网络仪表板(我们使用Google表格或Zapier),他们可以在其中添加或更改应用程序中显示的数据。 动态链接非常棒,因为在点击动态链接后,它们会将用户直接带到应用程序(如果未安装您的应用程序,则将用户带到应用程序商店或Play商店)。 链接可以包含大块数据(引用代码),从而实现全新的可能性(例如,用户可以使用它们邀请新成员加入组或项目并为此奖励)。 我们在一些项目中使用了动态链接,这些链接要求用户向其他用户发送“邀请”以加入小组。 Firebase为开发人员提供了内置的动态链接生成器,用户A可以使用该链接生成器来邀请用户B。用户B点击包含一些数据的链接,并将其重定向到应用程序(可以根据进行自定义用户流)。 这些只是我们真正喜欢Firebase的一些功能-我们每天都在使用它,我们的客户喜欢它,因此可以随时在Firebase上试用一下。 我个人计划在黑客马拉松上使用Firebase并开发一个GitHub库,用户将可以使用该库来调用Firebase函数-使其非常易于采用。 我相信Firebase是每个初创公司都必须使用的。 如果您在设置Firebase方面需要帮助,或者希望我们采纳您的启动想法并将其变为现实,我们可以为您提供帮助。 请在此处联系我们,我们将竭诚为您服务。

如何将Firebase SDK添加到您的iOS项目

本指南将向您展示如何将Firebase iOS SDK添加到新的或现有的Xcode iOS项目。 如果您不使用现有的Xcode iOS项目,请创建一个新项目。 您将需要捆绑包ID。 转到https://firebase.google.com/创建一个帐户,或使用您的Gmail帐户登录。 转到https://console.firebase.google.com/?authuser=0来添加新项目。 选择将Firebase添加到您的iOS应用 。 填写必填信息。 下载GoogleService-info.plish文件,并将其放置在项目的根文件夹(您的AppDelegate.swift文件所在的文件夹)中。 然后将其添加到所有Xcode项目目标中。 打开终端并转到您的Xcode项目文件夹( .xcodeproj文件所在的位置)。 输入以下命令: $ pod init 这将创建一个Podfile文件。 打开它进行编辑。 添加此行(粗体)并保存: #的窗格 pod“ Firebase / Core” 返回终端 ,运行: $ pod安装 您还应该使用以下命令更新Pod: $ pod更新 创建了一个新的xcworkspace文件,从现在开始应使用xcworkspace文件代替.xcodeproj来打开您的项目。 在项目的AppDelegate.swift ,添加以下代码行(粗体): 导入Firebase功能应用程序(_应用程序:UIApplication,didFinishLaunchingWithOptions launchOptions:[UIApplicationLaunchOptionsKey:任何]?)->布尔{ FirebaseApp.configure()返回true } 你完成了! Firebase SDK随时可以使用!

在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 […]

Firebase不能观察,直到访问一次

Firebase是在APPDelegateconfiguration的。 阅读设置为在规则中。 但是,在用户login到我的应用程序之前,我正在检查Firebase数据库的单独表中的用户名。 它会完全跳过观察块,直到我强制login到另一个已经创build的我的帐户。 然后,当我重新构build应用程序时,块不再被跳过,而是实际访问表。 当我在新设备上运行应用程序时,如何“唤醒”Firebase,以便我可以检查用户名,而无需事先使用现有帐户login应用程序?

Firebase在查询为空时

我使用firebase执行查询来检查是否有任何具有特定值的子对象。 问题是如果没有这样的对象代码不运行。 所以在下面的代码中,如果没有对象具有一个facebookID为17的孩子,那么剩下的代码将永远不会运行。 有没有办法来确定查询何时发现0结果? func previousUser(completion:(result:Bool)->Void){ var queryFound = false print("check if user is previous") print(UserData.globalfacebookID) let ref = Firebase(url:"https://amber-torch-556.firebaseio.com/Users") ref.queryOrderedByChild("facebookID").queryEqualToValue(17).observeSingleEventOfType(.ChildAdded, withBlock: { snapshot in print(snapshot.childrenCount) print("query has ran") UserData.globalparseID = snapshot.key queryFound = true completion(result:queryFound) })