Tag: firebase云消息传递

带有Firebase(iOS)SDK的Google跟踪代码管理器

安装Firebase SDK。 在Firebase控制台中,创建新项目,然后将Firebase添加到您的iOS应用 (输入您的捆绑包标识符)。 下载GoogleService-Info.plist并将其复制到您的Xcode项目根目录中。 将Firebase的依赖项添加到Podfile并安装 pod“ Firebase / Core” 导入Firebase模块并配置FirebaseApp共享实例,通常在应用程序的应用程序中:didFinishLaunchingWithOptions:方法: FirebaseApp.configure() 要启用/禁用调试日志记录编辑方案并添加启动时传递的参数: -FIRAnalyticsDebugEnabled或-noFIRAnalyticsDebugEnabled 将Google跟踪代码管理器添加到您的项目 将Google跟踪代码管理器依赖项添加并安装到您的项目中: pod’GoogleTagManager’,’〜> 6.0′ 在Google跟踪代码管理器帐户中,创建容器(在ADMIN部分中),然后选择Firebase(iOS) SDK 。 提交更改并发布(在“ 工作空间”部分中)。 下载您的容器(“ 操作”->“在VERSION中 下载”部分)并复制到XCode项目根目录中的名为container的文件夹中 记录事件和变量 Google跟踪代码管理器使用Firebase Analytics的事件,参数和用户属性来触发和构建您在Google跟踪代码管理器网络界面中配置的代码。 从这种意义上讲,您的Firebase Analytics实施将充当您的数据层。 我使用EventType枚举来存储和管理将记录的所有事件。 AnalyticsLoger类的方法logEven也使用此参数。 我们可以创建变量来处理 设置Google Analytics(分析)跟踪ID 创建自定义 触发器。 为通用Google Analytics(分析)(而非Firebase Analytics)创建新标签 。 我们必须选择标签类型并放入我们的Google Analytics(分析)跟踪ID。 然后,我们必须选择触发器。 要在Universal Analytics Console中查看活动屏幕名称 ,我们需要设置文件screenName ,值是我们之前创建的事件参数变量。 毕竟,我们必须发布容器。 发布之后,GTM最多需要12个小时来更新应用中的容器。 如果您的应用程序处于开发阶段,则可以预览容器,或下载容器并将其包含在内以在应用程序中进行更新。 如果我们更换容器并想立即对其进行测试。 发布后,我们必须下载并复制到Xcode。 […]

Firebase🔥远程配置

更新用户界面示例 为什么要远程配置 从文档 无需更改应用程序的行为和外观,而无需免费发布应用程序更新,无限制的每日活跃用户。 您应该在firebase中有一个iOS项目。 如果您想设置Firebase,可以检查 一下 创建参数 您可以将参数创建为键和值,例如将show_label作为键,将true作为值创建,但是最佳做法是创建JSON具有相关值以将Internet请求限制为Firebase 将值设为login_screen且该值为JSON与此屏幕具有相关值 在GitHub中进行项目 dimohamdy / RemoteConfigExample 通过在GitHub上创建一个帐户为dimohamdy / RemoteConfigExample开发做出贡献。 github.com 参考 Firebase远程配置| 火力基地 无需更改应用程序的行为和外观,而无需发布应用程序更新,而无需任何费用,每天无限制的活动… firebase.google.com 关于作者 这是我的GitHub,投资组合和其他内容,如果您有任何疑问或与我联系电子邮件,请与我们联系。 dimohamdy –概述 @Integreight的iOS开发人员,当前为@Iqraaly。 在Twitter上以@dimohamdy找到我。 – dimohamdy github.com 艾哈迈德·哈姆迪(@dimohamdy)| 推特 Ahmed Hamdy(@dimohamdy)的最新推文。 iOS工程师👨🏻‍💻 @iqraaly和@ 1sheeld。 #区块链爱好者… twitter.com

Firebase服务器端Swift入门

Firebase工具套件很棒。 在一个屋顶下捆绑了这么多有用的开发服务真是太好了,而且免费上手的能力也很棒! Firebase为多个平台提供SDK,以与其服务(包括iOS)进行通信。 但是,iOS SDK与iOS应用程序生命周期紧密相关,因此无法在服务器端Swift环境中使用。 幸运的是,Firebase提供了REST API,这为我们提供了在Swift中开发服务器时使用其服务的途径。 最近,这篇文章概述了在服务器端Swift环境中开始使用Firebase REST API所需的步骤。 我将把Swift Vapor应用程序连接到Firebase的新Cloud Firestore技术,但是一般过程应适用于任何其他服务器端Swift框架和Firebase服务。 Cloud Firestore Cloud Firestore是Firebase的“新的和改进的” NoSQL云数据库。 与以前的产品Firebase Realtime Database一样,Cloud Firestore在客户端之间实时同步数据,并为脱机模式提供一流的支持。 Cloud Firestore与实时数据库 如果您过去使用过Firebase的实时数据库产品,您可能想知道Cloud Firestore有何不同。 Firebase文档进行了更详细的介绍,但从根本上讲,它可以归结为Firebase,它可以在原始Realtime Database产品成功的基础上进行改进。 较早的实时数据库需要使用非规范化和数据展平技术来防止随着数据库的增长和发展而出现瓶颈。 Cloud Firestore通过提供更丰富,更快的查询和更好的可伸缩性来对此进行改进。 因此,如果Cloud Firestore是Realtime Database的改进版本,那么Realtime Database甚至不再相关吗? 答案是肯定的。 实时数据库的真正优势仍然在于其速度。 如果您需要优化产品以实现高效,低延迟的同步,则可能需要使用实时数据库而不是Cloud Firestore。 这并不是说Cloud Firestore无法完成这项工作。 它仍然可以超级快速地同步事物(以毫秒为单位)。 蒸气2.x 蒸气是市场上许多服务器端Swift库之一。 我觉得他们在使事情变得简单易懂并且使服务器端Swift开发的入门变得非常出色。 他们甚至最近推出了Vapor Cloud,这使将服务器部署到现实世界中非常容易。 小型项目甚至免费! 在此项目中,我使用了Vapor 2.x,因为当我开始时Vapor 3仍处于beta中。 我将使用这些技术来实现简单的概念验证,以便利用服务器端Swift来实现自定义后端逻辑,同时依靠Firebase实时更新客户端应用程序。 对于此演示,服务器将仅每60秒生成一个随机数,然后将该数字及其生成下一个随机数的日期发布到Cloud Firestore数据库。 当一切正常运行后,客户端应用程序将如下所示: […]

什么是Google Firebase?

您好iOS工程师, 这是学习Google Firebase的好日子。 我们将对Firebase进行概述。 今天,我们将全面讨论Firebase。 在接下来的文章中,我们将讨论Firebase中的特定功能,这些功能将在将来的应用程序中使用。 因此,让我们开始看看Firebase可以提供什么。 火力基地? Firebase是一项可帮助您创建应用程序(应用程序)的服务。 还必须有其他权利吗? 是的,确实有,但是Firebase的核心是帮助您快速开发应用程序。 Firebase如何帮助您快速发展? Firebase在基础架构中可以使用大量工具来帮助您开发应用程序。 我们将很难自行创建这些资源。 Firebase提供了所需的资源,因此您可以成为单人或女性开发人员。 我们将专注于使Firebase对我们的iOS工程师如此有用的四个领域。 四个领域是: 1.发展 2.成长 3.赚 4.分析 让我们深入研究Develop和Analytics,因为这是我们将在创建的任何Firebase项目中使用的两者。 开发 发展是我们今后将花费大部分时间和精力的领域。 该领域包含我们将立即用于实际应用的大多数工具。 本节中的三个工具使我对Firebase感到兴奋。 认证方式 实时数据库 崩溃报告 什么是认证? 很好的问题,身份验证是在应用程序中验证用户的身份。 如今,无论何时使用几乎任何应用程序,都必须使用电子邮件,Google帐户,Facebook帐户或Twitter帐户进行注册。 这种登录方法是身份验证。 Firebase之所以如此出色,是因为您可以将这些方法登录到您的应用程序中,而无需创建后端登录过程。如果这样做,则部署我们的应用程序将花费更长的时间。 此外,我们可以安全地在所有设备上保存用户的数据。 如果我们有一个使用Firebase的网站和iOS应用程序,那么我们的客户只需要一个帐户即可。 在任一应用程序中创建的数据都将保存在一个位置,并在两个应用程序中使用。 用户能够访问该数据的唯一方法是登录应用程序。 我知道我们在这里都很聪明,并且可能意识到身份验证使用数据库。 那么什么是实时数据库? 实时数据库托管在Google服务器或我们所谓的云上。 假设您创建了一个网站(计算机),一个iOS应用程序(iPhone)和一个Android应用程序(Galaxy S7),允许人们下载和保存图片。 现在,在所有三个设备上,您下载了另一张图片。 实时或立即您将在每台设备上看到所有三张照片。 实时数据库非常强大,因为我们的客户可以立即访问他们所需的信息。 真的是山姆! 崩溃报告? 嗯是的 我会告诉你重要性。 想象一下您创建了这个很棒的应用程序,每个人都喜欢它。 您获得了大量下载,然后开始看到有关该应用程序崩溃的评论。 经过几个不安的夜晚,您终于解决了它。 您提交更新,发现几天后剩下一半的客户。 这个例子有点极端,但是会造成灾难性的后果,并且可能会毁掉一生中一次的机会。 […]

如何将Firebase SDK集成到iOS应用(SWIFT 4)

什么Firebase? Google的Firebase是一个移动平台,可让您开发移动应用。 它可以作为您应用程序的后端。 为什么选择Firebase? 借助Firebase,您将有机会更多地使用您的应用程序。 因为操作和内部功能由Firebase维护 您将学到什么? 这是入门指南。 我不会深入探讨。 但是,您将能够将Firebase与您的应用程序集成。 下次您将学习如何创建用户,数据库和存储区域。 第一步:在firebase网站上创建一个项目。 第二步:确保您选择“将Firebase添加到您的iOS应用”。 第三步:从您的XCode项目复制Bundle Identifier。 然后,转到firebase并将Bundle Identifier粘贴到iOS bundle ID中 之后,下载Google服务信息plist并将其添加到您的Xcode项目中。 第四步:在开始此步骤之前,请确保已安装CocoaPods。 现在,请您集中精力。 我们将执行以下3个步骤。 进入终端,通过命令进入项目目录。 然后,编写:pod init 然后,转到项目目录,您将找到一个Podfile。 您必须通过TextEditor打开此文件并编写以下命令:pod’Firebase / Core’ 别担心,我们快完成了。 第五步:回到终端并写“ pod install” 最后,转到您的项目目录,然后使用扩展名.xcworkspace打开项目。 仅此而已。 将Firebase集成到项目中,恭喜您! 最后,一定要在学习新知识时写一篇文章来分享您的知识! 🙂

带有TDD的手工iOS应用程序中的身份验证规则

让我们从身份验证过程开始,但并非全部开始,目前,我们仅对注册部分感兴趣。 这部分具有一些验证和重要行为。 此实现将使我们能够与一些BASS内容进行交互,这代表了应用程序难题的重要组成部分。 在这篇文章中,我们将介绍: 测试驱动开发 输入数据验证 准备与外部服务的一些集成 您可以在此处检查相关的github问题。 用户注册用例 该项目将使用自下而上的流程进行开发。 因此,我们将从编写测试和规则开始,而不是进行注册或登录屏幕。 第一个测试即将尝试使用空电子邮件值注册用户。 经过绿色测试之后,该重构用例类了。 第一个奇怪的是寄存器功能处的mutating关键字。 需要使用此关键字是因为该函数试图更改默认情况下不可变的结构值。 此应用程序将使用称为Clean Architecture的体系结构,该体系结构将软件分层。 这些层对于隔离按行为分开的组件和职责至关重要。 清洁体系结构和SOLID原则值得一提,我将在稍后单独讨论。 通过将软件划分为多个层,并遵循“依赖关系规则”,您将创建一个具有内在可测试性的系统,并具有其所隐含的所有优势。 马丁,罗伯特。 “清洁建筑” 2012 同样,此用例正在保存应该在表示层中的状态。 不在“应用程序业务规则”层中。 为了解决这个问题,我们可以创建一个演示者。 …我们也不希望该层受到数据库,UI或任何常用框架等外部性变化的影响。 该层与此类问题无关。 马丁,罗伯特。 “清洁建筑” 2012 上面的协议将成为演示者。 而且它的实现与用例无关紧要。 用例只需要具有故障方法的东西。 在我们的测试环境中,我们将使用演示者的测试双精度表示形式,该表示形式为存根双精度类型。 出于测试目的,我们可以用等效的“特技替身”: Test Double来代替真实的DOC(而不是SUT!)。 迈扎罗斯(Meszaros),杰拉德(Gerard)。 2009年“ Test Double” 存根提供对测试过程中进行的呼叫的固定答复,通常通常根本不响应为测试编程的内容。 存根还可以记录有关呼叫的信息,例如,电子邮件网关存根可以记住“已发送”的消息,或者仅记住“已发送”的消息数量。 福勒,马丁。 “不打Mo”,2007年 用例已更改为通过依赖关系使用演示者。 演示者将用作用例的依赖项,这样做将符合SOLID原则,更具体地讲是Dependency Inversion一个。 原则指出: 答:高级模块不应依赖于低级模块。 两者都应依赖抽象。 B.抽象不应依赖细节。 细节应取决于抽象。 马丁,罗伯特。 […]

让他们一起工作:Firebase PRD / DEV / Cocoapods

我花了整整一个星期的时间来尝试将新的iOS应用程序隔离到PRD和DEV环境中,并确保我的所有Pod都能正常工作。 实际上,有大量的方法指南(包括中等,堆栈溢出)可用于分隔环境,但它们仍然不在整个组合中: PRD / DEV:通过使用Build Config和Build Scheme分离GoogleService-Info.plist,并使用Build Run Script将它们自动化。 Cocoapods:将所有pod链接到不同的Build Configs,而不会抛出所有编译错误“ No such module”。 经过一番挫折后,我猜想与世界分享我的发现会更好。 希望面临同样问题的人将从中受益。 在完成了整篇文章之后,您将拥有以下内容: 只需1次点击(或最多2次点击😜)即可轻松切换Firebase DEV / PRD环境 xcode会根据您选择的环境自动使用Firebase DEV或PRD配置文件(GoogleService-Info.plist)。 无需人工干预。 您可以在ViewController中显示图像(或标签)以区分您的应用是在DEV还是PRD上运行。 最好的是:您可以确保PRD Google Analytics(分析)数据不会被所有这些DEV&TEST数据淹没。 酷吧? 让我们潜入! 此步骤将涵盖以下内容: 生成配置分离 分离建造方案 1.1。 单独的构建配置 通常,xcode会生成2个生成配置“ Debug”和“ Release”,作为新项目的标准问题。 您将把两个配置都复制到所谓的DEV配置中。 打开xcode,然后转到“项目”。 在“编辑器”菜单上,点击“添加配置”→“复制“调试”配置”,并将其命名为“ Debug-DEV”。 对“ Release”执行相同的操作,将其设为“ Release-DEV”。 完成后,您将具有以下配置 1.2。 单独的建造方案 您基本上将创建一个新的构建方案,并为它们标记新创建的DEV Build Configs。 在您的xcode上,选择您的方案,然后点击“ New Scheme…”并用“ -DEV”后缀命名(例如,如果您当前的Build […]

使用FIREBASE进行群聊的结构

大家好,在本博客中,您将了解如何使用Firebase节点有效地设计GROUP CHAT的体系结构,并且您还将能够处理Group Chat Flow的所有情况。 例如:最近的消息,谁创建了组,该组的成员,谁离开了该组。 前提条件—具有根据各自的技术(如iOS,Android等)提供的Firebase节点,Firebase事件和观察者的中级知识。 因此,让我们分为五个部分以更好地理解: 1)使用基本用户详细信息ID,名称,图片(根据您的要求)启动一个Users节点。 忽略组ID一段时间。 2)创建一个GroupDetail节点,该节点将包含组的所有详细信息,还将包含所有都属于该组的用户ID数组。 3)在通过成员数组创建组遍历并执行以下操作之后 3.1)从“ 用户”节点获取用户详细信息 3.2)将新的节点组启动为数组或组ID,并附加最近创建的组ID。 例如 群组[group_id1,group_id2] 注意:如果“组”节点已经存在,且带有一些组ID,则获取该数组并附加新的组ID,以便确认用户位于多个组中。 4)我们完成了与用户创建群组和关联群组的工作,现在让我们聊天。 创建一个GroupMessage节点,并使用已发送消息的id-user_id之类的详细信息更新消息,以及所有必要的消息详细信息(例如时间戳等)(根据您的要求) 5)在将消息添加到消息节点之后,将相同的消息添加到组详细信息中,并添加一个新的节点,称为最近消息 。 这样我们始终可以仅从组详细信息中获取最新消息。 在填充组列表时很有用。 津贴和用例: 最近的聊天记录–我们将始终在最近的聊天屏幕中获取群组的最新消息。 如果最近的聊天为空,则可以填充“您创建了群组”或“您是由添加的”之类的消息 如果某个用户离开了群组或从群组中删除,我们只需要从用户和群组详细信息中删除我想要的群组即可,我们已经完成了。 通过单个观察者功能,我们将能够获取组详细信息以及组的最新消息。 谢谢 ,欢迎任何建议/反馈。

在Swift 3中使用重定向进行Firebase身份验证– Daveyon Mayne –中

在Swift 3中使用重定向进行Firebase身份验证 我当时正在准备一个Stack Overflow,即SO,是有关身份验证的问题,用户登录时将重定向到哪里。从Ruby on Rails的背景出发,该逻辑被考虑使用Devise。 如果用户尝试通过Web链接转到其个人资料,则Devise会检查该用户是否已登录,如果没有登录,则需要进行身份验证,然后将用户重定向到其原始目的地。 我不知道如何使用Swift 3做到这一点。 与你们中许多人睡觉或执行正常的凌晨4点“活动”(微笑地咬嘴唇)不同,那是我学习iPhone旁项目的时间。 就在我打出“发表您的问题”之类的答案之前,解决方案就来了! 假设您已经在应用中配置了指向ViewController的3D touch。 对我来说,问题是,如果用户注销,并且他们3D触摸了应用程序图标上的链接,它将直接将他们带到ViewController。 我想要的是它需要身份验证,然后重定向到其目的地。 很简单的! 在AppDelegate文件的内部,您应该具有以下功能: 如果有更清洁的方法可以解决这个问题,我全神贯注。 和平!

React Native ile Firebase推送通知

Merhabalar,Bu benim ilkyazımdır。 ylkınıngünahıolmaz diyerekbaşlayalım。 İyiokumalar🙂 否:BukısımdaFirebase IOS推送通知 anlatılmıştır。 Androidkısmınıbir sonrakiyazımdaanlatacağım。 https://console.firebase.google.com/ giderekönceliklebir tane projeoluşturuyoruz。 Açılanekranda projeadıalanınaistediğinizgibi isim verebilirsiniz。 Türkçekullanıyorsanız“Mükemmelprojem” yazanalanıgöreceksiniz。 Projeadınıbelirledikten sonra altta bulunan denetleyici喀布尔edip Projeoluşturatıklamanızgerekmektedir。 Daha颂歌aşağıdakisayfa ilekarşılaşacaksınız。 Bu alandan IOS和Androidiçinuygulamaekleyeceğiz。 ÖnceliğimiziIOS’dan yana kullanarak IOS’atıklıyoruz。 Açılanekrandan IOS程序包kimliğialanınıdolduruyoruz。 (Bu alan appStore de bulunanuygulamanızınID’sidir。) Xcode’unuzu的广告。在Google的GoogleService-Info.plist上,您可以轻松地在Firebase中下载内容。 $ sudo gem install cocoapods 达哈·索纳·拉杰里·阿扎拉克·普罗涅尼津·布隆杜格·迪吉内·吉迪普(ios dizinialtındaolduğunuzdanemin olun)。 $ pod init […]