fetchToken method
Implementation
Future<void> fetchToken() async {
if (_chat.model.hasJoined) return;
if (_chat.model.curCall == null ||
_rtc.agoraAppId == null ||
rtcTokenHandler == null) return;
Map<String, int> agoraToken = await rtcTokenHandler!.call(
_chat.model.curCall!.channel,
_rtc.agoraAppId!,
);
if (agoraToken.isEmpty) {
throw ChatCallKitError.process(
ChatCallKitErrorProcessCode.fetchTokenFail, 'fetch token fail');
}
if (_chat.model.curCall == null) {}
String? username = ChatCallKitClient.getInstance.currentUserId;
if (username == null) return;
await _rtc.joinChannel(
_chat.model.curCall!.callType,
agoraToken.keys.first,
_chat.model.curCall!.channel,
_chat.model.agoraUid ?? agoraToken.values.first,
);
}