現在、私のiOS 10アプリは、特定の成果と経験値(StackOverflowと似たシステム)を保持するユーザープロファイルで構築しています。私はすでにFacebook Login、FIRAuthなどを構築しています。現時点ではFirebaseのDBのデータ構造について考えています。私はFirebase Guide for flat data structuresと、一般的なFirebaseのデータガイド(Ray Wenderlichのようなもの)を読みました。プロファイルと基本的なゲーム化機能を備えたiOSアプリのFirebaseデータ構造
これは、ユーザーがすでにが何ができるかである:これは、
- ログインをして画像を取得し、名前を付けます:自分の名前とプロフィール写真は、これは私ののto-doリストある
(すでにProfileViewControllerで取り扱わ)を示します0
StackExchange/StackOverflowと同様のバッジ/タイトルによる基本的な成果。ユーザーはアクションXYを20回行いました=>アクションXYのための20回のバッジ;私はどちらかを考えていた:
a)のそれぞれについて、単一のブールのVARを持つ)文字列として集められたバッジ()の全部または
Bを保持しているユーザーのプロファイル、のそれぞれの配列/リストを持ちますDB
の面ですべてのプロファイルに対してこれだけのInt値経験値を持つRPGゲームでレベリングシステムのようなもの - ユーザー内の成果は、アプリの一般的な使用状況を追跡
秒成果トラッカーを、プロファイル
私の質問:
どのようにして、前述のバッジ(アップに50-60の成果かもしれない)と、ユーザーの個別のレベル/ XPのポイントを保持するデータベースとFIRAuthプロファイルを組み合わせたでしょうか?
JSON DBのモデリングには新しくなっています。私は、問題の機能のためのコード等の点でソリューションを求めています - ユーザープロファイルのデータ構造の援助の手助け。
私は今後もユーザープロファイルの拡張機能(メッセージングなど)を検討しており、今後一定のレベル/業績を持つすべてのユーザーに通知を送信できるはずです(これにより、 b)に向かって) - あまりにも多くのネスティングが既に問題になっていません。
ありがとうございました!私はそれが可能だと思います、私は "ユーザー"にXPのものを追加するだろうか?特定の業績を持つすべてのユーザーに通知を送信する場合は、「ユーザーの業績」を解析する必要があります。>次に、達成度のある子を各自uidします(インデックスがわからない場合は適切なキーのすべてを解析する必要があります)。これを平らにする方法はありますか、これは帯域幅の点で高価ではないと考えられますか?私はそれぞれの成果について50のヴァースで多くのユーザーを話しています。しかし、私が正しい業績の指標を知っていれば、それはかなり簡単だろうと思う。 – tech4242
@ tech4242あなたは確かにユーザーにXPを追加することができます。例えばXPでユーザーをソートするには、 '/ users'パスを子キー' XP'で指定する必要があります。特定の業績を持つユーザーに通知を送信する場合は、FCMトピックを使用できます。ユーザーが達成を受け取ると、このユーザーを '/ topics/achievements_-KQpsPExLsKdnVHMliiP'に登録することができます。コンソールで、このトピックへの通知を送信するか、FCM [link](http://fcm.googleapis.com/fcm/send)を使用してもう少し自動化された通知を送信することができます。 – Callam
ありがとうございます!私はあなたの答えを明らかに受け入れています – tech4242