Я использую Agora.io в своем проекте React Native для видеозвонков, и я хочу знать, когда я позвоню кому-нибудь и я присоединюсь к каналу, но как я могу показать пользовательский интерфейс входящего вызова в приложении на мобильном телефоне получателя. Чтобы он также мог присоединиться к каналу, чтобы начать звонок. Пожалуйста, дайте мне знать, если у вас есть ресурсы. Спасибо
Вот код для инициализации agro sdk
init = async () => {
const {appId} = this.state;
this._engine = await RtcEngine.create(appId);
await this._engine.enableVideo();
this.startCall();
this._engine.addListener('Warning', (warn) => {
console.log('Warning', warn);
});
this._engine.addListener('Error', (err) => {
console.log('Error', err);
});
this._engine.addListener('UserJoined', (uid, elapsed) => {
console.log('UserJoined', uid, elapsed);
// Get current peer IDs
const {peerIds} = this.state;
// If new user
if (peerIds.indexOf(uid) === -1) {
this.setState({
// Add peer ID to state array
peerIds: [...peerIds, uid],
});
}
});
this._engine.addListener('UserOffline', (uid, reason) => {
console.log('UserOffline', uid, reason);
const {peerIds} = this.state;
this.setState({
// Remove peer ID from state array
peerIds: peerIds.filter((id) => id !== uid),
});
});
// If Local user joins RTC channel
this._engine.addListener('JoinChannelSuccess', (channel, uid, elapsed) => {
console.log('JoinChannelSuccess', channel, uid, elapsed);
// Set state variable to true
this.setState({
joinSucceed: true,
});
});
};
Вот код для начала звонка
startCall = async () => {
// Join Channel using null token and channel name
await this._engine?.joinChannel(
this.state.token,
this.state.channelName,
null,
0,
);
};
как получатель может принять звонок