Параметры глубоких ссылок не передаются через приложение Mozilla Firefox и Opera для Android - PullRequest
1 голос
/ 21 июня 2019

Я пытаюсь открыть приложение с созданной Deep Link, зарегистрированной в службе Firebase Deep Linking.Наряду с исходной ссылкой я пытаюсь передать в приложение несколько дополнительных параметров, чтобы обработать эту ссылку.

Например, у меня есть ссылка: https://my -custom.page.link /page? page = place & id = 1001126

Ссылка https://my -custom.page.link / page зарегистрирована в службе Firebase, а? page = place & id = 1001126 являются пользовательскимиparams.

Поскольку мы создаем собственное приложение, оно работает, как и ожидалось, во всех браузерах приложения IOS.В приложении Android оно работает, как и ожидалось, в браузере Google, но НЕ в Firefox или Opera.

В браузерах Android Firefox и Opera, когда я нажимаю на ссылку, оно перенаправляется в мое приложение, но дополнительные параметрыне перешел на это.

Есть ли какая-либо другая конфигурация, которая должна быть настроена для проекта Android, чтобы исправить это поведение?

После того, как я зарегистрировал данные, возвращенные изative-Linking.getInitialURL (), я получил ноль.

import { Linking } from 'react-native'


.
.
.

async componentDidMount () {
    const deepLinkUrl = await Linking.getInitialURL()
    console.warn('deepLinkUrl => ', deepLinkUrl) // IOS: correct payload Object, Android: null - Firefox and Opera
}

Я ожидаю получить правильные данные на обеих платформах.

1 Ответ

2 голосов
/ 09 июля 2019

У меня возникла похожая проблема при использовании динамических ссылок Firebase. К сожалению, я не смог передать параметры из браузеров Mozilla и Opera, используя этот подход.

Однако я нашел хакерский способ сделать это.

Если вы используете собственный пакет firebase реагировать: import firebase from 'react-native-firebase', он также имеет функцию для получения URL-адреса глубокой ссылки: deepLinkUrl = await firebase.links().getInitialLink()

Используя эту функцию, вы получите URL-адрес App Store от Firebase Dynamic Link. Идея состоит в том, чтобы передать ваши параметры через URL-адрес App Store так, как вы кодируете параметры, например, https://yourlink.page.link/?link=https://play.google.com/store/apps/details?id%3Dcom.yourapp%26param1%3Dvalue%26param2%3Dvalue...

Эти параметры будут чередоваться, если пользователь заходит в магазин приложений, и если пользователь откроет ссылку в приложении, вы сможете извлечь параметры из этого URL.

Надеюсь, этот ответ поможет. :)

...