我正在尝试为深层链接目的创建动态链接,但我收到了两种方法的这些错误,我不确定它们为什么会产生错误,因为这些方法是我搜索动态链接时使用的方法。是否有替代它们的方法,或者我应该如何更正代码?
错误信息:
没有为类型“DynamicLinkParameters”定义方法“buildShortLink”。 尝试将名称更正为现有方法的名称,或定义名为“buildShortLink”的方法。
没有为类型“DynamicLinkParameters”定义方法“buildUrl”。 尝试将名称更正为现有方法的名称,或定义名为“buildUrl”的方法。
代码:
import 'dart:js';
import 'package:firebase_dynamic_links/firebase_dynamic_links.dart';
import 'package:flutter/material.dart';
import 'package:myapp/providers/product_class.dart';
import 'package:url_launcher/url_launcher.dart';
class FirebaseDynamicLinkService{
Future<String> _createDynamicLink(bool short, Product product) async {
String _linkMessage='';
bool _isCreatingLink = false;
final DynamicLinkParameters parameters = DynamicLinkParameters(
uriPrefix: 'https://myapp.page.link',
link: Uri.parse(
'https://myapp/product?id=${product.documentID}',
),
// link: Uri.parse(DynamicLink),
androidParameters: const AndroidParameters(
packageName: 'com.example.myapp',
minimumVersion: 125,
),
);
Uri url;
if (short) {
final ShortDynamicLink shortLink =
await parameters.buildShortLink(); // here shows error
url = shortLink.shortUrl;
} else {
url = await parameters.buildUrl(); // here shows error
}
return _linkMessage;
}
}
我期望代码不会为这些方法产生错误。
你需要用建议的代码替换下面的代码
替换这个
if (short) {
final ShortDynamicLink shortLink =
await parameters.buildShortLink(); // here shows error
url = shortLink.shortUrl;
} else {
url = await parameters.buildUrl(); // here shows error
}
有了这个
if (short) {
final ShortDynamicLink shortLink =
await FirebaseDynamicLinks.instance.buildShortLink(parameters);
url = shortLink.shortUrl;
} else {
url = await FirebaseDynamicLinks.instance.buildLink(parameters);
}
有关更多信息,请查看此https://firebase.google.com/docs/dynamic-links/flutter/create