gpt4 book ai didi

android - 即使安装了应用程序,Firebase 动态链接也会重定向到 Playstore

转载 作者:行者123 更新时间:2023-12-05 07:10:15 25 4
gpt4 key购买 nike

我正在尝试创建 Firebase 动态链接,将用户重定向到我的应用程序中的特定页面。我设法创建了链接,它有时可以工作,但有时即使安装了应用程序,它也会重定向到 PlayStore。我在物理 Android 设备上执行此操作。

我设法理解的是,如果我单击链接(在 SMS 或 WhatsApp 消息中)时我的浏览器应用程序 (Chrome) 在设备后台打开,我将被带到该应用程序(我的行为想)。它在此设置中始终如一地工作(不同的链接,我的应用程序在后台打开和关闭)

但是,如果我单击链接并且浏览器应用程序未在后台打开,它会将我带到 PlayStore。

这是我必须创建链接的代码:

Future<void> _createDynamicLink(bool short) async {
final DynamicLinkParameters parameters = DynamicLinkParameters(
uriPrefix: 'https://myappname.page.link',
link: Uri.parse('https://myappname/?gameCode=1111111'),
androidParameters: AndroidParameters(
packageName: 'com.last.myquarentineproject',
minimumVersion: 0,
),
dynamicLinkParametersOptions: DynamicLinkParametersOptions(
shortDynamicLinkPathLength: ShortDynamicLinkPathLength.short,
),
socialMetaTagParameters: SocialMetaTagParameters(
title: 'Example Title',
description: 'Example Description',
),
);

Uri url;
if (short) {
final ShortDynamicLink shortLink = await parameters.buildShortLink();
url = shortLink.shortUrl;
} else {
url = await parameters.buildUrl();
}
}

这是我用来获取链接的代码:


void initState() {
handleDynamicLinks();
...
}

void handleDynamicLinks() async {
final PendingDynamicLinkData data = await FirebaseDynamicLinks.instance.getInitialLink();
_handleDeepLink(data);

FirebaseDynamicLinks.instance.onLink(
onSuccess: (PendingDynamicLinkData dynamicLink) async {
_handleDeepLink(dynamicLink);
}, onError: (OnLinkErrorException e) async {
print('Link Failed: ${e.message}');
});
}

void _handleDeepLink(PendingDynamicLinkData data) {
final Uri deepLink = data?.link;
if (deepLink != null) {
receivedGameCode = deepLink.queryParameters['gameCode'];
print('receivedGameCode: $receivedGameCode');
print('_handleDeepLink | deeplink: $deepLink');
Navigator.pushNamed(context, '/joingGame');

} else { print('_handleDeepLink | deeplink: NO LINK'); }
}

非常感谢任何帮助!谢谢

最佳答案

我这边也遇到了同样的问题。我以编程方式创建了动态链接。我通过提供有效的 minimumVersion 值解决了这个问题。

androidParameters: AndroidParameters(
packageName: 'com.example.myapp',
minimumVersion: 24,
),

同时为了处理动态链接,一旦应用打开,我就使用了

app_links: ^3.2.0

在安卓 list 文件中

       <intent-filter android:autoVerify="true" tools:targetApi="m">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="myapp.page.link"/>
<data android:scheme="https"/>
<data android:scheme="http"/>
</intent-filter>

希望对你有帮助

关于android - 即使安装了应用程序,Firebase 动态链接也会重定向到 Playstore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61297444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com