ablyのチャットの履歴保持期間を伸ばす
無料アカウントでデフォルトが2分ですぐ消えちゃうので伸ばしてみた。
結論
公式: チャンネルルール (opens new window)によると、
Ably ダッシュボードでチャネル ルールを設定するには:
- Ably アカウントにサインインします。
- アプリを選択します。
1.「設定」タブに移動します。 - [新しいルールの追加]をクリックします。
- ルールを適用するチャネル名または名前空間を選択します。
- 必要なルールを確認してください。
となっている。
設定タブを開く
「Add new rule」をクリック
ルールの設定をする
- チャンネル名前空間(namespace) (opens new window)を使うと複数チャンネルをグループにまとめて設定できる。
画像ではprivate
を指定している。 Persist last message
とPersist all messages
を必要に応じてチェックする。Persist all messages
は無料アカウントの場合24時間保持とのこと。
Flutter側で名前空間とチャンネル名を設定する
例:
channel = realtime.channels.get("private:A-B") // privateが名前空間、A-Bがチャンネル名として作られる。
パラメータの説明
詳しくは公式: チャンネルルール (opens new window)を参照
Google翻訳にかける
パラメータ | 説明 |
---|---|
Persist last message | 有効にすると、チャネルで公開された最後のメッセージが 1 年間保存されます。このメッセージは、 を使用してチャネルにアタッチすると、巻き戻しをrewind=1使用して取得できます。単一のプロトコル メッセージで複数のメッセージを送信する場合 (たとえば、publish()メッセージの配列を使用して呼び出しを行う場合)、それらすべてを 1 つのメッセージとして受信します。プレゼンス メッセージは保存されず、この方法で保存されたメッセージには履歴を使用してアクセスできないことに注意してください。このルールを使用して保存されたメッセージごとに、追加のメッセージが毎月の割り当てから差し引かれることに注意してください。 |
Persist all messages | 有効にすると、チャネルで公開されたすべてのメッセージがアカウントのストレージ ルールに従って保存されます。これは、無料アカウントの場合は 24 時間、有料アカウントの場合は 72 時間です。この方法で保存されたメッセージには、履歴を使用してアクセスできます。このルールを使用して保存されたメッセージごとに、追加のメッセージが毎月の割り当てから差し引かれることに注意してください。 |
Flutterで履歴を取得する方法
詳しくはHistory (opens new window)を参照
ably.PaginatedResult<ably.Message> history = await channel.history(ably.RealtimeHistoryParams(
direction: 'forwards',
// limit: 10,
));
以上。