We’re sorry we missed you at re:Invent, but we can still meet!

モデレーションを組み込んだチャットアプリの開発方法

Momento Topics、Cache、Webhooksを使ったチャットアプリの開発がいかに簡単かをご覧ください

アニタ・ルアンロツァクン ヘッドショット
アニタ・ルアンロツァクン
著者

Share

昨今、アプリ開発のエコシステムには多くのクライアント・プラットフォームやフレームワークがあり、エンドユーザーの柔軟性を最大化しながら開発コストを最小化するために、どの技術スタックを使用すべきかを知ることは困難です。Momentoは、さまざまなクライアントSDKMomento TopicsCacheをサポートすることで、その決定を簡素化します。

モデレーションを組み込んだチャットアプリを開発する例を見てみましょう!このクロスプラットフォームのチャットアプリは、下品なメッセージや画像をフィルタリングし、ユーザーが異なる言語でコミュニケーションできるようにします。

モデレートチャットAPIの追加

この例の中核にあるのは、すべてのクライアント・アプリケーションが使用する主要な作業を一元化するモデレート・チャットAPIです。

起動すると、各クライアント・アプリはログインするためのユーザー名をユーザーに要求します。クライアントはAPIにリクエストを行い、APIはMomentoの認証トークンを発行し、指定されたユーザがMomento Topics and Cacheを使用して特定のトピックに関するメッセージを公開および受信できるようにします。

APIはまた、クライアントアプリによって公開された画像やテキストメッセージも処理します。メッセージは “chat-publish “というトピックに公開され、それがトリガーとなってウェブフックがメッセージを処理します:

bad-wordsライブラリを使用した冒涜的な言葉のフィルタリング
Amazon Rekognitionを使用した不敬画像のフィルタリング
Amazon Translateを使用して、サポートされている各言語にテキストを翻訳
・翻訳されたテキストを、クライアントアプリケーションがサブスクライブできる言語固有のトピックにパブリッシュし、Momento Cacheを使用してチャットメッセージの履歴を更新

このステップバイステップのガイドでは、Momento トピックと Webhook を使用して言語翻訳ワークフローを作成する方法を詳しく説明します。このモデレートチャットアプリは、基礎として翻訳APIを使用しますが、画像フィルタリングと認証トークンの送信のための追加ワークフローを追加します。API がどのように機能するかについては、このビデオをご覧ください!

クロスプラットフォーム、シングルインスタンスチャット

クロスプラットフォーム・アプリは一般的に、様々なクライアント・アプリケーションが使用できる共通のバックエンドでセットアップされます。こうすることで、別のクライアント・プラットフォームをサポートしても、クライアント側のアップデートだけで済むようになります。

ユーザーは、Momento がサポートする数多くのクライアント・プラットフォームから、シングルインスタンスのチャットルームに参加できます。以下の例をご覧ください:
ウェブアプリJS Web SDKを使用 → こちらでお試しください! https://chat.gomomento.com/
iOSアプリSwift SDKを使用
AndroidアプリKotlin SDKを使用
FlutterアプリDart SDKを使用
UnityアプリC# SDKを使用
React NativeアプリJS Web SDKを使用

各モデレート・チャット・クライアント・アプリについて、以下の例をご覧ください:
・Momento 認証トークンを取得するための POST リクエストの作成
・Momento Cache と Topics クライアントのインスタンス化
・ユーザーが選択した言語に基づいてトピックを購読する
・受信したメッセージを表示する
・チャットルームに新しい画像やメッセージを投稿する

サーバーコードはほとんどありません!

まだ気づいていないかもしれないが、ここで必要な唯一のサーバー・コードは、トークン自動販売機とWebhookを含むLambda関数にすべて含まれています。このクロスプラットフォームのチャットセッションをセットアップするために、WebSocketをいじくり回す必要はありません。さらに、これらのクライアントすべてでMomentoを使用することで、これらのプラットフォーム間で同じパターンを使用できるため、依存関係の数と全体的な開発工数を最小限に抑えることができます。

モデレート・チャットAPIのコードはすべて、このGitHubレポにあります。

Discordに参加して、あなたの作品を共有し、感想を聞かせてください!

Share