为此绞尽脑汁。
我无法解决这个问题,我的代码产生了这个错误:
LiveQuery does not work, if there is no ParseConnectivityProvider provided.
我尝试使用 liveQueryURL 并没有运气。颤振文档没有关于如何从服务器实现此 url 的具体示例。我从 javaScript 视频和文档中假设这是我创建的自定义子域,例如 customdomain.b4a.io,它使最终 url 为“wss://customdomain.b4a.io”。
我查看了 Parse().initialize 的“connectivityProvider:”arg,但没有发现任何具体的实现方法。
这只是一个飞镖演示项目。非常感谢任何帮助或想法!
编辑:这篇文章根本没有解决我的问题。它也很老了。
这是否可能因为这是一个飞镖程序而不是颤振而不起作用?没想到会是这样……
代码:
import 'package:parse_server_sdk/parse_server_sdk.dart';
Future<void> main(List<String> arguments) async {
final keyApplicationId = 'XXX';
final keyClientKey = 'XXX';
final keyParseServerUrl = 'https://parseapi.back4app.com';
final liveQueryURL = 'wss://XXX.b4a.io';
await Parse().initialize(
keyApplicationId,
keyParseServerUrl,
clientKey: keyClientKey,
liveQueryUrl: liveQueryURL,
autoSendSessionId: true,
debug: true,
);
final LiveQuery liveQuery = LiveQuery();
QueryBuilder<ParseObject> query = QueryBuilder<ParseObject>(ParseObject('Color'));
Subscription subscription = await liveQuery.client.subscribe(query);
subscription.on(LiveQueryEvent.create, (value) {
print('Object: ' + value['color']);
print((value as ParseObject).get('color'));
});
}