- Notifications
You must be signed in to change notification settings - Fork257
Google I/O 2022 Pinball game built with Flutter and Firebase
License
flutter/pinball
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A Pinball game built withFlutter andFirebase forGoogle I/O 2022.
Try it now andlearn about how it's made.
Built byVery Good Ventures in partnership with Google
Created usingVery Good CLI 🤖
First, please create a Firebase project for development.After you create your project, remember to activate the following features:-Authentication with theanonymous option-Firestore with the rules in firestore.rules.
Next, use the instructions onFirebase website to set up theflutterfire_cli.
Allow it to override thelib/firebase_options.dart file with your project settings.
To run the desired project either use the launch configuration in VSCode/Android Studio or use the following commands:
$ flutter run -d chrome
*I/O Pinball works on Web for desktop and mobile.
To run all unit and widget tests use the following command:
$ fluttertest --coverage --test-randomize-ordering-seed random
To view the generated coverage report you can uselcov.
# Generate Coverage Report$ genhtml coverage/lcov.info -o coverage/# Open Coverage Report$ open coverage/index.html
This project relies onflutter_localizations and follows theofficial internationalization guide for Flutter.
- To add a new localizable string, open the
app_en.arb
file atlib/l10n/arb/app_en.arb
.
{ "@@locale": "en", "counterAppBarTitle": "Counter", "@counterAppBarTitle": { "description": "Text shown in the AppBar of the Counter Page" }}
- Then add a new key/value and description
{ "@@locale": "en", "counterAppBarTitle": "Counter", "@counterAppBarTitle": { "description": "Text shown in the AppBar of the Counter Page" }, "helloWorld": "Hello World", "@helloWorld": { "description": "Hello World Text" }}
- Use the new string
import'package:pinball/l10n/l10n.dart';@overrideWidgetbuild(BuildContext context) {final l10n= context.l10n;returnText(l10n.helloWorld);}
- For each supported locale, add a new ARB file in
lib/l10n/arb
.
├── l10n│ ├── arb│ │ ├── app_en.arb│ │ └── app_es.arb
- Add the translated strings to each
.arb
file:
app_en.arb
{ "@@locale": "en", "counterAppBarTitle": "Counter", "@counterAppBarTitle": { "description": "Text shown in the AppBar of the Counter Page" }}
app_es.arb
{ "@@locale": "es", "counterAppBarTitle": "Contador", "@counterAppBarTitle": { "description": "Texto mostrado en la AppBar de la página del contador" }}