我正在尝试在浏览器中打开我的应用程序的深层链接。深层链接是https://app.page.link/s345Fsfd2j
形式的Firebase动态链接,使用launch(link)
(来自url_launcher
包)在其中link = https://app.page.link/s345Fsfd2j
启动。我在Android清单中的<activity android:name=".MainActivity"
中添加了以下意图。
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:host="app.page.link" />
</intent-filter>
该链接在浏览器上可以正常工作,但在我正在(Android)上测试的设备中无法打开。我也尝试在forceWebview
中使用launch
,但这也导致了URL incorrect scheme
错误,因为Web视图上的链接不是http*
,而是Android上的意图。打开深层链接的最佳做法是什么?
我还在网络安全配置中添加了一个新的子域,但尚未解决问题
<domain includeSubdomains="true">app.page.link</domain>
这正在我的机器上工作,如果不适合您,请告诉我。
import 'package:url_launcher/url_launcher.dart';
_launchURL() async {
const url = 'https://app.page.link/s345Fsfd2j';
if (await canLaunch(url)) {
await launch(url);
} else {
throw 'Could not launch $url';
}
}