6

モバイルアプリの開発をラッピングしていますが、これはRuby on Rails 5で開発されたバックエンドによってサポートされています。質問/問題。モバイルアプリバックエンドでの読み取り通知を処理する方法

モバイルアプリケーションのユーザーがログインできるかどうか(複数の機能があり、ログインしていないユーザーがアクセスできる場合がある)私は、通知自体と読み込み状態の記憶域を扱いますか?注:通知で私はプッシュ通知を参照していないが、アプリ内のサイドメニューに残っている "メッセージ"(私はプッシュ配信がカバーされている)に言及しています。

ここでの主な問題は、ユーザーがアプリを再インストールした場合(未読の通知を50個再インストールしたことを想像してください)に未読としてマークされないように、読み取り通知を追跡できます。

バックエンドでの通知を格納するための次のように私はモデルで始まった:ブール:

  • ID
  • push_notification_id(プッシュ通知IDを参照し、無関係)
  • リードUSER_ID
  • 内容:本文

このモデルでは、通知する必要があるすべてのユーザーに対して行を挿入し、読み込まれたかどうかにかかわらずブール型列で追跡します。問題は、登録されたユーザーだけが通知を受け取ることができることです。

2番目のオプションは、user_id参照と「読み取り」属性のサーバー側を削除し、一部のユーザーではなくすべてのユーザーに通知することを前提としています。しかし今、どの通知が読み込まれたかを追跡する方法が必要です。私は、ローカルのストレージにいくつかのIDを格納しているモバイルアプリでローカルに行うことができますが、再インストールの場合は削除されます。

私が考えていた3つ目のオプションは、新しいアプリケーションのインストール時に通知が「未読」になるのをいつ止めるべきかを示す「有効期限」列の第2のオプションを実装することです。これは私が今までに得た最高ですが、私は本当に確信していません。

私はここでたくさんのことを求めていることは知っていますが、グーグルが見つかりませんでしたので、誰かが以前に作成した優れた実装モデルを探しています。大きく繰り返されるデザインパターン。

ありがとうございました!

+1

ここではもっと役立つコンテキストが必要な場合があります。これらの通知の目的は何ですか?それらはユーザーにカスタマイズされていますか?あなたの説明から、彼らは皆のために同じであるように聞こえ、同時にすべてのユーザーに出かけます。 – Michael

+0

目的はプッシュ通知の仲間として機能することです。プッシュ通知がユーザーに送信されるたびに、クライアントがサイドバーにリストする、同じ内容のコンテンツ、または拡張されたコンテンツを表示するための「通知」オブジェクトがサーバー側に作成されます。 1人のユーザーのカスタマイズに関しては、最初はそのようにしていましたが、それは必須ではなく、必要な場合に備えておくとよいでしょう。 しかし、主なポイントは、クライアントがログインせずにいつでも再インストールできるという事実を考慮して、「読み取り」ステータス(クライアント側またはサーバー側)を監視するモデルに過ぎませんでした。 –

答えて

0

我々はいくつかの変更とあなたのような同様のアプローチを使用:

  • を登録/未登録ユーザでの問題のために、ユーザが追跡するにはログインする必要はありませんので、あなたには、いくつかのデバイスのUIDのためのuser_idを変更することができます読み込み
  • 読み込みに関する情報を1つのテーブルに蓄積するのではなく、未読の通知のテーブルがあり、読み込み時に読み込んだテーブルを新しいテーブルに移動しました - >テーブルが膨大にならず、 (カウントのような)カウントは速いです(ユーザー数によりますが、将来的には考えてください)
  • といくつかの機能date_insertを保存して月間ジョブを実行して1年以上経過したエントリをクリアするのが好きです
関連する問題