Skip to content

Commit d2b660c

Browse files
Sync docs from Google internal (#17425)
1 parent 8b467e1 commit d2b660c

13 files changed

+131
-106
lines changed

docs/app-check/custom-resource.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
1-
Project: /docs/_project.yaml
1+
Project: /docs/app-check/_project.yaml
22
Book: /docs/_book.yaml
33

4+
{% include "docs/app-check/_local_variables.html" %}
5+
{% include "_shared/firebase/_snippet_include_comment.html" %}
6+
47
<link rel="stylesheet" type="text/css" href="/styles/docs.css" />
58

6-
# Protect non-Firebase resources with App Check
9+
# Protect custom backend resources with {{app_check}} in Flutter projects
710

8-
You can protect your app's non-Firebase resources, such as self-hosted backends,
9-
with App Check. To do so, you will need to do both of the following:
11+
You can use {{app_check}} to protect non-Google custom backend resources for
12+
your app, like your own self-hosted backend. To do so, you'll need to do both of
13+
the following:
1014

1115
- Modify your app client to send an App Check token along with each request
1216
to your backend, as described on this page.

docs/app-check/default-providers.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,5 +142,5 @@ App Check debug provider instead of a real attestation provider.
142142

143143
See [Use App Check with the debug provider in Flutter apps](/docs/app-check/flutter/debug-provider).
144144

145-
Note: For certain Android devices, you need to enable "Meets basic device integrity" in the
146-
Google Play console.
145+
Note: For certain Android devices, you need to enable "Meets basic device
146+
integrity" in the Google Play console.

docs/auth/email-link-auth.md

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,29 @@ To initiate the authentication flow, present an interface that prompts the user
5050

5151
1. Construct the ActionCodeSettings object, which provides Firebase with instructions on how to construct the email link. Set the following fields:
5252

53-
* `url`: The deep link to embed and any additional state to be passed along. The link's domain has to be whitelisted in the Firebase Console list of authorized domains, which can be found by going to the Settings tab (Authentication -> Settings -> Authorized Domains). The link will redirect the user to this URL if the app is not installed on their device and the app was not able to be installed.
53+
* `url`: The deep link to embed and any additional state to be passed along.
54+
The link's domain has to be present in the Firebase Console list of
55+
authorized domains, which can be found by going to the Settings tab
56+
(Authentication -> Settings -> Authorized Domains). The link will redirect
57+
the user to this URL if the app is not installed on their device and the
58+
app was not able to be installed.
5459

5560
* `androidPackageName` and `IOSBundleId`: The apps to use when the sign-in link is opened on an Android or iOS device. Learn more on how to configure Firebase Dynamic Links to open email action links via mobile apps.
5661

5762
* `handleCodeInApp`: Set to `true`. The sign-in operation has to always be completed in the app unlike other out of band email actions (password reset and email verifications). This is because, at the end of the flow, the user is expected to be signed in and their Auth state persisted within the app.
5863

59-
* `dynamicLinkDomain`: (Deprecated, use `linkDomain`) When multiple custom dynamic link domains are defined for a project, specify which one to use when the link is to be opened via a specified mobile app (for example, `example.page.link`). Otherwise the first domain is automatically selected.
64+
* `dynamicLinkDomain`: (Deprecated, use `linkDomain`) When multiple
65+
custom dynamic link domains are defined for a project, specify which one
66+
to use when the link is to be opened using a specified mobile app (for
67+
example, `example.page.link`). Otherwise the first domain is
68+
automatically selected.
6069

61-
* `linkDomain`: The optional custom Firebase Hosting domain to use when the link is to be opened via a specified mobile app. The domain must be configured in Firebase Hosting and owned by the project. This cannot be a default Hosting domain (`web.app` or `firebaseapp.com`). This replaces the deprecated `dynamicLinkDomain` setting.
70+
* `linkDomain`: The optional custom Firebase Hosting domain to use
71+
when the link is to be opened using a specified mobile app. The domain
72+
must be configured in Firebase Hosting and owned by the project.
73+
This cannot be a default Hosting domain (`web.app` or
74+
`firebaseapp.com`). This replaces the deprecated `dynamicLinkDomain`
75+
setting.
6276

6377
```dart
6478
var acs = ActionCodeSettings(
@@ -120,7 +134,7 @@ potentially intercepted by intermediary servers.
120134
121135
Firebase Dynamic Links is deprecated; Firebase Hosting is now used to send a sign-in link. Follow the guides for platform specific configuration:
122136
123-
- [Android](https://firebase.google.com/docs/auth/android/email-link-auth#complete-android-signin) and
137+
- [Android](https://firebase.google.com/docs/auth/android/email-link-auth#complete-android-signin)
124138
- [iOS](https://firebase.google.com/docs/auth/ios/email-link-auth#complete-apple-signin)
125139
- [Web](https://firebase.google.com/docs/auth/web/email-link-auth#completing_sign-in_in_a_web_page)
126140

docs/auth/multi-factor.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ Book: /docs/_book.yaml
66
# Add multi-factor authentication to your Flutter app
77

88
If you've upgraded to Firebase Authentication with Identity Platform,
9-
you can add SMS multi-factor authentication to your Flutter app.
9+
you can add SMS multi-factor authentication to your Flutter app.
10+
1011
Note: Avoid the use of SMS-based MFA. SMS is an insecure technology that is easy to compromise or spoof with
1112
no authentication mechanism or eavesdropping protection.
1213

docs/crashlytics/_customize-crash-reports.md

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -258,10 +258,12 @@ which includes the data that populates breadcrumb logs.
258258

259259
## Enable opt-in reporting {: #enable-reporting}
260260

261+
<<../_includes/customize-crash-reports/_enable-opt-in_impact-awareness-note.md>>
262+
261263
By default, {{crashlytics}} automatically collects crash reports for all your
262264
app's users. To give users more control over the data they send, you can enable
263265
opt-in reporting by disabling automatic reporting and only sending data to
264-
{{crashlytics}} when you choose to in your code:
266+
{{crashlytics}} when you choose to in your code.
265267

266268
1. Turn off automatic collection natively:
267269

@@ -284,18 +286,19 @@ opt-in reporting by disabling automatic reporting and only sending data to
284286
```
285287

286288
1. Enable collection for select users by calling the {{crashlytics}} data
287-
collection override at runtime.
288-
289-
The override value persists across launches of your app so {{crashlytics}}
290-
can automatically collect reports. To opt out of automatic crash reporting,
291-
pass `false` as the override value. When set to `false`, the new value does
292-
not apply until the next run of the app.
289+
collection override at runtime. The override value persists across all
290+
subsequent launches of your app so {{crashlytics}} can automatically collect
291+
reports for that user.
293292

294293
```dart
295294
FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true);
296295
```
297296

298-
Note: When data collection is disabled, {{crashlytics}} will store crash
299-
information locally on the device. If data collection is subsequently enabled,
300-
any crash information stored on the device will be sent to {{crashlytics}} for
301-
processing.
297+
If the user later opts-out of data collection, you can pass `false` as the
298+
override value, which will apply the next time the user launches the app and
299+
will persist across all subsequent launches for that user.
300+
301+
Note: When data collection is disabled for a user, {{crashlytics}} will
302+
store crash information locally on the device. If data collection is
303+
subsequently enabled, any crash information stored on the device will be
304+
sent to {{crashlytics}} for processing.

docs/setup/_setup_main.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,11 @@ flutterfire configure
130130
`DefaultFirebaseOptions` object exported by the configuration file:
131131
132132
```dart
133+
WidgetsFlutterBinding.ensureInitialized();
133134
await Firebase.initializeApp(
134135
options: DefaultFirebaseOptions.currentPlatform,
135136
);
137+
runApp(const MyApp());
136138
```
137139
138140
1. Rebuild your Flutter application:
@@ -193,7 +195,8 @@ You're all set! Your Flutter apps are registered and configured to use Firebase.
193195
{% setvar YES %}<div class="center compare-yes"></div>{% endsetvar %}
194196

195197
Product | Plugin name | iOS | Android | Web | Other Apple<br>(macOS, etc.) | Windows
196-
-------------------------------------------------|--------------------------------|---------|---------|---------|--------------------------|--------
198+
-------------------------------------------------|--------------------------------|---------|---------|---------|:--------------------------:|:-------:
199+
[{{firebase_vertexai}}][vertex ai docs] <sup>1</sup> | `firebase_ai` | {{YES}} | {{YES}} | {{YES}} | beta |
197200
[{{analytics}}][analytics docs] | `firebase_analytics` | {{YES}} | {{YES}} | {{YES}} | beta |
198201
[{{app_check}}][app check docs] | `firebase_app_check` | {{YES}} | {{YES}} | {{YES}} | beta |
199202
[{{auth}}][auth docs] | `firebase_auth` | {{YES}} | {{YES}} | {{YES}} | beta | beta
@@ -202,6 +205,7 @@ Product | Plugin name
202205
[{{messaging_longer}}][fcm docs] | `firebase_messaging` | {{YES}} | {{YES}} | {{YES}} | beta |
203206
[{{storage}}][storage docs] | `firebase_storage` | {{YES}} | {{YES}} | {{YES}} | beta | beta
204207
[{{crashlytics}}][crashlytics docs] | `firebase_crashlytics` | {{YES}} | {{YES}} | | beta |
208+
[{{data_connect_short}}][dataconnect docs] | `firebase_data_connect` | {{YES}} | {{YES}} | {{YES}} | |
205209
[{{ddls}}][ddls docs] | `firebase_dynamic_links` | {{YES}} | {{YES}} | | |
206210
[{{inappmessaging}}][fiam docs] | `firebase_in_app_messaging` | {{YES}} | {{YES}} | | |
207211
[{{firebase_installations}}][installations docs] | `firebase_app_installations` | {{YES}} | {{YES}} | {{YES}} | beta |
@@ -210,6 +214,12 @@ Product | Plugin name
210214
[{{database}}][rtdb docs] | `firebase_database` | {{YES}} | {{YES}} | {{YES}} | beta |
211215
[{{remote_config}}][remote config docs] | `firebase_remote_config` | {{YES}} | {{YES}} | {{YES}} | beta |
212216

217+
<sup>
218+
<b>1</b> <em>{{firebase_vertexai}} was formerly called
219+
"{{vertex_ai_in_firebase}}" with the plugin
220+
<code>firebase_vertexai</code>.</em>
221+
</sup>
222+
213223
Caution: Firebase on Windows is not intended for production use cases, only local development workflows.
214224

215225
## Try out an example app with {{analytics}} {: #try-analytics-example-app}
@@ -322,10 +332,12 @@ By default, the Firebase Flutter SDK auto-injects the Firebase JavaScript SDK wh
322332
[fcm docs]: /docs/cloud-messaging/flutter/client
323333
[storage docs]: /docs/storage/flutter/start
324334
[crashlytics docs]: /docs/crashlytics/get-started?platform=flutter
335+
[dataconnect docs]: /docs/data-connect/flutter-sdk
325336
[ddls docs]: /docs/dynamic-links/flutter/create
326337
[fiam docs]: /docs/in-app-messaging/get-started?platform=flutter
327338
[installations docs]: /docs/projects/manage-installations
328339
[ml docs]: /docs/ml/flutter/use-custom-models
329340
[perfmon docs]: /docs/perf-mon/flutter/get-started
330341
[rtdb docs]: /docs/database/flutter/start
331342
[remote config docs]: /docs/remote-config/get-started?platform=flutter
343+
[vertex ai docs]: /docs/ai-logic/get-started

docs/storage/create-reference.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ Project: /docs/storage/_project.yaml
22
Book: /docs/_book.yaml
33
page_type: guide
44

5+
{# The following is at site root, /third_party/devsite/firebase/en/ #}
6+
{% include "_local_variables.html" %}
7+
8+
{% include "docs/storage/_local_variables.html" %}
9+
510
<link rel="stylesheet" type="text/css" href="/styles/docs.css" />
611

712
# Create a Cloud Storage reference on Flutter

docs/storage/delete-files.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,18 @@ Project: /docs/storage/_project.yaml
22
Book: /docs/_book.yaml
33
page_type: guide
44

5+
{# The following is at site root, /third_party/devsite/firebase/en/ #}
6+
{% include "_local_variables.html" %}
7+
8+
{% include "docs/storage/_local_variables.html" %}
9+
510
<link rel="stylesheet" type="text/css" href="/styles/docs.css" />
611

712
# Delete files with Cloud Storage on Flutter
813

914
After uploading files to Cloud Storage, you can also delete them.
1015

11-
Note: By default, a Cloud Storage bucket requires Firebase Authentication to
12-
perform any action on the bucket's data or files. You can
13-
[change your Firebase Security Rules for Cloud Storage](/docs/storage/security/rules-conditions#public)
14-
to allow unauthenticated access. Since Firebase and your project's default
15-
App Engine app share this bucket, configuring public access may make newly
16-
uploaded App Engine files publicly accessible, as well. Be sure to restrict
17-
access to your Cloud Storage bucket again when you set up Authentication.
18-
16+
<<../_includes/_restrict_access_to_bucket_note.md>>
1917

2018
## Delete a File
2119

docs/storage/download-files.md

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ Project: /docs/storage/_project.yaml
22
Book: /docs/_book.yaml
33
page_type: guide
44

5+
{# The following is at site root, /third_party/devsite/firebase/en/ #}
6+
{% include "_local_variables.html" %}
7+
8+
{% include "docs/storage/_local_variables.html" %}
9+
510
<link rel="stylesheet" type="text/css" href="/styles/docs.css" />
611

712
# Download files with Cloud Storage on Flutter
@@ -10,15 +15,7 @@ Cloud Storage for Firebase allows you to quickly and easily download
1015
files from a [Cloud Storage](//cloud.google.com/storage)
1116
bucket provided and managed by Firebase.
1217

13-
Note: By default, a Cloud Storage bucket requires Firebase Authentication to
14-
perform any action on the bucket's data or files. You can
15-
[change your Firebase Security Rules for Cloud Storage](/docs/storage/security/rules-conditions#public)
16-
to allow unauthenticated access. Since Firebase and your project's default
17-
App Engine app share this bucket, configuring public access may make newly
18-
uploaded App Engine files publicly accessible, as well. Be sure to restrict
19-
access to your Cloud Storage bucket again when you set up Authentication.
20-
21-
18+
<<../_includes/_restrict_access_to_bucket_note.md>>
2219

2320
## Create a Reference
2421

@@ -50,7 +47,7 @@ final httpsReference = FirebaseStorage.instance.refFromURL(
5047
## Download Files
5148

5249
Once you have a reference, you can download files from Cloud Storage
53-
by calling the `getData()` function. If you prefer to download the file
50+
by calling the `getData()`. If you prefer to download the file
5451
with another library, you can get a download URL with `getDownloadUrl()`.
5552

5653
### Download in memory

docs/storage/file-metadata.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ Project: /docs/storage/_project.yaml
22
Book: /docs/_book.yaml
33
page_type: guide
44

5+
{# The following is at site root, /third_party/devsite/firebase/en/ #}
6+
{% include "_local_variables.html" %}
7+
8+
{% include "docs/storage/_local_variables.html" %}
9+
510
<link rel="stylesheet" type="text/css" href="/styles/docs.css" />
611

712
# Use file metadata with Cloud Storage on Flutter
@@ -10,15 +15,7 @@ After uploading a file to Cloud Storage reference, you can also get
1015
and update the file metadata, for example to view or update the content type.
1116
Files can also store custom key/value pairs with additional file metadata.
1217

13-
Note: By default, a Cloud Storage bucket requires Firebase Authentication to
14-
perform any action on the bucket's data or files. You can
15-
[change your Firebase Security Rules for Cloud Storage](/docs/storage/security/rules-conditions#public)
16-
to allow unauthenticated access. Since Firebase and your project's default
17-
App Engine app share this bucket, configuring public access may make newly
18-
uploaded App Engine files publicly accessible, as well. Be sure to restrict
19-
access to your Cloud Storage bucket again when you set up Authentication.
20-
21-
18+
<<../_includes/_restrict_access_to_bucket_note.md>>
2219

2320
## Get File Metadata
2421

docs/storage/handle-errors.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ Project: /docs/storage/_project.yaml
22
Book: /docs/_book.yaml
33
page_type: guide
44

5+
{# The following is at site root, /third_party/devsite/firebase/en/ #}
6+
{% include "_local_variables.html" %}
7+
8+
{% include "docs/storage/_local_variables.html" %}
9+
510
<link rel="stylesheet" type="text/css" href="/styles/docs.css" />
611

712
# Handle errors for Cloud Storage on Flutter
@@ -22,14 +27,7 @@ try {
2227
}
2328
```
2429

25-
Note: By default, a Cloud Storage bucket requires Firebase Authentication to
26-
perform any action on the bucket's data or files. You can
27-
[change your Firebase Security Rules for Cloud Storage](/docs/storage/security/rules-conditions#public)
28-
to allow unauthenticated access. Since Firebase and your project's default
29-
App Engine app share this bucket, configuring public access may make newly
30-
uploaded App Engine files publicly accessible, as well. Be sure to restrict
31-
access to your Cloud Storage bucket again when you set up Authentication.
32-
30+
<<../_includes/_restrict_access_to_bucket_note.md>>
3331

3432
## Handle Error Messages
3533

@@ -46,7 +44,7 @@ Code | Description
4644
`storage/object-not-found` | No object exists at the desired reference.
4745
`storage/bucket-not-found` | No bucket is configured for Cloud Storage
4846
`storage/project-not-found` | No project is configured for Cloud Storage
49-
`storage/quota-exceeded` | Quota on your Cloud Storage bucket has been exceeded. If you're on the no-cost tier, upgrade to a paid plan. If you're on a paid plan, reach out to Firebase support.
47+
`storage/quota-exceeded` | Quota on your {{firebase_storage}} bucket has been exceeded. If you're on the {{spark_plan_no_link_short}}, consider upgrading to the {{blaze_plan_with_link}}. If you're already on the {{blaze_plan_no_link_short}}, reach out to Firebase Support.<br><br>**Important**: Starting {{date_require_blaze_maintain_access_to_storage}}, the [{{blaze_plan_no_link_short}} will be _required_ to use {{firebase_storage}}](/docs/storage/faqs-storage-changes-announced-sept-2024), even default buckets.
5048
`storage/unauthenticated` | User is unauthenticated, please authenticate and try again.
5149
`storage/unauthorized` | User is not authorized to perform the desired action, check your security rules to ensure they are correct.
5250
`storage/retry-limit-exceeded` | The maximum time limit on an operation (upload, download, delete, etc.) has been excceded. Try uploading again.

0 commit comments

Comments
 (0)