Tag: firebase云消息传递

Firebase + Swift。 如何删除数据。

作为Firebase的“早期”用户之一,我建议将其实施到我所有客户的项目中。 我喜欢便利性,也喜欢Firebase的强大功能。 在这个故事中,我将说明如何使用Swift从Firebase删除数据。 假设我们已经构建了一个名为Post的社交媒体应用程序。 这是每个社交媒体产品中使用的非常常见的模型。 一个简单的例子可能是: struct Post {let userID:String let postID:字符串 让标题:字符串 let imageURL:字符串 } 例如,此帖子模型包含发布了该帖子的用户的userID,标题(和可选文本)以及一个imageURL。 存储更多的元数据(例如已发布该数据的用户的名称),也许是化身的链接,日期戳,位置等,将是非常常见的。 但是最重​​要的部分是postID。 postID是我们将用于存储和删除帖子的内容。 记住,我们需要postID(就像我们的userID)一样100%唯一,这非常重要。 2个具有相同ID的帖子会互相覆盖,并导致无尽的问题。 Firebase包含创建唯一子ID的功能,但为了使其变得简单,我们在这里仅使用1970年以来的毫秒数。软件开发中一个非常常见的变量。 并且在同一毫秒内独一无二。 扩展日期{var asUUID:字符串{ 让asInteger = Int(self.timeIntervalSince1970) 返回String(asInteger) } } 在我们的小助手扩展程序中,我们将创建一个String,该字符串可用于生成一个随机的postID,该ID也可以在生成帖子的日期同时工作。 再有,这种方法不能保证我们的帖子保持唯一性,因此不能扩展,因为自1970年以来,有2个用户可能在完全相同的毫秒内创建了一个帖子。对于拥有10亿用户的Instagram,我相信这很常见。 对于我们的示例,有2个假设用户没有。 我们可以通过调用以下内容来初始化对象: let post = Post(userID:user.userID, postID:Date()。asUUID, 标题:“用户输入的标题”, imageURL:“ http:// theLinkToTheImage” ) 上载post对象后,我们的Firebase结构可能如下所示,其中1535423643是Post对象的postID。 要遵循当前的方法,重要的是我们使用postID作为最后一个孩子来存储帖子。 例如: self.firebaseReference.child(“ Posts”)。child(post.postID) 如果现在要删除此帖子,则可以创建一个经理类作为帮助程序,我们可以调用该管理器类以单行删除帖子。 为不同的逻辑部分创建不同的类是一个很好的主意。 这种方法被称为“关注分离”。 它为我们提供了易于维护和测试的干净代码。 […]

如何免费为多个项目存储库配置TravisCI

Travis CI是针对Github存储库的出色托管连续集成服务。 特别适用于快速测试。 当我将Trabase CI与Firebase iOS快速入门挂钩时,我不得不实施一些技巧。 因为我们, 1个回购中有多个项目, 使用CocoaPods 1.0(默认值为0.5), 在测试中将Google plist文件包含到每个项目中, 更新每个测试项目的info.plist, 跨虚拟机并行构建, 缓存捆绑程序和依赖项(荚)。 构建生命周期 Travis CI的构建包括两个步骤: install :安装所需的任何依赖项 script :运行构建脚本 您可以在安装步骤( before_install )之前,脚本步骤之前( before_script )或之后( after_script )运行自定义命令。 在before_install步骤中,您可以安装项目所需的其他依赖项,例如Ubuntu软件包或自定义服务。 所以我在这里 安装CocoaPods 1.0(默认为0.5) 进入每个示例文件夹并安装Pod 复制到模拟的Google plist文件中 使用sed更新Google plist和info.plist 将Google plist文件添加到每个目标中。 (使用ruby和xcodeproj) -gem卸载cocoapods -a — gem install cocoapods -v’1.1.1′ — gem install xcpretty — cd $ […]

推送通知—第二部分:Implementando Xamarion.iOS

Este教程和实现通知的连续性。 在iOS上无所事事的教程,以及Firebase的通知通​​知。 Entsãvamos iniciar o passo a passo da nossaaplicação。 Passso 1:Iremos criar um projeto Xamarin.iOS,或您好,HelloFirebaseIOS,como identificifica na figura abaixo: Agoravocêdeve selecionar等同于aplicativoiráfuncionar的版本。 Neste教程iremos defini-la como 9。 七彩凤仙花(Estrutura criada deve ser semelhante) Passo 2:Agora可以管理Xamarin.Firebase.iOS.CloudMessaging。 可以为完成结业而创建的全书,请参考estarádisponível,因为没有任何项目的图书馆。 Passo 3:Atenção,或在criamos上没有教程passadoseráutilizado neste passo。 链接。 在iOS上下载或下载Firebase版本,请下载GoogleService-Info.plist参数。 Adicione este arquivo a raiz do projeto em seguida clique com obotãoesquerdo no arquivo e […]

在iOS上探索Firebase身份验证

将所有这些捆绑在一起,我们现在有了一个身份验证流程,该流程使我们能够轻松处理应用程序的登录状态和注销状态。 虽然我们只研究了电子邮件身份验证,但是Firebase提供的其他身份验证方法的操作与此类似。 这意味着切换到另一种方法不会对您的实现产生太大的改变。 我希望通过本文,您能够了解如何在应用程序中设置Firebase身份验证,以及如何在身份验证状态下利用其中的某些功能。 Firebase Auth提供了更多功能,因此绝对值得查看完整的文档以获取这些领域的更多信息。 如果您有任何疑问或意见,请随时与我们联系! 乔·伯奇(@hitherejoe)| 推特 Joe Birch(@hitherejoe)的最新推文。 Android主管和高级工程师。 @缓冲。 Google Developer Expert for… twitter.com

Firebase认证の基本的な使い方

Firebase身份验证を使いこなすと,かなり楽に高品质な认证プロセスを组めるので,绍介します。 Firebase身份验证| 火力基地 要将用户登录到您的应用程序,您首先需要从该用户获取身份验证凭据。 这些凭证可以是用户… firebase.google.com 主,iOSアプリ・自前APIにーバーのーの组の合プ替换ですが,それ以外の构成とする场合の参考の。 1.クライアントでFirebase认证の代币取得 认证方法は,以下に対応しています。 谷歌 脸书 推特 的GitHub ルール 电话番号 baseール认证では确认メール送信,电话番号认证は认证ド発ード発行部分までFirebase侧でやってくれて,すごく良くできています👏 また,匿名认证も対応しているので,アプリをインストール・起动するだけでユーザー操作なしでtoken取得することもできます👏 在iOS上使用Firebase匿名进行身份验证| 火力基地 您可以使用Firebase身份验证来创建并使用临时匿名帐户向Firebase进行身份验证。 这些… firebase.google.com は,上记记法以外的其他认证方法を提供したい场合も,ちょっと頑張ればできます。 使用自定义身份验证系统在iOS上使用Firebase进行身份验证| 火力基地 用户首次登录后,将创建一个新的用户帐户并将其链接到凭据,即该用户… firebase.google.com 以下でInstagramアカウントでの认证に対応するやり方が解说されています。同様のやり方で他のサービス対応もできます。 使用Instagram对您的Firebase用户进行身份验证 Firebase身份验证支持开箱即用的四个联合身份提供者,从而使身份验证超级容易。 firebase.googleblog.com 1、1ユーザーに复数のアカウントの认证を纽づけることもできます。 やり方は以下の检索客户的ID令牌に记にいます。 验证ID令牌| 火力基地 当用户或设备成功登录后,Firebase会创建一个相应的ID令牌,以唯一地标识他们… firebase.google.com また,この令牌は有效期限が1时间なことに注意です(后述の検证过程で有效期限切れかどうかチェックします)。 FIRUser.getIDToken(completion:)メソッドは,期限切れの场合にリフレッシュされたtokenを受け取れる(そうでない场合は保持しているtokenが返るはず)ので,自前で保持せずに挟むのが良いかなと思っています。 检索Firebase身份验证令牌,如果令牌已过期,则可以刷新它。 https://github.com/firebase/firebase-ios-sdk/blob/5430b776ca6fea34d84dab09db39c51b51e551da/Firebase/Auth/Source/Public/FIRUser.h#L263-L271 2. tokenを授权:Bearerヘッヘ入れてAPIリクエスト その令牌を授权:Bearerヘッダに入れるなどして自前APIサーバーにリにックストします。 curl -X“ POST”“ https:// YOUR_API / authenticate” -H“授权:承载YOUR_TOKEN” 3.サーバー侧でその令牌を検证—验证 でーバー侧で,以下の使用Firebase Admin […]

[iOS]带Firebase教程的远程通知

我将向您展示如何使用Firebase在iOS中设置远程通知。 对于iOS而言,这不是新话题,而且API或新库总是有新变化。 如果您是初级开发人员,本教程可能会对您有所帮助。 如果您是高级学生,那么回顾一下也很不错。 我们走吧。 Environment: iOS 10 & 9, Swift 3.1, Xcode 8.3.3 安装Firebase 我希望使用CocoaPods安装Firebase PodFile: 源’https://github.com/CocoaPods/Specs.git’use_frameworks!platform:ios,’9.3’def base_pods pod“ Firebase / Core” pod“ Firebase /消息传递” pod“ Firebase / Crash” 最终目标“ RemoteNotificationDemo”做 base_pods 结束 pod install并运行您的Xcode工作区 准备证书 要为您的iOS应用启用推送通知: 在目标->常规中设置您的团队,资料和证书 或简单地使用Xcode 自动管理签名 调整目标中的推送通知 ->功能 您应该看到两个刻度: ps有时Xcode可能无法管理您的应用程序。 然后,您需要转到Apple Developer Console(https://developer.apple.com/)来打开应用程序的“推送通知”: 在密钥中创建APNs身份验证密钥 建议使用身份验证密钥进行配置,因为它们是将通知发送到iOS的最新方法。 验证码的优点: 无需每年重新生成推送证书 一个身份验证密钥可用于您的所有应用 但是您仍然可以使用旧方法:创建开发和生产SSL证书 ps。 […]

Realm.io与Google Firebase的比较-安全性的观点

Realm.io与Google Firebase的比较-安全性的观点 本文是一系列简短文章之一,在这些文章中,我试图将Google Firebase产品与Realm Cloud平台的功能进行比较。 这两种产品都为移动应用程序提供了实时数据库功能。 两者都称为后端即服务(mBAAS)。 本文重点介绍Firebase和Realm Cloud之间的安全模型差异。 有关Realm.io的更多信息,请参见: 领域:在短时间内创建响应式移动应用程序 Realm是一个移动平台,是SQLite和Core Data的替代品。 建立离线优先,反应灵敏的移动体验… 境界 有关Google Firebase的更多信息,请访问: 火力基地 Firebase是Google的移动平台,可帮助您快速开发高质量的应用程序并发展业务。 firebase.google.com 在过去的七年中,我一直是iOS开发人员,自2015年以来,我广泛使用Firebase和Realm对象数据库。在加州圣塔莫尼卡市Needly,Inc担任移动架构师的同时,我帮助开发了Troop Team产品和WorkCoin市场产品。 这两种产品都依靠Firebase作为后端,并使用Realm作为本地对象数据库。 今天,我正在管理一家名为Cosync,Inc的新创公司,该公司正在围绕Realm Cloud平台开发协作平台。 Realm.io是一家有趣的公司。 它由Alexander Stigsen和Bjarne Christiansen于2011年成立,旨在为iOS和Android提供移动数据库。 该公司获得了风险投资,并在2015年成功筹集了2,000万美元。早期,基于云的移动应用程序需要缓存大量数据,而不必每次需要时都访问网络。 即使Apple和Google都在其开发框架中提供了本地数据库, 通过诸如Core Data之类的模块,Realm是解决此问题的第一个真正的跨平台解决方案。 此外,Realm已免费提供给开发社区,并且很容易在Objective C,Swift或Java中启动和运行,具体取决于移动设备。 我大约三年前开始使用它。 如今,全球Realm安装量已超过20亿,Realm开发人员超过10万。 在雷达下谈论! 他们只有33名员工。 Realm公司发布了名为Realm Platform的数据库的付费服务器版本,该版本在2017年是一个完整的后端即服务解决方案。它们的托管解决方案非常经济实惠,三个Realm实例的起价约为每月30美元-Realm实例是可以分配给单个移动应用程序的完整数据库。 在大多数情况下,这三个实例对应于移动应用程序的开发,登台和生产数据库。 定价基于已安装的客户端实例和带宽使用情况的组合。 像Google的Firebase一样,价格随使用情况而定。 但是与Firebase不同,客户可以根据需要选择将Realm Platform托管在自己的服务器上。 这非常强大,因为它可以满足许多对安全敏感的客户的需要,因为这些数据是由Google托管的,因此无法使用Firebase。 但是,更重要的是,大多数将Firebase用作后端实时数据库的应用程序开发人员也将Realm用作本地数据库来缓存网络数据。 这通常需要在Firebase和Realm之间在两个方向上都有些复杂的翻译层,每个开发人员都必须编写该翻译层。 如果开发人员使用Realm平台而不是Firebase,那么这个额外的翻译层(我可以证明是许多错误的来源)就消失了。 在安全性方面,Firebase和Realm均提供了锁定数据的机制。 这两种产品均在服务器端提供NoSQL实时数据库,以服务登录到各种客户端设备的用户。 简而言之,问题如下。 实时数据库由符合模式的表的集合组成,每个表包含许多属性,这些属性描述属于该表的对象的类型。 数据库实例包含许多注册用户,其中一些可以在客户端设备上登录,这些用户访问表中的对象。 […]

图书馆和数据库

事实证明,在各个幼儿园之间骑自行车游览并不是完成很多工作的好方法。 谁会打它呢? 昨天很有趣,但我仍然设法使清单上的至少一件事完整。 对我来说,这是一个胜利。 在昨天的帖子中,我提到了几天前所做的研究,试图为我的应用程序选择后端服务。 简而言之,我决定使用Google的Firebase产品,实际上是他们仍处于测试阶段的Cloudstore。 使用仍处于测试阶段的内容的想法可能会吓到某些人,或者使您怀疑我的判断。 但是,正如我现在已经明确指出的那样,我只是在此阶段瞄准最低限度可行的产品,而将整个产品基于beta产品的风险很小(没有?)。 我会让您知道,我对这一选择进行了很多思考,这可能比我的项目所需要的要多,而这在此时仍只是我的想象力。 我的研究确实做了一件很棒的事情,我发现它对未来充满了希望:编写自己的后端服务的想法听起来真的很有趣。 我读得越多,就越会深深地想到Firebase,Realm等解决方案非常适合以很少的时间和资源(我的实际情况)启动并运行某些解决方案。 对于大多数自定义操作,并且显然是独立的,编写自己的服务器端代码和API是理想的选择。 我只想为学习体验而尝试一下,再加上一些其他语言的介绍。 是的,我知道Swift也可以是服务器端语言,但是我想深入了解Python和Ruby,并了解它们可以带给我的力量。 我迫不及待地想要扩展我的工具箱,使其包含更多的语言,并对全栈有更多的了解。 当我说我的待办事项清单很长时,请相信我,最困难的部分是将我应该首先学习的内容放在优先位置。 就像我在上面说的那样,昨天并不是一个总的“损失”,而我用这个词是宽松的,因为我确实解决了自动布局所带来的一些问题。 仍然有一些警告,因此我想我仍然有很多事情要学习,但是我能够在所有iPhone屏幕尺寸上启动该应用程序,并且表现出我的预期。 结果,我今天可以继续进行一些严肃的编码。 大肆宣传!

在iOS中使用Firebase推送通知

应用注册窗口将显示以下步骤 将GoogleService-Info.plist文件下载并移动到您的项目中,然后将firebase / core pod文件安装到您的项目中 添加GoogleService-Info.plist之后,请转到appDelegate.swift。 在didFinishLaunchingWithOptions中添加FirebaseApp.configure() 。 在appDelegate中添加以下代码以从firebase获取通知, 在appDelegate.swift中添加UserNotification功能后,返回Firebase控制台→打开项目→单击Cloud Messaging →发送您的第一条消息

iOS:使用Firebase发送推送通知

我目前正在学习【Swift 4】以扩展我的编程知识。 几年前,我看过Swift,但现在准备好深入研究它。 我已经使用Java编程多年,并且对Python有所了解。 因此,我学习一种新语言的方法受到该先前知识的影响。 ☞步骤1:在XCode上创建一个空项目 一种。 选择“ 单一视图应用” b。 确保您提供唯一的软件包名称。 C。 启用功能远程通知和推送通知 单击.xcodeproj->功能->启用推送通知 ☞步骤2:使用Pod安装要求 Firebase和FirebaseMessaging等要求。 在安装之前,请确保您的机器已安装Cocoapods。 如果未安装,请不要担心,可以从这里轻松安装。 // open terminal and run below command $ cd /your-project-directory/ //使用此命令初始化pods $ pod init 发布此命令Podfile将在项目根目录中创建//使用vi或vim编辑器(无论您的计算机上安装了什么) $ vim Podfile //继续安装添加的Pod $ pod安装 ☞步骤3:设置Firebase帐户 一种。 从这里创建项目 b。 从Firebase控制台输入创建的项目。 选择应用程序环境,Android / iOS / Web。 确保您的软件包名称(或bundleId)与设置XCode应用程序时输入的名称相同。 C。 将配置文件(通过上述过程生成)添加到项目根目录: GoogleService-Info.plist ☞步骤4:在Apple帐户中设置证书 一种。 […]