我正在尝试将查询参数传递给Dynamic Link中的链接,但是当我收到数据时,查询参数不存在。
此生成代码:
ListType listType = listPK.getListType();
//Uri.Builder.
Uri link = Uri.parse(
String.format("https://www.seleniti.com/famulo/invitetoshare/?listId=%s&listType=%s",
listId,
listType
)
);
DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(link)
.setDomainUriPrefix("https://famulo.page.link/invitetoshare")
// Open links with this app on Android
.setAndroidParameters(new DynamicLink.AndroidParameters.Builder("com.seleniti.famulo").build())
// Open links with com.example.ios on iOS
.setIosParameters(new DynamicLink.IosParameters.Builder("com.seleniti.famulo.ios").build())
.buildDynamicLink();
String urlString = dynamicLink.getUri().toString();
动态返回以下链接网址:
https://famulo.page.link/invitetoshare?apn=com.seleniti.famulo&ibi=com.seleniti.famulo.ios&link=https://www.seleniti.com/famulo/invitetoshare/?listId=kPLZpp809gePpBiBojsngjZdg6A3:b77a593f-4c96-48e2-8f25-77058974ffe9&listType=SHOPPING_LIST
但是当我使用此代码获取动态链接数据
FirebaseDynamicLinks.getInstance()
.getDynamicLink(getIntent())
.addOnSuccessListener(this, pendingDynamicLinkData -> {
// Get deep link from result (may be null if no link is found)
Uri deepLink = null;
if (pendingDynamicLinkData != null) {
deepLink = pendingDynamicLinkData.getLink();
String listId = deepLink.getQueryParameter("listId");
ListType listType = ListType.from(deepLink.getQueryParameter("listType"));
if (listId != null && listType != null) {
goToList(listType, listId, ViewAction.InviteToShare, null);
}
}
两个查询参数listId和listType的结果均为null。
在这里我已经咨询了所有其他有相同问题的相关问题,但是我没有找到合适的问题。
AndroidManifest.xml也包含以下行:
<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:host="famulo.page.link/invitetoshare"
android:scheme="https"
android:pathPattern="/?link"/>
<data
android:host="famulo.page.link/invitetoshare"
android:pathPattern="/?link"
android:scheme="http" />
</intent-filter>