Flutter 如何导入 backendless_sdk 消息模块?

Flutter How to import backendless_sdk messaging module?

我正在关注这篇文章 How to Create a Chat App with Backendless SDK for Flutter

import 'package:flutter/material.dart';
import 'package:backendless_sdk/backendless_sdk.dart'; 
import 'package:backendless_sdk/src/modules/modules.dart';

出现错误:

"Target of URI doesn't exist: 'package:backendless_sdk/src/modules/modules.dart'."

Backendless.Messaging 需要导入 modules.dart,但没有导入会出现错误:

The getter 'Messaging' isn't defined for the type 'Backendless'.

  void initListeners() async {
    Channel channel = await Backendless.Messaging.subscribe("myChannel");
    channel.addMessageListener(onMessageReceived);
  }

酒吧spec.yaml

dependencies:
  flutter:
    sdk: flutter
  backendless_sdk: ^1.1.8

如何导入消息模块?

您似乎缺少 installation 步骤。

  • 来自终端:运行 flutter pub get。

  • 来自 Android Studio/IntelliJ:单击操作功能区中的包获取 在 pubspec.yaml 的顶部。
  • 从 VS Code:单击“获取包” 在 pubspec.yaml.
  • 顶部的操作功能区右侧

我在您提到的文章中没有看到任何对 modules.dart 的引用。您需要导入 backendless_sdk 并包含 socket.io 依赖项:

dependencies {
   implementation ('io.socket:socket.io-client:1.0.0') { 
     // excluding org.json which is provided by Android 
     exclude group: 'org.json', module: 'json' 
   }
}

您应该更改为:

await Backendless.Messaging.subscribe

进入:

await Backendless.messaging.subscribe
                  ^
                  |
           small "m" here

版本

我检查了 backendless_sdk: ^0.0.2(来自教程)和 backendless_sdk: ^1.1.8(最新的),在这两种情况下,该字段都被命名为 messaging(小写)。

Class Backendless

backendless_sdk-1.1.8/lib/src/backendless.dart: