こんにちは。virapture株式会社(https://virapture.com)でCEOしながらラグナロク株式会社(https://ragna-rock.com)でもCKOとして働いている、もぐめっとと申します。この本をお手にとっていただき、誠にありがとうございます。急遽技術書展2022に参加を決めたため内容は荒々しいものになっておりますが、PDF版で随時改定していく予定なのでご容赦いただけると幸いです。この本では、普段私が発信しているFirebaseにまつわる情報で人気の高い情報を最新の2022年度版に改めて修正したものとなっております。精一杯まとめましたので、皆様のFirebaseライフのご参考になれば幸いです。
この本の内容はFirebaseやFirestoreをある程度使用したことがある層に向けた内容になっているため、Firebaseへの経験がある前提で説明が簡略化されている箇所もございます。なるべくわかりやすいように記載しておりますが、ご容赦いただけると幸いです。
本書に記載された内容は、情報の提供のみを目的としています。したがって、本書を用いた開発、製作、運用は、必ずご自身の責任と判断によって行ってください。これらの情報による開発、製作、運用の結果について、著者はいかなる責任も負いません。
毎年5月頃に行われるGoogle I/O。そこではGoogleに関する様々な内容が紹介されますが、Firebaseもたくさんの新機能が発表されました。この章では、2022年に紹介されたFirebaseの新機能を紹介します。
Stripe Extensionを使って、サブスクリプションを使った場合の各種イベントを設定することができるようになりました。
デモではCloud Functions v2で追加されたカスタムイベントトリガーを使うことによって、サブスクリプションをキャンセルしたときにキャンセルメールを送る実装例を紹介されました。
import { onCustomEventPublished } from "firebase-functions/v2/eventarc";
export const func = onCustomEventPublished(
{
eventType: "firebase.extensions.storage-resize-images.v1.complete",
channel: "locations/us-west1/channels/firebase",
region: "us-west1",
},
(event) => {
// do something
});
import * as admin from "firebase-admin";
import { onCustomEventPublished } from "firebase-functions/v2/eventarc";
export const func = onCustomEventPublished(
{
eventType: "com.stripe.v1.customer.subscription.deleted",
},
(event) => {
admin.firestore().collection('mail').add({
to: getCustomerEmail(event),
from: 'noreply@example.com',
message: {
subject: 'Title',
html: '<h1>Hello!</h1>'
}
})
});
Snapchat (https://www.snap.com/) を使ったログインが実装され、ログイン後にSnapStoryに共有することで、ユーザが製品を友だちに勧めることができるようになりました。
Authenticate with Snap Login Kit
https://firebase.google.com/products/extensions/snap-snapchat-login
Stream (https://getstream.io/) を使ったログインと同期が行えるようになりました。Streamを使うことで、チャットを簡単に実装できるようになります。
Authenticate with Stream Feeds
https://firebase.google.com/products/extensions/stream-auth-activity-feeds
全文検索を可能にするOSSのTypesenseとFirestoreを連携できるExtensionが追加されました。
Search Firestore with Typesense
https://firebase.google.com/products/extensions/typesense-firestore-typesense-search
今までよく紹介されていたalgoriaは、コストが高いことが問題でもありました。全文検索の選択肢としてTypesenseが公式に追加されたのは、スタートアップにとってとっても魅力的なアップデートになります。
アプリ内サブスクリプションの支払い実装を簡単にできるRevenueCat (https://www.revenuecat.com/) のExtensionが追加されました。これを使うことで、アプリのデジタル商品を簡単に販売することができるようになります。
Enable In-App Purchases with RevenueCat
https://firebase.google.com/products/extensions/revenuecat-firestore-revenuecat-purchases
たとえば、firestore-send-emailがエミュレータで試したりすることができます。
$ firebase ext:install --local firebase/firestore-send-email
実際に実装を試してみたので、詳細は下記記事をご覧ください。
https://qiita.com/mogmet/items/2fc9cf8bc5b151193fab