Я разрабатываю динамическую ссылку для публикации содержимого страницы, чтобы открыть ее непосредственно в том же приложении с другого устройства. Когда я создаю общий ресурс с динамической ссылкой, я добавляю параметр запроса 'productId' и 'amount', но получаю productId, а не количество, deepLink.getQueryParameter ("amount") всегда возвращает ноль. Вот мой код:
public Uri buildDeepLink(Uri deepLink, int minVersion) {
String uriPrefix = getString(R.string.dynamic_links_uri_prefix);
// Set dynamic link parameters:
// * URI prefix (required)
// * Android Parameters (required)
// * Deep link
// [START build_dynamic_link]
DynamicLink.Builder builder = FirebaseDynamicLinks.getInstance()
.createDynamicLink()
.setDynamicLinkDomain(uriPrefix)
.setAndroidParameters(new DynamicLink.AndroidParameters.Builder()
.setMinimumVersion(minVersion)
.build())
.setIosParameters(new DynamicLink.IosParameters
.Builder(getPackageName())
.build())
.setLink(deepLink);
// Build the dynamic link
DynamicLink link = builder.buildDynamicLink();
// [END build_dynamic_link]
// Return the dynamic link as a URI
return link.getUri();
}
private String createCustomDeepLink(String deepLink) {
try {
if (!product_id.equals("null") && !price.equals("null")) {
if (!TextUtils.isEmpty(queryParamters)) {
deepLink = deepLink + queryParamters;
}
/* deepLink = String.valueOf(mDeeplink.buildUpon()
.appendQueryParameter("apn", getPackageName())
.appendQueryParameter("isi", "1483438440")
.appendQueryParameter("ibi", getPackageName())
.build());*/
deepLink = deepLink + "?product_id="
+ product_id + "/price=" + price;
mCustomUrl = String.valueOf(new URL(URLDecoder.decode(deepLink,
"UTF-8")));
return mCustomUrl;
} else {
product_id = String.valueOf(125938);
price = String.valueOf(120);
deepLink = String.valueOf(mDeeplink.buildUpon()
.appendQueryParameter("isi", "1483438440")
.appendQueryParameter("ibi", getPackageName())
.appendQueryParameter("product_id", product_id)
.appendQueryParameter("price", price)
.build());
mCustomUrl = String.valueOf(new URL(URLDecoder.decode(deepLink.toString(),
"UTF-8")));
return mCustomUrl;
}
} catch (Exception e) {
e.printStackTrace();
}
return mCustomUrl;
}
и это полученная мной глубокая ссылка: https://60cart.page.link/?amv=0&apn=com.pdd&link=https://www.60cart.com&isi=1483438440&ibi=com.pdd&product_id=14678&price=139
с помощью
product_price = deepLink.getQueryParameter (AppConstants.RequestDataKey.PRICE);
Я не получаю цену