Почему я не могу получить параметры запроса из URL-адреса глубокой ссылки Firebase в Android? - PullRequest
0 голосов
/ 15 сентября 2018

Я пытаюсь получить параметры запроса по этой короткой динамической ссылке: https://easyloans.page.link/test

Длинная динамическая ссылка: https://easyloans.page.link/?link=https://www.availfinance.in&apn=com.avail.easyloans.android&utm_campaign=Test_Campaign_Name&utm_medium=Test_Medium&utm_source=Test_Source

Манифест:

<activity android:name=".Activites.DynamicLink">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />

            <data
                android:host="easyloans.page.link"
                android:scheme="http"
                android:pathPrefix="/"
                android:pathPattern=".*"/>
            <data
                android:host="easyloans.page.link"
                android:scheme="https"
                android:pathPrefix="/"
                android:pathPattern=".*"/>
    </intent-filter>
</activity>

ВАктивность Android:

FirebaseDynamicLinks.getInstance()
    .getDynamicLink(getIntent())
    .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
        @Override
        public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
            // Get deep link from result (may be null if no link is found)
            Uri deepLink = null;
            if (pendingDynamicLinkData != null) {
                deepLink = pendingDynamicLinkData.getLink();
                Log.d(TAG, "source : " + pendingDynamicLinkData.getLink().getQueryParameter("utm_source"));
            }

            Log.d(TAG, "link " + deepLink);

        }
    })
    .addOnFailureListener(this, new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            Log.d(TAG, "getDynamicLink:onFailure", e);
        }
    });

Вывод, который я получаю: ссылка https://www.availfinance.in и источник: null (я ожидаю Test_Source в этом)

1 Ответ

0 голосов
/ 18 сентября 2018

Метод getLink() возвращает параметр link, который вы установили для длинного FDL, который в вашем примере ссылки был именно тем, что было возвращено: link = https://www.availfinance.in.

Параметры UTM автоматически передаются в Google Analytics для Firebase.

pendingDynamicLinkData.getLink().getQueryParameter("foo") вернет значение, только если оно находится на URL-адресе, содержащемся в параметре link, например если ваша ссылка была ссылка = https://www.availfinance.in/?foo=bar (с соответствующей кодировкой URL).

...