Есть ли способ интегрировать приложение Expo со ссылками firebase Dynami c без отсоединения? - PullRequest
1 голос
/ 16 июня 2020

Есть ли способ интегрировать приложение Expo со ссылками firebase Dynami c без отсоединения.

1 Ответ

1 голос
/ 11 августа 2020

Если вам нужно создавать новые динамические c ссылки на лету, вы можете использовать REST API для этого. В гораздо более вероятном сценарии, когда вам нужно приложение только для открытия динамических c ссылок Firebase, вам не нужно ничего делать, кроме настройки приложения Expo для обработки универсальных ссылок (ie: deeplinks с использованием http / https).

Контрольный список выглядит примерно так:

1. Настройте приложение. json

Для Android добавьте свойство intentFilters к свойству android:

"android": {
  "intentFilters": [
    {
      "action": "VIEW",
      "data": [
        {
          "scheme": "https",
          "host": "<your-domain>",
          "pathPrefix": "/"
        },
      ],
      "category": [
        "BROWSABLE",
        "DEFAULT"
      ]
    }
  }
]

Для iOS добавьте associatedDomains на ios:

"ios": {
  "associatedDomains": ["applinks:<your-domain>"]
}

2. Настройте свой домен так, чтобы ссылки с него могли обрабатываться приложениями

Android и iOS позволят вашему приложению открывать ссылки из вашего домена, если вы обслуживаете файл конфигурации из указанного c местоположения. :

Android: https://<your-domain>/.well-known/assetlinks.json

iOS: https://<your-domain>/.well-known/apple-app-site-association

assetlinks.json будет выглядеть примерно так:

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "<android-package-name>",
    "sha256_cert_fingerprints":
    ["<your-sha256-certificate-fingerprints>"]
  }
}]

И apple-app-site-association вроде этого:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "<your-team-id>.<ios-bundle-identifier>",
                "paths": [ "*" ]
            }
        ]
    }
}

Подробнее об этих файлах здесь и здесь .

Чтобы получить Отпечатки SHA256 сертификата подписи вашего приложения, вы можете использовать инструмент keytool:

keytool -list -v -keystore <your-key-file>

После ввода пароля хранилища ключей он распечатает большую часть информации хранилища ключей, включая отпечатки SHA256.

Если ваш сайт размещен на Firebase и assetlinks.json, и apple-app-site-association могут быть сгенерированы автоматически, если вы создадите приложения в своем проекте Firebase. В противном случае просто поместите эти файлы в root вашего домена.

3. Создайте динамическую базу Firebase c ссылку

Я думаю, что этот шаг в основном не требует пояснений, но всего несколько примечаний:

  1. Настройте короткую ссылку URL: в конце вы будете иметь / которые вы отправляете своим пользователям
  2. Настройте Dynami c Ссылка: здесь вы определяете свою deelink (ссылку, которую вы хотите, чтобы ваше приложение обрабатывало)
  3. Определите поведение ссылки для iOS: вы, скорее всего, захотите нажать «Открыть глубокую ссылку в вашем iOS приложении» и выбрать свое приложение из списка (если вы еще этого не сделали, создайте одно приложение для каждой платформы в вашем проекте)
  4. Определите поведение ссылки для Android: то же, что и предыдущее, но с несколькими дополнительными параметрами для выбора
  5. Настроить (или нет) отслеживание кампании, и все готово.

Помните, что вы всегда должны тестировать свои deeplink, нажимая, а не вводя непосредственно в браузере. Вы можете отправить ссылку себе в WhatsApp или установить приложение для заметок, например.

Другие ресурсы, которые могут быть полезны:

...