アプリとサーバ間でリアルタイム通信を実装したい場合、WebSocketを使うのが基本でしょう。WebSocketを使うことで、クライアントからサーバはもちろん、サーバからクライアントへメッセージを送信できるようになります。テキストデータを送信するので、基本的にはチャットなどのテキスト送信に利用されるでしょう。
今回はWebSocketサービスを提供するサービスを紹介します。
Achex
Achexは昔からあるWebSocketサービスですが、料金の説明などがなく、商用レベルで使うのは若干怖いかも知れません。無料で使えるようなので、WebSocketを学ぶ際に開発用途で試してみるのはよさそうです。
Amazon API Gateway
Amazon API GatewayはWebSocketに対応しています。APIゲートウェイなので、その後に外部のサービスやAWSの各種サービスを呼び出す形になります。Lambdaと組み合わせることでサーバレスでスケーラブルなWebSocketサーバを構築できます。
Amazon API Gateway(規模に応じた API の作成、維持、保護)| AWS
Pusher Channels
Pusherも昔からよく知られているリアルタイム通信管理サービスです。無料で500接続まで利用できます。1万接続で499ドル/月と、若干高い印象があります。その代わりに安定性や、使いやすいSDKが提供されているのが利点です。
Pusher Channels | Build Realtime Features Anywhere
Websocket.IN
無料から利用でき、さらに月10ドルでメッセージ数無制限で利用できます。チャンネル数は制限されるようなので、無制限にチャットルームが作れる訳ではなさそうです。
Websocket.IN - The Open And Free Websocket Server For All
Scaledrone
20接続まで無料、5000接続でも月99ドルで利用できます。ルーム数は無制限です。React NativeやJavaScript、Javaなど数多くのプログラミング言語に対応したSDKを提供しています。
Scaledrone Realtime Messaging Service
stream Chat API
チャット機能に特化したAPI、SDKを提供しています。メッセージの送信、画像送信、チャットへのリアクションといった一般的なチャット機能で必要そうな機能は網羅されています。
Chat API & Messaging SDK - Chat Platform and In-App Messaging Service
まとめ
WebSocketを使うことでチャット機能をアプリ内に実装できます。他にも対戦ゲームなど、データをリアルタイムに同期させたい場合にも使えるでしょう。ゲームをさらに楽しくするために使ってみてください。