見出し画像

Firebaseで実装できる「あの機能」

開発をしている際、他のアプリでよく見る機能を実装したい時があります。しかし、一般的だからといって取り入れるのが簡単なわけではありませんし、一から自分で組み立てるのは無謀かもしれません。

そこで今回はGoogle社運営のサービス「Firebase」を使うことで簡単に実装できる、アプリでよく見かける機能について紹介していこうと思います。

会員登録・パスワード

ログイン機能は多くのアプリに実装されています。SNSはもちろん、ゲームアプリでもランキングやデータ引き継ぎには必須の機能です。アプリの本格的な運用を考えているなら一度は導入を検討するかと思います。

一方で考慮すべき点は少なくありません。メールアドレスを使うなら、確認メールを送信する必要がありますし、パスワードの入力も要求する事になります。メールアドレスやパスワードの変更も考えておかなければなりません。

Firebase Authentication を使うことでこれら機能を最小限のコードで実装することができます。一例としてiOSで確認メールを送信する処理を行うコードを見てみましょう。

Auth.auth().currentUser?.sendEmailVerification { error in
 // エラー処理
}

非常に単純なコードであることがわかっていただけると思います。アドレスやパスワードの変更ももちろん可能ですし、私の開発したTOKIWAでは使用言語による確認メールのローカライズも行っています。

GoogleやFacebookのアカウントによるログインも可能です。新しくパスワードを設定する必要がないので、より登録してくれる人を増やす効果も望めます。

匿名アカウント以外のアカウント作成上限は無制限なので、登録者数が伸びたからといって費用がかかることはありません。メール作成には上限がありますが、無料でも一日千人となっているので初期は心配ないかと思います。

データ保存・読み取り

アプリ内のデータを外部に保存したり、逆にそれを読み取るという機能はほとんどのアプリに見られます。大事な点はその速さと頻度です。

読み込みが遅かったり、そもそもエラーが出てしまうようなアプリは使う気になりません。また、ニュースやタイムラインのような機能では、その更新頻度が遅ければ意味がなくなってしまいます。

FireStoreではデータ保存や読み取りを実装し、さらに細かな調整もできるようになっています。安定性や速度は言うまでもなく、デバイスがオフラインになった時のことも考慮されているのでその点も安心です。

FireStoreは従量課金制なので、使う人が少ないリリース後直後から費用がかかることはまずありません。また、データの構造を工夫することで使用量を抑えることも可能です。

公式のドキュメントはもちろん、他のサイトにもFireStoreについての記事はたくさんあるので、それらを活用すれば目的にあった設計が可能です。

フォロー機能

上で紹介したFireStoreを応用すればフォロー機能も実装することができます。既にこれについて説明している記事が多くあるので、今回は細かい説明は省きます。

アプリをリリースする前の審査では、悪質なユーザーやその投稿に関する対処を求められることがあります。メールなどで報告してもらうこともできますが、手間を省く意味でもアプリ内の機能として実装した方がよいと思います。

FireStoreを使ったフォロー機能なら、他のデータのように自分でカスタマイズできるため、報告機能も実装しやすくなっています。データ設計に少し苦労するかもしれませんが、その分検討する価値はあると思います。

アプリの宣伝リンクづくり

補足的な内容ではあるのですが、アプリをインストールしてもらうためのリンクも作成できます。Appleが用意してくれるリンクは非常に長いので、SNSの投稿に掲載したりするには不便です。

キャンペーンやイベントを告知したいこともあります。そんな時、リンクは柔軟に編集できる方がよいですが、それもFirebaseで簡単に実現できます。

機能の一つであるDynamic Linksを使えば、URLを決められるだけでなく、動作の設定やソーシャルタグまで編集することができます。一例としてTOKIWAのものを掲載しておきます。

noteでは反映されませんが、SNSで共有する際には自分で指定した画像を表示させることができます。リンクのクリックの追跡、分析もできます。

さいごに

今回はできる機能ということに絞って紹介してきました。というのも、Firebaseに関しては公式のドキュメントやチュートリアルが充実しているため、詳しい説明は不要かと思われるからです。

プログラミングについての記事はここに掲載しています。なるべく初心者の方にもわかりやすい記事を心がけていますが、本格的な開発に取り組む方でも応用がきく内容かと思います。

開発は情報が多い方が完成度も高くなるので、ぜひ合わせて読んでみてください。

この記事が参加している募集

最近の学び

いただいたご支援は書籍の購入に充てたいと考えています。よろしければサポートよろしくお願いします。