firebase 2023年5月のリリースまとめ PaLM API対応/独自のFirebase Extensions/Dart3対応/Cloud Functions V2一般公開など

こんにちは。[virapture株式会社](https://virapture.com)でCEOしながら[ラグナロク株式会社](https://ragna-rock.com)でもCKOとして働いている[@mogmet](https://twitter.com/mogmet)です。
![mogmet.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/3582ba4e-9f12-e118-7ce1-51f12fda7cc9.jpeg)
最近南フランスで夏を感じてました。あちらの夏は風が気持ちいいです。

本日は遅ればせながらFirebaseの5月のアップデートに関して紹介いたします。

https://www.youtube.com/watch?v=AejfDKJtsjU

Google I/Oでも発表のあった内容の中でもFirebase Extensions, Crashlytics, App Check, Flutter, Firebase Hosting & Cloud Funcitnosの5つのアップデートに絞っての紹介になります。

## Firebase Extensions
### PaLM APIとfirestoreの連携
大規模言語モデルのPaLM APIを簡単に使えるように拡張機能をリリースしました。

Firestoreに書き込んで更新をリッスンするだけでPaLM APIの結果を受け取れます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/9d6aaafd-3d6b-26a6-d98c-cfb9d9d7aba7.png)

### 20を超える拡張機能のリリース
たくさんリリースされました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/1f133507-b743-6e02-3fa5-36b2053bc579.png)

### 自分で作成した拡張機能を公開

extensions.devに自分で作った拡張機能を公開してFirebaseを使用することができるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/4550d8e9-a66d-6abf-f71f-1602d5765e09.png)

## Crashlytics

### App Quality InsightsがGA

去年からお知らせがあったCrashlyticsとAndroid Studioを連携するApp Quality Insightsが一般公開されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/9f7042c2-3d5a-0eba-1acf-fdecaa37f178.png)

### swiftアプリのstarck traceの改善

SwiftアプリでクラッシュしたときのStack tracesがより正確なファイルと行を追えるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/46ea9dbf-33cc-f160-f2c5-14fe7dacdbf4.png)

### グループ化の改善

似たエラーでも原因が違う問題に対応できるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/787dae5f-87ff-2018-2769-b4f722831fdc.png)

また、同じ障害点で発生したクラッシュに対してVariantを使うことができるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/b41682e5-186f-8310-259b-5d9aab06a394.png)


## App Check

App CheckはFirebaseクラウドとカスタムバックエンドリソースを不正アクセスや悪用から保護する機能です。
それらに追加された新機能を紹介します。

### IDプラットフォームでのApp Checkサポート

より認証の幅が広がるIDプラットフォームにApp Checkが対応しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/513e4c9f-608d-49ca-66f9-91c7c79d6838.png)

Firebase認証との違いに関しては下記を参照。

https://cloud.google.com/identity-platform/docs/product-comparison?hl=ja

### Unity / C++用のSDKでもApp Checkサポート
Unity / C++用のSDKでもApp Checkが使えるようになりました。
ゲーム内の不正行為に簡単に対抗できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/38885069-23ff-bae9-bc3a-56110aef6379.png)

### リプレイ保護

気密性の高いアクションを実行する場合にリプレイ保護を追加しました。
App Checkで認証したトークンは一度だけ使えるようになっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/6e6b129e-220a-4930-8b63-514366026838.png)


## Flutter

### Windowsへの対応

Windowsへの対応を開始しました。興味がある方はリポジトリを参照ください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/8a0394c8-b07a-df52-4d67-a53630c898b6.png)

### Dart 3への対応

Dart3のサポートをしました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/01370c32-aacb-e15d-b9ae-cbd053aa4dad.png)

### Flutter webをFirebase Hostingにデプロイ

Flutter Webアプリをより簡単にFirebase Hostingにデプロイできるようになりました。
1ステップでデプロイが可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/fcefe1cd-42d8-ec50-f1fc-acc0fd0caadf.png)

## Firebase Hosting & Cloud Funcitnos

### Cloud Functions v2がGA

これにより単一インスタンスで複数のリクエストを同時に実行できるため、より大きなワークロードを低コストで実現できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/7a5be61f-3f59-2c54-971b-ed7dcf0281b2.png)

### Cloud FunctionsのPython対応

PythonでCloudFuncitonsを構築できます。
Flaskとdjangoでも対応しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/4817ab1b-11ba-3256-a84d-e92f52ff647e.png)

### SvelteKitとAstroアプリの対応

SvelteKitとAstroアプリも`firebase deploy`を使って、簡単にデプロイができるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/27e6b04e-33e3-d6aa-909a-3030a70d7aa6.png)

### デプロイのバージョン対応

動的Webフレームワークをデプロイするときに、静的コンテンツと動的コンテンツの特定のバージョンに固定できるようになりました。
ホスティングと機能全体でのデプロイがアトミックになるため、いずれかで障害が発生したときにすべての機能への変更がロールアウトされなくなります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/15998d44-05d3-67e4-3514-b25dea340cfa.png)


### Cloud Runからデプロイ

Google Cloud Consoleから数回クリックするだけでFirebase hostingをデプロイできるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/850b578b-956f-fd2f-f2db-1e9c24658259.png)


## まとめ

まとめると下記になります。
- Firebase Extensions
    - PaLM APIとfirestoreの連携
    - 20を超える拡張機能のリリース
    - 自分で作成した拡張機能を公開
- Crashlytics
    - App Quality InsightsがGA
    - swiftアプリのstarck traceの改善
    - グループ化の改善
- App Check
    - IDプラットフォームでのApp Checkサポート
    - Unity / C++用のSDKでもApp Checkサポート
    - リプレイ保護
- Flutter
    - Windowsへの対応
    - Dart 3への対応
    - Flutter webをFirebase Hostingにデプロイ
- Firebase Hosting & Cloud Funcitnos
    - Cloud Functions v2がGA
    - Cloud FunctionsのPython対応
    - SvelteKitとAstroアプリの対応
    - デプロイのバージョン対応
    - Cloud Runからデプロイ

もぐめっと的にはPaLM API対応と、独自の拡張機能が非常に興味深いのでプロダクトにうまく取り込んでいきたいなと感じております。

最後に、スノボの楽しく滑るコツを掴める [cotsume](https://cotsume.page.link/blog) というアプリを作ってます！よかったらDLしてみてね！

https://cotsume.page.link/blog

また、[ワンナイト人狼オンライン](https://online.1nite-jinro.com/link/blog)というゲームを作ってます！よかったら遊んでね！

https://online.1nite-jinro.com/link/blog

他にも[Camecon](https://camecon.me/)や[Offcha](https://offcha.com/)、問い合わせ対応が簡単にできる[CSmart](https://csmart.jp/lp)、フリーランスのコミュニティの[NextFreelance](https://next-freelance.net/)といったサービスも作ってるのでよかったら使ってね！

https://camecon.me/

https://offcha.com/

https://csmart.jp/lp

https://next-freelance.net/

また、チームビルディングや技術顧問、Firebaseの設計やアドバイスといったお話も受け付けてますので御用の方は弊社までお問い合わせください。

https://virapture.com/

ラグナロクでもエンジニアやデザイナーのメンバーを募集しています！！楽しくぶち上げたい人はぜひお話ししましょう！！

https://ragna-rock.com