flutter firebase deeplinks 参数没有得到
flutter firebase deeplinks params not getting
我正在创建一个 flutter 应用程序。我正在使用深层链接。它正在创造成功,但应用程序的点击部分无法正常工作。该应用正在检索 url 但未检索参数。不知道是什么原因?
我的代码如下所示。
final DynamicLinkParameters parameters = DynamicLinkParameters(
uriPrefix: 'https://mydomain.page.link',
link: Uri.parse(
// 'https://pachiradev.page.link/circleinvite?token=' + uid1.toString()
'https://pachiradev.page.link/circleinvite?token=' + '1234'),
androidParameters: AndroidParameters(
packageName: 'io.flutter.plugins.firebasedynamiclinksexample',
minimumVersion: 0,
),
dynamicLinkParametersOptions: DynamicLinkParametersOptions(
shortDynamicLinkPathLength: ShortDynamicLinkPathLength.short,
),
iosParameters: IosParameters(
bundleId: 'com.google.FirebaseCppDynamicLinksTestApp.dev',
minimumVersion: '0',
),
);
Uri url;
final ShortDynamicLink shortLink = await parameters.buildShortLink();
url = shortLink.shortUrl;
print(url)
//https://mydomain.page.link/circleinvite?token=1234
//https://mydomain.page.link/ARTu
这里我用参数打印 url。但是在检索代码时我没有得到 params
FirebaseDynamicLinks.instance.onLink(
onSuccess: (PendingDynamicLinkData dynamicLink) async {
final Uri deepLink = dynamicLink?.link;
print(deepLink);
//https://mydomain.page.link/circleinvite
//not showing params
if (deepLink != null) {
// Navigator.pushNamed(context, deepLink.path);
final queryParams = deepLink.queryParameters;
if (queryParams.length > 0) {
String token = queryParams["token"];
}
}
}, onError: (OnLinkErrorException e) async {
print('onLinkError');
print(e.message);
});
我试了好几种方法都没有结果。如果有人知道原因请帮助我。
我发现我们需要输入正确的应用程序包名称。
androidParameters: AndroidParameters(
packageName: 'com.myapp.android',
minimumVersion: 0,
),
dynamicLinkParametersOptions: DynamicLinkParametersOptions(
shortDynamicLinkPathLength: ShortDynamicLinkPathLength.short,
),
iosParameters: IosParameters(
bundleId: 'com.myapp.ios',
minimumVersion: '0',
),
我正在创建一个 flutter 应用程序。我正在使用深层链接。它正在创造成功,但应用程序的点击部分无法正常工作。该应用正在检索 url 但未检索参数。不知道是什么原因? 我的代码如下所示。
final DynamicLinkParameters parameters = DynamicLinkParameters(
uriPrefix: 'https://mydomain.page.link',
link: Uri.parse(
// 'https://pachiradev.page.link/circleinvite?token=' + uid1.toString()
'https://pachiradev.page.link/circleinvite?token=' + '1234'),
androidParameters: AndroidParameters(
packageName: 'io.flutter.plugins.firebasedynamiclinksexample',
minimumVersion: 0,
),
dynamicLinkParametersOptions: DynamicLinkParametersOptions(
shortDynamicLinkPathLength: ShortDynamicLinkPathLength.short,
),
iosParameters: IosParameters(
bundleId: 'com.google.FirebaseCppDynamicLinksTestApp.dev',
minimumVersion: '0',
),
);
Uri url;
final ShortDynamicLink shortLink = await parameters.buildShortLink();
url = shortLink.shortUrl;
print(url)
//https://mydomain.page.link/circleinvite?token=1234
//https://mydomain.page.link/ARTu
这里我用参数打印 url。但是在检索代码时我没有得到 params
FirebaseDynamicLinks.instance.onLink(
onSuccess: (PendingDynamicLinkData dynamicLink) async {
final Uri deepLink = dynamicLink?.link;
print(deepLink);
//https://mydomain.page.link/circleinvite
//not showing params
if (deepLink != null) {
// Navigator.pushNamed(context, deepLink.path);
final queryParams = deepLink.queryParameters;
if (queryParams.length > 0) {
String token = queryParams["token"];
}
}
}, onError: (OnLinkErrorException e) async {
print('onLinkError');
print(e.message);
});
我试了好几种方法都没有结果。如果有人知道原因请帮助我。
我发现我们需要输入正确的应用程序包名称。
androidParameters: AndroidParameters(
packageName: 'com.myapp.android',
minimumVersion: 0,
),
dynamicLinkParametersOptions: DynamicLinkParametersOptions(
shortDynamicLinkPathLength: ShortDynamicLinkPathLength.short,
),
iosParameters: IosParameters(
bundleId: 'com.myapp.ios',
minimumVersion: '0',
),