Не получаются параметры ссылок firebase Dynami c - PullRequest
0 голосов
/ 12 июля 2020

Я пытаюсь передать параметры запроса для ссылки в Dynami c Ссылка, но когда я получаю данные, параметры запроса отсутствуют.

Этот код для генерации:

        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();

возвращает динамику c следующий URL-адрес ссылки: 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

Но когда я получаю данные динамической c ссылки с использованием этого кода

        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>
...