无法在我的应用程序的动态链接中传递动态查询参数
Not able to pass dynamic query parameters in dynamic links of my app
我已经读过这个
这看起来像是一个类似的问题,但遗憾的是这并没有帮助我解决问题
创造深度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;
}
深度处理Link
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 参数 link
我得到的是在设置 DynamicLink 时在 FireBase 控制台中添加的演示数据
在 FireBase 控制台我已经设置好了
Short Link Url -> https://skribbll.page.link/join
Dynamic Link Url -> 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
我已经读过这个
这看起来像是一个类似的问题,但遗憾的是这并没有帮助我解决问题
创造深度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;
}
深度处理Link
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 参数 link
我得到的是在设置 DynamicLink 时在 FireBase 控制台中添加的演示数据
在 FireBase 控制台我已经设置好了
Short Link Url -> https://skribbll.page.link/join
Dynamic Link Url -> 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