iOS版Firebase存储入门

介绍

除了使iOS开发人员能够轻松地将数据存储在云上以及通过其强大的SDK对用户进行身份验证之外,Firebase还为媒体提供了一种便捷的存储解决方案。 Firebase存储允许开发人员在云上存储和检索音频,图像和视频文件。 也就是说,Firebase Storage公开了一组SDK,使开发人员能够与其兄弟产品Firebase Realtime Database一起管理其用户生成的内容资产,该产品存储用户文本内容。

但是,Firebase Storage不仅仅是富媒体资产的存储容器。 它通过为用户及其设备提供离线同步,在用户下线和重新上线时排队和恢复图像和视频来帮助开发人员。 这与Firebase Realtime Database协调用户数据到后端同步的方式类似。

Firebase存储徽标

本教程的目标

本教程将向您展示Firebase Storage SDK,以帮助您管理应用程序的媒体资产(例如图像,音频和视频文件),将它们远程存储在云中,并在整个应用程序中进行检索。 在本教程中,您将学习如何:

  • 为Firebase存储设置您的应用
  • 创建并使用存储引用
  • 将媒体上传到Firebase存储
  • 从Firebase Storage下载媒体

假设知识

本教程假定您已经接触过Firebase,并具有使用Swift和Xcode进行开发的背景知识。 同样重要的是,您必须首先阅读我们的《 iOS Firebase身份验证入门》教程,因为在访问许多Firebase Storage功能(包括资产路径)之前,您需要对用户进行身份验证。

什么是Firebase存储?

作为开发人员,您可以使用Firebase实时数据库以无服务器方式访问Firebase存储桶并与之交互,而无需创建和托管自己的服务器。 Firebase Storage利用本地设备缓存来在脱机时存储资产,并在用户重新联机时提供资产,并自动同步本地数据。

开发人员不再需要通过Apple的标准iOS网络库来处理同步数据和内容的复杂性,而不必处理可能导致传输中断的多种情况。

实际上,Firebase产品认识到现实世界中的移动用户面临着中断或低信号情况的前景。 能够在设备上同步数据以便以后传输,可以提供更好的用户体验,同时可以节省开发人员大量的工作。

与Firebase产品套件的其余部分一样,安全性对于Firebase Storage也是至关重要的。 这意味着开发人员可以通过使用Firebase身份验证来对用户进行身份验证 ,从而限制对存储项目的访问。Firebase身份验证基于命令式安全模型构建,该模型允许按角色来控制对路径,文件和元数据的访问。

最后,托管在Firebase Storage上的应用受益于Google基础架构,该基础架构会随着用户群的增长而扩展。 在本教程的后面,我们将探讨其中的一些概念,但首先,让我们设置您的应用程序以与Firebase一起使用。 然后,我们来看看存储参考指针。

设置项目

如果您以前曾经使用过Firebase,那么您应该对此很熟悉。 否则,您将需要在Firebase中创建一个帐户,并按照《 iOS入门Firebase身份验证

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是使用Firebase_Messaging接收推送通知的完整Flutter iOS代码: ```dart import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); runApp(MyApp()); } class MyApp extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State<MyApp> { final FirebaseMessaging _firebaseMessaging = FirebaseMessaging.instance; @override void initState() { super.initState(); _firebaseMessaging.requestPermission(); _firebaseMessaging.configure( onMessage: (Map<String, dynamic> message) async { print("onMessage: $message"); showDialog( context: context, builder: (context) { return AlertDialog( content: ListTile( title: Text(message['notification']['title']), subtitle: Text(message['notification']['body']), ), actions: <Widget>[ FlatButton( child: Text('Ok'), onPressed: () { Navigator.of(context).pop(); }, ), ], ); }, ); }, onResume: (Map<String, dynamic> message) async { print("onResume: $message"); }, onLaunch: (Map<String, dynamic> message) async { print("onLaunch: $message"); }, ); } @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Firebase Messaging', home: Scaffold( appBar: AppBar( title: Text('Flutter Firebase Messaging'), ), body: Center( child: Text('Welcome to Flutter Firebase Messaging'), ), ), ); } } ``` 在这个例子中,我们首先使用Firebase.initializeApp()初始化Firebase应用程序,然后创建FirebaseMessaging实例并调用requestPermission()请求权限。接下来,我们使用configure()方法配置FirebaseMessaging以处理不同的消息事件。当应用程序处于前台时,onMessage()方法被调用,我们在这里创建一个AlertDialog来显示推送通知的标题和正文。当应用程序处于后台或未运行时,onResume()和onLaunch()方法被调用,我们可以在这里处理推送通知。 希望这个例子能够帮助你使用Firebase_Messaging接收推送通知。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值