Получение isShowFullScreen: isShowFullScreen, статическое AdvanceInvitationState fromSignalingPluginInvitationUserState, Цель kernel_snapshot завершилась неудачно: Исключение

Вопрос или проблема

Я пытался интегрировать видеозвонок 1 на 1 от zegoCloud в flutter для Linux и получил эту ошибку при компиляции кода. Это журналы отладки.

Запуск lib/main.dart на Linux в режиме отладки...
[ZEGO][PLUGIN] Загрузка нативной зависимости
[ZEGO][PLUGIN] Нативная версия: 3.17.0.40905
[ZEGO][PLUGIN] Указанная версия SDK (3.17.0.40905) уже существует!
[ZEGO][PLUGIN] Копирование общего кода для Windows на платформу Linux.
ОШИБКА: ../../../../.pub-cache/hosted/pub.dev/zego_uikit_prebuilt_call-4.9.0/lib/src/invitation/callkit/callkit_incoming_wrapper.dart:105:7: Ошибка: Нет именованного параметра с именем 'isShowFullScreen'.
ОШИБКА:       isShowFullScreen: isShowFullScreen,
ОШИБКА:       ^^^^^^^^^^^^^^^^
ОШИБКА: ../../../../.pub-cache/hosted/pub.dev/flutter_callkit_incoming_yoer-2.0.4+1/lib/entities/android_params.dart:8:9: Контекст: Найден этот кандидат, но аргументы не совпадают.
ОШИБКА:   const AndroidParams({
ОШИБКА:         ^^^^^^^^^^^^^
ОШИБКА: ../../../../.pub-cache/hosted/pub.dev/zego_uikit-2.22.2/lib/src/plugins/signaling/impl/core/advance_invitation_data.dart:15:33: Ошибка: Должно быть возвращено ненулевое значение, так как тип возврата 'AdvanceInvitationState' не допускает null.
ОШИБКА:  - 'AdvanceInvitationState' из 'package:zego_uikit/src/plugins/signaling/impl/core/defines.dart' ('../../../../.pub-cache/hosted/pub.dev/zego_uikit-2.22.2/lib/src/plugins/signaling/impl/core/defines.dart').
ОШИБКА:   static AdvanceInvitationState fromSignalingPluginInvitationUserState(
ОШИБКА:                                 ^
ОШИБКА: Целевая сборка kernel_snapshot не удалась: Исключение
Исключение: Процесс сборки завершился неудачно

Это мои зависимости в pubspec.yaml

dependencies: 
    flutter: 
        sdk: flutter 
        cupertino_icons: ^1.0.2 
        zego_uikit_prebuilt_call: ^4.9.0

Стандартный код из предустановленного набора вызовов zegocloud

class CallPage extends StatelessWidget {
  const CallPage({Key? key, required this.callID}) : super(key: key);
  final String callID;

  @override
  Widget build(BuildContext context) {
    return ZegoUIKitPrebuiltCall(
      appID: Utils
          .appId, // Заполните appID, который вы получили из админ-панели ZEGOCLOUD.
      appSign: Utils
          .appSign, // Заполните appSign, который вы получили из админ-панели ZEGOCLOUD.
      userID: 'Sheikh_Umaid',
      userName: 'Sheikh Umaid',
      callID: callID,
      // Вы также можете использовать groupVideo/groupVoice/oneOnOneVoice для совершения различных типов звонков.
      config: ZegoUIKitPrebuiltCallConfig.oneOnOneVideoCall(),
    );
  }
}

Я пробовал каждую версию zegoCloud, чтобы сделать это в flutter web и flutter linux.

Пробовал код от ИИ,
смотрел видео на YouTube,
читал документацию,
но ничего не сработало.

Ответ или решение

Проблема, с которой вы столкнулись при интеграции видеозвонков ZegoCloud в приложении Flutter для Linux, вызывает несколько ошибок компиляции, указывающих на проблемы с параметрами методов и совместимостью пакетов. Давайте подробно разберём каждую из ошибок и предложим возможные пути их решения.

Анализ ошибок

  1. Ошибка с параметром isShowFullScreen:

    Error: No named parameter with the name 'isShowFullScreen'.

    Эта ошибка говорит о том, что в коде, связанном с callkit_incoming_wrapper.dart, вы пытаетесь использовать параметр isShowFullScreen, который отсутствует в конструкторе, к которому вы обращаетесь. Это может происходить из-за несоответствия версий пакетов. Проверьте, какая версия callkit_incoming_wrapper используется, и сопоставьте её с документацией к пакету. Убедитесь, что используемые зависимости совместимы друг с другом.

  2. Ошибка возвращаемого значения AdvanceInvitationState:

    Error: A non-null value must be returned since the return type 'AdvanceInvitationState' doesn't allow null.

    Эта ошибка указывает на то, что метод fromSignalingPluginInvitationUserState должен возвращать ненулевое значение типа AdvanceInvitationState, но этого не происходит. Возможно, это связано с ошибкой в реализации метода или изменениями в самой библиотеке. Рекомендуется просмотреть реализацию этого метода в advance_invitation_data.dart и убедиться, что везде, где ожидается значение, оно действительно возвращается.

  3. Проблема с совместимостью зависимостей:
    Из вашего pubspec.yaml видно, что вы используете zego_uikit_prebuilt_call: ^4.9.0. Попробуйте обновить все пакеты до их последних стабильных версий, особенно это касается zego_uikit. Необходимо провести анализ зависимостей и, возможно, откатить некоторые версии, если они становятся конфликтующими.

Рекомендованные действия

  1. Проверка версии библиотек:
    Убедитесь, что все используемые пакеты соответствуют друг другу. Возможно, вам потребуется просмотреть changelog пакетов zego_uikit_prebuilt_call и flutter_callkit_incoming_yoer, чтобы выявить изменения в параметрах, которые могли быть удалены или переименованы.

  2. Тестирование с минимальным набором зависимостей:
    Попробуйте создать новый проект Flutter с минимальным набором зависимостей и включите только zego_uikit_prebuilt_call. Это позволит вам изолировать проблему и понять, появляется ли она в самом базовом окружении.

  3. Обращение к сообществу и документации:
    Если проблемы продолжаются, рекомендуется обратиться на официальные форумы поддержки ZegoCloud или GitHub-репозиторий, где возможно, другие разработчики столкнулись с подобными проблемами и смогли их решить.

  4. Обновление Flutter:
    Убедитесь, что версия Flutter в вашем окружении актуальна. Иногда проблемы могут возникать из-за устаревших инструментов.

Заключение

Ваши ошибки компиляции могут возникать из-за несовместимости версий пакетов, неправильного применения параметров или проблем в реализации методов. Следуя вышеперечисленным шагам и внимательно изучая детали каждой ошибки, вы сможете успешно решить возникшие трудности и интегрировать видео-звонки ZegoCloud в ваше приложение Flutter для Linux.

Оцените материал
Добавить комментарий

Капча загружается...