イベントコールバックサービスは、HTTP/HTTPSリクエストという形でサーバーへのTRTC業務でのイベントの通知をサポートします。イベントコールバックサービスは、ルームイベントグループ(Room Event)とメディアイベントグループ(Media Event)およびレコーディングイベントグループのいくつかのイベントを統合しています(クラウドレコーディング機能のコールバックイベントの説明については、クラウドレコーディングと再生の実現をご参照ください)。お客様は、関連する設定情報をTencent Cloudに提供することで、このサービスをアクティブにすることができます。
TRTCコンソールでは、自身でのコールバック情報の設定をサポートしており、設定が完了した後、イベントコールバック通知を受信できます。詳細な操作ガイドについては、コールバック設定をご参照ください。
注意:事前に次の情報を準備する必要があります。
- 必須項目:コールバック通知を受信するためのHTTP/HTTPSサーバーアドレス。
- オプション項目:署名を計算するためのkeyで、大文字・小文字アルファベットと数字で構成される最大32文字のkeyをカスタマイズできます。
イベントコールバックサーバーがメッセージ通知を送信してから5秒以内にお客様のサーバーから応答を受信しない場合、通知は失敗とみなされます。最初の通知が失敗すると、直ちにリトライが行われます。その後の失敗は、メッセージがリトライせずに1分以上続くまで、** 10秒**の間隔でリトライし続けます。
イベントコールバックメッセージは、HTTP/HTTPS POSTリクエストとしてサーバーに送信されます。以下がその詳細となります。
{"code":0}
を付けることをお勧めします。{
「EventGroupId」: 1、 #ルームイベントグループ
「EventType」:103、 #入室イベント
「CallbackTs」: 1615554923704、 #コールバック時間。単位はミリ秒
"EventInfo": {
「RoomId」: 12345、 #数字のルーム番号
「EventTs」: 1615554922、 #イベント発生時間。単位は秒
「UserId」: 「test」、 #ユーザーID
「UniqueId」: 1615554922656、 #固有識別子
「Role」: 20、 #ユーザーロール。キャスター
「TerminalType」: 3、 #端末のタイプ。IOS端末
「UserType」: 3、 #ユーザーのタイプ。Native SDK
「Reason」: 1 #入室の原因。正常な入室
}
}
フィールド名 | 値 |
---|---|
Content-Type | application/json |
Sign | 署名値 |
SdkAppId | sdk application id |
フィールド名 | タイプ | 意味 |
---|---|---|
EventGroupId | Number | イベントグループID |
EventType | Number | コールバック通知のイベントタイプ |
CallbackTs | Number | イベントコールバックサーバーからお客様のサーバーに送信されるコールバックリクエストのUnixタイムスタンプ。単位はミリ秒 |
EventInfo | JSON Object | イベント情報 |
フィールド名 | 値 | 意味 |
---|---|---|
EVENT_GROUP_ROOM | 1 | ルームイベントグループ |
EVENT_GROUP_MEDIA | 2 | メディアイベントグループ |
説明:レコーディングイベントグループに関する説明については、クラウドレコーディングと再生の実現をご参照ください。
フィールド名 | 値 | 意味 |
---|---|---|
EVENT_TYPE_CREATE_ROOM | 101 | ルームの作成 |
EVENT_TYPE_DISMISS_ROOM | 102 | ルームの解散 |
EVENT_TYPE_ENTER_ROOM | 103 | ルームに参加 |
EVENT_TYPE_EXIT_ROOM | 104 | ルームを退出 |
EVENT_TYPE_CHANGE_ROLE | 105 | ロールの切り替え |
EVENT_TYPE_START_VIDEO | 201 | ビデオデータのプッシュを開始 |
EVENT_TYPE_STOP_VIDEO | 202 | ビデオデータのプッシュを停止 |
EVENT_TYPE_START_AUDIO | 203 | オーディオデータのプッシュを開始 |
EVENT_TYPE_STOP_AUDIO | 204 | オーディオデータのプッシュを停止 |
EVENT_TYPE_START_ASSIT | 205 | サブストリームデータのプッシュを開始 |
EVENT_TYPE_STOP_ASSIT | 206 | サブストリームデータのプッシュを停止 |
注意:退室時は104イベントのみコールバックし、202と204イベントはコールバックしません。104イベントには202および204イベントが含まれることになります。ビデオ/オーディオを手動でオフにした場合のみ、202/204イベントがコールバックされます。
フィールド名 | タイプ | 意味 |
---|---|---|
RoomId | String/Number | ルーム名(タイプはクライアントのルーム番号タイプと同様) |
EventTs | Number | イベントで発生するUnixタイムスタンプ。単位は秒(互換性保留) |
EventMsTs | Number | イベントで発生するUnixタイムスタンプ。単位はミリ秒 |
UserId | String | ユーザーID |
UniqueId | Number | 固有識別子(option:ルームイベントグループに付帯) クライアントでネットワークの切り替え、異常退出および再入室プロセスなどの特殊な行為が発生すると、お客様のコールバックサーバーが同じユーザーの複数回の入室および退室コールバックを受信する可能性があり、UniqueIdを使用してユーザーの同一回の入退室を識別することができます |
Role | Number | ロールタイプ(option:入退室時に付帯) |
TerminalType | Number | 端末のタイプ(option:入室時に付帯) |
UserType | Number | ユーザーのタイプ(option:入室時に付帯) |
Reason | Number | 具体的な原因 (option:入退室時に付帯) |
注意:「クライアントの特殊な行為による重複コールバックのフィルタリング」ポリシーをリリース済みです。2021年7月30日より後にコールバックサービスにアクセスした場合、デフォルトで新しいポリシーが適用され、ルームイベントグループにはUniqueId(固有識別子)が付加されません。
フィールド名 | 値 | 意味 |
---|---|---|
MEMBER_TRTC_ANCHOR | 20 | キャスター |
MEMBER_TRTC_VIEWER | 21 | 視聴者 |
フィールド名 | 値 | 意味 |
---|---|---|
TERMINAL_TYPE_WINDOWS | 1 | Windows端末 |
TERMINAL_TYPE_ANDROID | 2 | Android端末 |
TERMINAL_TYPE_IOS | 3 | iOS端末 |
TERMINAL_TYPE_LINUX | 4 | Linux端末 |
TERMINAL_TYPE_OTHER | 100 | その他 |
フィールド名 | 値 | 意味 |
---|---|---|
USER_TYPE_WEBRTC | 1 | webrtc |
USER_TYPE_APPLET | 2 | ミニプログラム |
USER_TYPE_NATIVE_SDK | 3 | Native SDK |
フィールド名 | 意味 |
---|---|
入室 | |
退室 | 注意:Androidシステムではプロセスの強制終了を捕捉できず、バックエンドのタイムアウトによる退室を待つしかありません。この場合のコールバックreasonは2となります |
署名はHMAC SHA256暗号化アルゴリズムによって算出されます。イベントコールバック受信サーバーがコールバックメッセージを受信した後、同じ方法で署名が算出されます。同様に、Tencent CloudのTRTCのイベントコールバックであり、偽造されていないことを意味します。署名の計算は次のとおりです。
//署名Signの計算式のkeyは、署名Signの計算に用いられる暗号化鍵です。
Sign = base64(hmacsha256(key, body))
注意:bodyはお客様が受信したコールバックリクエストのオリジナルパケットです。いかなる変更も行わないでください。例:
>body="{\n\t\"EventGroupId\":\t1,\n\t\"EventType\":\t103,\n\t\"CallbackTs\":\t1615554923704,\n\t\"EventInfo\":\t{\n\t\t\"RoomId\":\t12345,\n\t\t\"EventTs\":\t1608441737,\n\t\t\"UserId\":\t\"test\",\n\t\t\"UniqueId\":\t1615554922656,\n\t\t\"Role\":\t20,\n\t\t\"Reason\":\t1\n\t}\n}"
この記事はお役に立ちましたか?