Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
最近のFirebase / Recent Firebase
Search
k2wanko
February 02, 2019
4
1.5k
最近のFirebase / Recent Firebase
https://gcpugfukuoka.connpass.com/event/114665/
k2wanko
February 02, 2019
Tweet
Share
More Decks by k2wanko
See All by k2wanko
Sales AI Cloud "ailead" TSConfig Strictly Adopted / セールスAIクラウド「ailead」の TSConfig厳格化対応した話 /
k2wanko
1
1.6k
Google Analytics for Firebaseを 使うときに把握しておきたいこと / Keep in mind when using Google Analytics for Firebase
k2wanko
2
460
パスワードのない未来のための Firebaseで実装するFIDO2 / FIDO2 actualized by Firebase for the password-less future
k2wanko
5
2.2k
Firebase Auth& Performance Monitoring
k2wanko
0
320
What's New Firebase 2019 Q1 #FJUG #io19jp
k2wanko
5
2.5k
Firebase for Grow
k2wanko
5
880
gosecを試してみた話 / try gosec
k2wanko
1
2.8k
Firebase Japan User Group Introduction 2018 #FJUG
k2wanko
0
580
Firestore with Security - Firebase Summit 2018 Report Day
k2wanko
5
1.8k
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Building Your Own Lightsaber
phodgson
103
6.1k
Bash Introduction
62gerente
608
210k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Visualization
eitanlees
145
15k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
We Have a Design System, Now What?
morganepeng
50
7.2k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Transcript
最近のFirebase コキチーズ@k2wanko 2019-02-02 GCPUG Fukuoka 「Firebase」特集
コキチーズ@k2wanko - LINEでセキュリティエンジニアをやっている。 (本業はあんまりFirebase関係ない) - Firebase Japan User Groupのオーガナイザーと GCPUG
TokyoのStaffをやっている。 - 得意分野はWebとAndroidとGCPとGo
とは?
helps mobile app teams succeed.
モバイルアプリチームの 成功を支援します。
つまり、モバイルアプリの作成を 助けてくれるプラットフォーム
基本的にクライアントアプリだけで 開発が可能 サーバーをメンテナンスする必要はない
対応プラットフォーム
基本的にはクライアントだけで アプリが作れちゃう
でも、サーバーが必要なときもある
サーバーでFirebaseを操作するSDKが Admin SDK
Admin SDK対応言語
いくつかのクライアントコードやSDKはOSSで提供されている。 https://github.com/firebase
FirebaseのProduct達
始めるだけならまずはここから
Google Analytics for Firebase
Google Analytics for Firebaseとは - 無料で使えるモバイル向けのアナリティクスサービス。 - イベントをベースに分析ができる。 - データはBigQueryにエクスポートできる。
- 予め用意されているイベント以外にも、 独自にイベントを定義できる。 - Audienceを作成することで、 特定の行動をしたユーザーをグループ化できる。
What’s New - Audience Exclusions - Membership Duration https://firebase.googleblog.com/2019/01/a-crash-course-in-using-new-audiences.html
Google アナリティクス SDK終了 - 2019 年10月に、Android と iOS 向けの Google
ア ナリティクス開発者サービス SDK が終了 - 移行先はFirebaseへ - 有料版のGoogle アナリティクス 360 は影響なし https://support.google.com/analytics/answer/9167112?hl=ja
Cloud Functions for Firebase
Cloud Functions for Firebaseとは - イベント駆動で独自の関数を実行できるサービス - 受け取れるイベントはPubSubやHTTPやFirebaseのほとんど のサービスのイベントを取れる -
Firebaseが標準でサポートしているのはNode.jsだけ - GCP経由のCloud FunctionsでもFirestoreや Realtime DB、Analyticsのイベントも受け取れる。 - `gcloud functions event-types list` で確認できる。
What’s New - Firebase Management API - Go Support (Firebaseというわけではない)
かなり実践的なサンプルがいっぱいあるのでオススメ https://github.com/firebase/functions-samples
Firebase Authentication
Firebase Authenticationとは - パスワード認証からGoogle、Twitterのような プロバイダー認証にSMS認証など色々サポートしてる。 - 対応してない認証もカスタム認証を利用して Firebaseユーザーにできる。
What’s New - Cloud Identity for Customers and Partners https://cloud.google.com/identity-cp/
- SAML認証とかOIDCとかもサポートされた。
Firebase Hosting
Firebase Hosting - 静的なファイルを配信するためのホスティングサービス - 標準でHTTP2で配信してくれる。 - Cloud Functionsを接続することで 動的なコンテンツ配信も可能
What’s New - 複数サイトを1つのプロジェクトで管理できる。 (そんなに新しくはないけど...)
Firebase Cloud Messaging
Firebase Cloud Messaging とは - Push通知を送れるサービス - モバイルだけじゃなくてWebにも対応している。 - トピックという機能を使えば、
サブスクライブしているユーザーにだけ送るもできる。
What’s New - スケジューリングをPush通知が設定できるようになった 毎日決まったメッセージを送ることが可能
GCMの終了 - 2019 年 4月11日にGCMが終了するので、 - 古いSDKやエンドポイント使ってたらFCMへ移行が必要 https://developers-jp.googleblog.com/2018/04/time-to-upgrade-from-gcm-to-fcm.html
Cloud Firestore
Cloud Firestore とは - リアルタイムにデータを同期できる 分散NoSQLデータベース - クエリーの全ては強い整合性 - クライアントから直接書き込めるし
オフラインでも書き込みができる。 - 書き込み、読み込みの制限はセキュリティルールで担保
Firestoreの基本概念
サブコレクション /user/user1/profile/user1 user user1 user2 post post1 post2
What’s New - GA SLA 99.999% - 値下げ - usリージョンよりも東京リージョンのが安い
- https://cloud.google.com/firestore/pricing#pricing_update - ローカルエミュレーター
ローカルエミュレーターについてはブログを書いたのでそっち を見てください。https://goo.gl/SGbE7t
セキュリティルールについて - クライアントから直接書き込めるFirestoreで、 データを保護するにはセキュリティルールで行う - セキュリティルールはJavaScriptっぽい独自構文 - テストモードとか使わず最初っから書きながら作るべき
Firestoreのセキュリティルールの基本 service cloud.firestore { match /databases/{database}/documents { match /{document=**} {
allow read, write: if request.auth.uid != null; } } } 認証しているユーザーのみに読み書きをさせる。
Firestoreのセキュリティルールの基本 read - get - list write - create -
update - delete
認証、スキーマバリデーション、ビジネスロジックの 順で検証していく Authorization Scheme Validation Business Logic
具体的なコードはこのTwitterみたいなタイムラインのデモを見てね https://github.com/k2wanko/fire-timeline
Realtime DBとの使い分け - ほとんどの場合はFirestoreでOK - 少ないデータを頻繁にアップデートする用途になら RealtimeDBのが安いこともある。 - 前まではRealtime DBはGAで安定してるとあったが、
FirestoreもGAになり、その優位性もなくなった。 - ユーザーがオフラインになったことを検知したい場合
Firestoreは GAなのだからガンガン使っていこう!
よりFirebaseを知るには
公式ドキュメントを一通り見ておく 全部を隅々まで把握する必要はないけど どんなサービスがあるかは把握しておいたほうが必要な時に気づ ける。 https://firebase.google.com/docs/
わからないことはサポートに問い合わせをしてみる 無料でも日本語で質問することができる。 より具体的なサポートが欲しい場合は有料のサポートもある。 https://firebase.google.com/support/contact/
コミュニティに参加してみる Firebaseのコミュニティに参加してみて、 Firebaseの最新情報や話題をキャッチアップ https://firebase.asia/
https://cast.firebase.asia/
https://www.youtube.com/channel/UCpvejDfNX4DOhuqlmCPiFfQ
Question?
Thank you @k2wanko