Flutter

МТС Exolve Voice SDK для Flutter приложений позволяет быстро реализовать возможность исходящих и входящих звонков в своем Flutter проекте. SDK для Flutter публикуется в Dart and Flutter package repository.

Все возможности SDK показаны в нашем демо приложении.

Установка

Для подключения SDK к проекту нужно добавить зависимость в pubspec.yaml файл:

dependencies:
  exolve_voice_sdk: ^actual_version

Инициализация

Инициализируйте класс CallClient, который позволит вам работать с остальными функциями SDK:

import 'package:exolve_voice_sdk/call_client/call_client.dart';
import 'package:exolve_voice_sdk/configuration/configuration.dart';

final CallClient callClient = CallClient();
final Configuration configuration = Configuration(
    logConfiguration: LogConfiguration(logLevel: LogLevel.debug),
    enableSipTrace: true,
    enableNotifications: true,
    callKitConfiguration: CallKitConfiguration(
        includeInRecents: true,
    )
)
callClient.initializeCallClient(configuration: configuration);

Регистрация

Зарегистрируйте ваш Exolve SIP ID, указав Юзерней и Пароль из Личного кабинета разработчика:

await callClient.register(
    login: your_login,
    password: your_password,
);

Уведомления о регистрации аккаунта

Если вы хотите получать уведомления о состоянии регистрации SIP аккаунта, вы можете на них подписаться:

StreamSubscription<RegistrationEvent> registrationSubscription = callClient
    .subscribeOnRegistrationEvents()
    .listen((event) {
        // Handle events here
    }
);

Вызовы

Чтобы принимать входящие и исходящие звонки, подпишитесь на уведомления о них:

    StreamSubscription<CallEvent> callsSubscription = callClient
        .subscribeOnCallEvents()
        .listen((event) {
            // Handle events here
        });

Исходящие вызовы

callClient.makeCall(number: your_number);

Входящие вызовы

Входящие вызовы будут получены, если вы подписаны на уведомления о новых входящих вызовах CallNewEvent.

// Do when event.callEvent is CallNewEvent
call.accept();

Описание классов и методов

Более подробную документацию о классах и методах SDK вы можете найти в документации репозитория пакетов для Dart и Flutter.