Agora.io не предоставляет никаких методов, кроме как передать имя канала вручную или строку по умолчанию. Но то, что вы можете сделать, это использовать ссылку Firebase Dynami c, чтобы поделиться именем канала через ссылку Dynami c. Эта ссылка перенаправит вас на страницу, где вы берете имя канала в качестве входного, и заполняет имя канала в соответствии с переданными параметрами. Таким образом, ваш код будет выглядеть примерно так:
class AgoraImpementation extends State<AgoraImplementation> {
@override
void initState() {
super.initState();
this.initDynamicLinks();
}
initDynamicLinks(BuildContext context) async {
await Future.delayed(Duration(seconds: 3));
var data = await FirebaseDynamicLinks.instance.getInitialLink();
var deepLink = data?.link;
final queryParams = deepLink.queryParameters;
if (queryParams.length > 0) {
var channelName = queryParams['channel_name'];
openFormScreen(channelName);
}
FirebaseDynamicLinks.instance.onLink(onSuccess: (dynamicLink)
async {
var deepLink = dynamicLink?.link;
final queryParams = deepLink.queryParameters;
if (queryParams.length > 0) {
var userName = queryParams['channel_name'];
openFormScreen(channelName);
}
debugPrint('DynamicLinks onLink $deepLink');
}, onError: (e) async {
debugPrint('DynamicLinks onError $e');
});
}
openFormScreen(String userName){
Navigator.of(context).pushNamed("routeFormScreen", arguments: {"channelName": channelName});
}
}