こんにちは!FOLIOです。
この度、弊社iOSエンジニアの松館がGoogleの認定するGDEになりました!
(残念ながら掲載はまだです…。)
Google Developer Expertとは Google Developers Experts (以下GDE) は、日本全体でも20名程度しか認定されていない技術エキスパートです。松館はこのうち、FirebaseカテゴリのGDEとしてコミュニティで活動していくことになりました。主な役割はその技術の啓蒙活動を行うこと!ということで、ここからは松館にバトンタッチし、早速、弊社でのFirebase活用例を紹介してもらいましょう。
Firebaseとは Firebaseは、Googleの提供するサービスです。Google Cloud Platform (GCP) の中で、モバイル・ウェブアプリケーション向けのバックエンドサービス (mobile Backend as a Service: mBaaS) と位置付けられています。
具体的に提供されている機能としては、次のようなものがあります。
SNSやemail、電話番号を使った認証 (Firebase Authentication) デバイスとのリアルタイムなデータ同期を実現するDBであるFireabase Realtime DatabaseやCloud Firestore デバイスへのPush通知を実現するFirebase Cloud Messging アプリのグロース支援を行うRemote ConfigやPerformance Monitoringなど これらのサービスを用いると、自分たちでサーバーを用意することなく強力なバックエンドサービスを使ったり、アプリへの効果的な施策を検討・実施したりすることが可能になります。そのため、最近ではモバイルアプリを扱う多くの企業でFirebaseが導入されています。
FOLIO社内でのFirebaseの位置付け 弊社のモバイルチームは組織の中でも自立した開発チームを目指しています。一方で、ネイティブアプリに新機能を追加するにはバックエンドの開発が必要です。リソースの限られたバックエンドエンジニアの手が空くまで待つのでは、開発速度が落ちてしまいます。
そこで、バックエンドエンジニアの工数削減を目的とし、必要に応じてFirebaseを導入する方針を取ることにしました。弊社のインフラはGCPではなくAWSがベースですが、Firebaseはそれ単体でも有効活用できます。
バックエンドの資産を生かしながら、アプリに機能を追加していく体制を確立することにより、一定のスピードを担保したまま開発が行えることを狙いとしています。
FOLIOでのFirebase活用例 ~ Firebase Cloud Messaging ~ FOLIOのアプリはまだリリースして4ヶ月がたったばかりですが、返済すべき技術負債もすでに存在しています。特に、Push通知に使っていたサービスを乗り換えたいという声が高まっていました。 というのも、これまで搭載していたPush通知では、アプリ全体への配信しか行えなかったためです。ターゲットを絞ったり、欲しい通知に限定して受信したりことが出来ず、適切な配信とは言えませんでした。
その状況を打破すべく、Firebase Cloud Messaging (以下FCM) を活用したモバイル、バックエンド、マーケティングからなる横断チームを立ち上げ、Push通知基盤のリプレイスに乗り出しました。
FCMによるPush通知では、ユーザーがトピックを購読することによるPub/Subメッセージングモデルをとります。Pushの送受信に必要なデバイストークンは基本的にはFirebaseで管理することができ、バックエンドからのPushの送信はトピック向けに送信するだけとなるので、デバイスからトークンの更新を行っている限り、バックエンドでのトークンの管理・更新コストもありません。特定のユーザーへのPush通知も、ユーザーのIDを含めたトピック名を作成することにより実現できます。
実際、バックエンドでデバイストークンを管理する必要がなくなるだけで、バックエンドエンジニアの工数をかなり削減してリリースに漕ぎつけることができました。リリースしてまだ間もないですが、ユーザーの皆さまには今後適切な通知を配信できると思っております。ぜひご活用ください!
今後の活用予定 現在開発中のアプリの新しい機能では、Cloud Firestoreを導入することで、バックエンドの工数削減を実現しています。
Cloud FirestoreはNoSQLのサーバレスなデータベースで、リアルタイムにデータのやりとりを行うことができます。データの設計やセキュリティルールの設定もモバイル・フロントエンドエンジニアでも十分扱える領域です。認証についても、既存の認証基盤と組み合わせることで、ユーザー固有の情報のセキュリティも必要十分に担保しています。
その他にもFirebaseには多くの便利なサービスが存在します。アプリの成長とあわせて、適切なサービスを導入することで、より皆さんに愛されるサービスになるよう取り組んでいきます!
株式会社FOLIOでは一緒に働く仲間を募集しています