我正在尝试读取我在 flutter 应用程序中在 firebase 上创建的动态链接,我完成了所有配置,但我总是得到 null 作为值。
这是我的 firebase 配置:
短链接:https://******.page.link/test
动态链接:https://********.tn/restaurant?id=64fdf73f3ac564fe091a22e6
我的 Android 清单文件代码:
<meta-data
android:name="flutter_deeplinking_enabled"
android:value="true"/>
<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="https" />
<data android:host="******.page.link" />
</intent-filter>
这是我尝试阅读动态链接的方式:
Future<void> initDynamicLinks() async {
print("Initial DynamicLinks");
FirebaseDynamicLinks dynamicLinks = FirebaseDynamicLinks.instance;
dynamicLinks.onLink.listen((dynamicLinkData) {
final Uri uri = dynamicLinkData.link;
final queryParams = uri.queryParameters;
if (queryParams.isNotEmpty) {
print("Incoming Link :" + uri.toString());
} else {
print("No Current Links");
}
});
PendingDynamicLinkData? data = await dynamicLinks
.getDynamicLink(Uri.parse("https://******.page.link/test"));
final Uri uri = data!.link;
if (uri != null) {
print("Found The Searched Link: " + uri.toString());
} else {
print("Search Link Not Found");
}
}
这是我的主要功能:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
initDynamicLinks();
}
它不会返回任何内容,实际上它不会监听任何链接,请注意,我在调试模式下在 Android 物理设备上运行它。感谢您的帮助!
将整个块移至单独的小部件并调用 initState 内的函数解决了问题。