iOS | Android | Mac OS | Windows | Electron | Web端末 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
ビット数 | バイナリー表示 | 10進数 | 権限の定義 |
第 1 ビット | 0000 0001 | 1 | ルームを作成する権限 |
第 2 ビット | 0000 0010 | 2 | ルームに入室する権限 |
第 3 ビット | 0000 0100 | 4 | 音声を送信する権限 |
第 4 ビット | 0000 1000 | 8 | 音声を受信する権限 |
第 5 ビット | 0001 0000 | 16 | ビデオを送信する権限 |
第 6 ビット | 0010 0000 | 32 | ビデオを受信する権限 |
第 7 ビット | 0100 0000 | 64 | サブストリーム(画面共有)ビデオを送信する権限 |
第 8 ビット | 1000 0000 | 128 | サブストリーム(画面共有)ビデオを受信する権限 |
privateMapKey
パラメータを渡す必要があります。オンラインでこのSDKAppidを使用するユーザーである場合は、この機能を不用意に有効にしないでください。言語バージョン | 主な関数 | ダウンロードリンク |
Java | genPrivateMapKey およびgenPrivateMapKeyWithStringRoomID | |
GO | GenPrivateMapKey およびGenPrivateMapKeyWithStringRoomID | |
PHP | genPrivateMapKey およびgenPrivateMapKeyWithStringRoomID | |
Node.js | genPrivateMapKey およびgenPrivateMapKeyWithStringRoomID | |
Python | genPrivateMapKey およびgenPrivateMapKeyWithStringRoomID | |
C# | genPrivateMapKey およびgenPrivateMapKeyWithStringRoomID | |
C++ | genPrivateMapKey とgenPrivateMapKeyWithStringRoomID |
TRTCCloud
のenterRoom
インターフェースを呼び出す時に、TRTCParamsのprivateMapKeyパラメータを設定することで、権限の制御を実現することができます。TRTCParams
中のPrivateMapKeyをもう一度検証し、PrivateMapKeyの有効期限が「5分間」など比較的短く設定されている場合は、検証エラーがトリガーされやすく、ユーザーがルームから退出させられる事態を招くことがあります。switchRole
を介して自身のIDをキャスターに切り替える前に、お客様のサーバーにprivateMapKeyを再申請し、SDKの試験的インターフェースupdatePrivateMapKey
を呼び出して、SDKでその更新を行うことにより解決することができます。サンプルコードは次のとおりです。
JSONObject jsonObject = new JSONObject();try {jsonObject.put("api", "updatePrivateMapKey");JSONObject params = new JSONObject();params.put("privateMapKey", "xxxxx"); // 新しい privateMapKeyを記入jsonObject.put("params", params);mTRTCCloud.callExperimentalAPI(jsonObject.toString());} catch (JSONException e) {e.printStackTrace();}
NSMutableDictionary *params = [[NSMutableDictionary alloc] init];[params setObject:@"xxxxx" forKey:@"privateMapKey"]; // 新しいprivateMapKeyを入力NSDictionary *dic = @{@"api": @"updatePrivateMapKey", @"params": params};NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:0 error:NULL];NSString *jsonStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];[WXTRTCCloud sharedInstance] callExperimentalAPI:jsonStr];
std::string api = "{\\"api\\":\\"updatePrivateMapKey\\",\\"params\\":{\\"privateMapKey\\":"xxxxx"}}";TRTCCloudCore::GetInstance()->getTRTCCloud()->callExperimentalAPI(api.c_str());
std::string api = "{\\"api\\":\\"updatePrivateMapKey\\",\\"params\\":{\\"privateMapKey\\":"xxxxx"}}";mTRTCCloud.callExperimentalAPI(api);
TRTCParams
においてprivateMapKeyを設定する必要がありますので、オンラインサービスが稼働中で、オンラインバージョンにprivateMapKey関連ロジックが追加されていない場合は、この権限制御を有効にしないでください。
この記事はお役に立ちましたか?