【发布时间】:2021-02-23 20:14:33
【问题描述】:
我已经读过这个Link
这看起来像一个类似的问题,但不幸的是这并没有帮助我
创建深层链接
static Future<String> createDeppLink(String id) async {
String prefix = "https://skribbll.page.link";
final DynamicLinkParameters par = DynamicLinkParameters(
uriPrefix: prefix,
link: Uri.parse("https://skribbll.page.link/join/?id=$id"),
androidParameters: AndroidParameters(
packageName: "com.example.Skribbl", minimumVersion: 0),
iosParameters: IosParameters(
bundleId: 'com.example.Skribbl',
minimumVersion: '1',
appStoreId: '',
),
);
final Uri dynamicUrl = await par.buildUrl();
print(dynamicUrl);
final ShortDynamicLink shortenedLink =
await DynamicLinkParameters.shortenUrl(
dynamicUrl,
DynamicLinkParametersOptions(
shortDynamicLinkPathLength: ShortDynamicLinkPathLength.unguessable),
);
print(shortenedLink.shortUrl);
String url = shortenedLink.shortUrl.toString();
return url;
}
处理深层链接
static Future handleDynamicLinks() async {
print("Coming to handle dynamic links");
await Future.delayed(Duration(seconds: 3));
var value = await FirebaseDynamicLinks.instance.getInitialLink();
var x = handleDeepLinkData(value);
print(x);
FirebaseDynamicLinks.instance.onLink(onSuccess: (dynamicLink) async {
var x = handleDeepLinkData(dynamicLink);
print("Inside listener");
print(x);
}, onError: (e) async {
debugPrint('DynamicLinks onError $e');
});
return x;
}
static handleDeepLinkData(PendingDynamicLinkData data) {
print("Coming to handle deep link data");
print(data);
if (data == null) return null;
final Uri deepLink = data?.link;
if (deepLink != null) {
print(deepLink);
if (deepLink.path.contains("join")) {
print(deepLink.queryParametersAll);
print(deepLink.queryParameters['id']);
return deepLink.queryParameters['id'];
}
}
}
我找到了很多答案并尝试调整几乎所有内容,但在创建深层链接时仍然没有传递 id 参数
我得到的是在设置 DynamicLink 时在 FireBase 控制台中添加的演示数据
在 FireBase 控制台中我已经设置好了
短链接网址 -> https://skribbll.page.link/join
动态链接网址 -> https://skribbll.page.link/join?id=5
当我没有通过控制台设置这些时,我没有被重定向到我的应用程序
我不知道我在做什么错任何帮助都可以为我节省很多时间
提前谢谢您
在尝试生成完整 URL 时,我还想添加一件事,它看起来像这样并且其中包含 id
如果这有任何帮助
https://skribbll.page.link?apn=com.example.Skribbl&link=https%3A%2F%2Fskribbll.page.link%2Fjoin%3Fid%3DqMj2YBTKATcPHYDsnQNq
【问题讨论】:
标签: android firebase flutter dart firebase-dynamic-links