在我的 Flutter 应用程序中,我实现了动态链接,我发送带有 id 参数的链接,当应用程序收到它时,它会导航到具有给定 id 的详细屏幕。它在 Android 中一切正常,但是在 iOS 上长动态链接按预期工作但是当我发送短链接时它给了我这个并且只打开了应用程序,没有触发 handleDynamicLink 函数。
FLTFirebaseDynamicLinks:动态链接未提供 url。请尝试使用长动态链接打开您的应用程序,看看是否有效
所以我正在发送带有已创建链接的 WhatsApp 消息,而长链接不是我想要发送的内容。
我的动态链接初始化代码
void dynamicLinkInit() async {
final PendingDynamicLinkData? initialLink = await FirebaseDynamicLinks.instance.getInitialLink();
if (initialLink != null) {
handleDynamicLink(initialLink);
}
FirebaseDynamicLinks.instance.onLink.listen((PendingDynamicLinkData dynamicLink) async {
handleDynamicLink(dynamicLink);
}).onError((e) => l.w(e));
}
void handleDynamicLink(PendingDynamicLinkData dynamicLink) {
final Uri uri = dynamicLink.link;
l.w(uri);
final queryParams = uri.queryParameters;
if (queryParams.isNotEmpty && queryParams['id'] != null) {
String id = queryParams["id"]!;
l.w(id);
Get.to(() => RequestDetail(id: id));
}
}
我还添加了关联域和 URL 类型部分的链接。
您是否知道为什么链接在长时有效而在短时无效?