※ この募集は締め切られました。
Swift&Firebaseを用いたマッチングアプリのシステム構成の相談
【教えてもらいたいこと】
プログラミング/スマートフォンアプリ Swift Firebase
【利用目的】
技術的な質問・相談, ロードマップ・学習法相談, コードレビュー
【具体的な相談内容】
はじめまして!
クルージュ株式会社 エンジニアの山本です。
こちらのプランに興味があるのですが、一度お話おうかがいできますでしょうか?どうぞよろしくお願いいたします。
※ 弊社が求めるものを提供していただけそうかを把握させていただきたいです。
【弊社が求めているもの】
Firebaseを基盤としたマッチングアプリ (Pairsなどに近い)のメッセージ機能に関する構成検討
▽現状▽
登録者 : 1万人程度
月間アクティブ利用者 : 3500人程度
▽抱えている問題▽
ユーザから通知が来ない(Push通知)、メッセージの送受信が重いなどの問い合わせをいただいている
▽システム構成▽
アプリ : Swift
インフラ : Firebase
メッセージ機能ライブラリ : MessageKit ( https://github.com/MessageKit/MessageKit )
push通知システム : Firestoreによるメッセージやりとり、CloudFunctionsでメッセージの通知を検知し、Cloud Messagingにて相手のTokenを指定してユーザにPush通知を送信しています。
メッセージ送受信システム : Firestore Snapshotリスナーを用いたリアルタイム監視 メッセージのFirestoreのpath構成はrooms/${roomID}/messages/${messageID}、roomsドキュメントにmembersフィールドを設けることで、自分のルームかどうかを判断させ、自分のルームだけを常に監視するようにしています。メッセージに関してはルーム内に入った際にrooms/${roomID}/messages/${messageID}のみを常に監視している状態で、なるべく監視を最小化する実装にしています。メッセージルーム内はMessageKitを活用して実装しています。
▽求めるシステムの条件▽
・push通知の高速化
ex. メッセージの通知検知から相手にPush通知送信が送られるまで1〜3秒未満
・メッセージの高速化
ex. データ更新から描画までラグが1秒未満 (ユーザが200ルーム以上抱えていたとしても)
・データの監視永続化 (ここはmoreなので分からなくても大丈夫です。この辺の知見もあると嬉しいくらいです)
ex. Firestoreの仕様として30分で監視がきれるなか、適切にFirestoreを監視する方法
FirebaseやMessagekitライブラリ以外を使った方がいい場合も視野に入れて相談しておりますので、どのようにすれば良さそうかまで視野に入れながら相談させていただきたいと考えております。
【希望相談スタイル】
技術的な質問・相談, ロードマップ・学習法相談
【目安予算】
30000円