Неправильные пользовательские параметры динамической ссылки Firebase - PullRequest
0 голосов
/ 18 октября 2019

Я разрабатываю динамическую ссылку для публикации содержимого страницы, чтобы открыть ее непосредственно в том же приложении с другого устройства. Когда я создаю общий ресурс с динамической ссылкой, я добавляю параметр запроса '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);

Я не получаю цену

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...