Cocoa勉強会関西で「アプリのお問い合わせ機能をサーバーレスでつくる Firebase 編」を発表しました #cocoa_kansai
ずいぶんと時間が経ってしまいましたが…
第77回 Cocoa勉強会関西で、「アプリのお問い合わせ機能をサーバーレスでつくる Firebase 編」という発表をしました。
内容
モバイルアプリにしばしばあるお問い合わせ機能 (フィードバックフォームなど) について、サーバレスで実現できないかと思い調べた内容を発表しました。
iOS だと通常は MFMailComposeViewController を使ったり、自サービスの Web API へポストしたりすると思います。
今回は Firebase での実現方法を検討しました。
Firestore と Cloud Functions for Firebase を利用しています。
(Firestore でなく Firebase Realtime Database でも実現できます)
雑ですがサンプルコードもあります。
この構成はまだプロダクションには乗せられていないので、しばらくやってみてからまたアウトプットしたいですね…
補足
いくつかご質問を頂きましたが、発表中にちゃんとフォローできなかったのでここで補足します。
インターネットにつながっていない場合はどうなる?
オフラインでの永続性を設定している場合は、オンラインになったときに自動的に送信されるようになります。
オフライン データを有効にする (Firestore)
端末がオンラインに戻ると、アプリがローカルで行った変更とリモートの Cloud Firestore に保存されたデータが同期されます。
Firestore ではデフォルトだとこの設定が有効なため、オンラインに戻ると自動的に送信されます。
iOS のオフライン機能 (Realtime Database)
Realtime Database では isPersistenceEnabled
オプションを true に設定すると利用できます。
データの内容は管理画面で見れる?
Firebase のダッシュボードで、このような形で見ることができます。