Обработка глубоких ссылок с несколькими средами для одного и того же приложения на iOs с использованием реактивной системы - PullRequest
0 голосов
/ 08 января 2020

У меня есть приложение с несколькими средами.

Dev, prod, ... Это означает, что у меня на телефоне установлено несколько «копий» приложения App Dev, App Prod.

Они находятся под другим идентификатором пакета:

  • com.myapp.dev
  • com.myapp.prod

Я использую глубокие ссылки, чтобы открыть приложение, это прекрасно работает на Android, потому что спрашивает, с каким приложением вы хотите его открыть , но на iOS он просто открывает первое приложение, которое было установлено ?, и я могу Например, не найти способ:

  • Запустить develop-app://whatever/1 и открыть его в приложении Dev
  • Запустить prod-app://whatever/1 и открыть его в приложении Prod

Что мне не хватает?

Это мои определенные типы URL:

enter image description here

Также apple-app-site-association файл выглядит следующим образом:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "1234.com.myapp.dev",
                "paths": ["*"]
            },
            {
                "appID": "1234.com.myapp.prod",
                "paths": ["*"]
            }
        ]
    }
}

Обновление

  • Первая обнаруженная проблема заключалась в том, что apple-app-site-association не использовал Content-Type заголовок, поэтому приложение не может распознать файл.
  • Должны быть определены пути, которые должна распознавать каждая среда:
{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "1234.com.myapp.dev",
                "paths": ["/dev/*"]
            },
            {
                "appID": "1234.com.myapp.prod",
                "paths": ["/prod/*"]
            }
        ]
    }
}
  • Теперь я могу увидеть баннер на верхней части паутины ите Open with App Dev как и ожидалось

1 Ответ

0 голосов
/ 08 января 2020

Вы должны указать, какой путь должен открываться каким приложением

Например, ваш домен - example.com

Вы должны указать другой шаблон пути для dev и prod. приложение в вашем apple-app-site-association файле

Например, вы можете обновить apple-app-site-association файл, как показано ниже

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "1234.com.myapp.dev",
                "paths": ["/dev/*"]
            },
            {
                "appID": "1234.com.myapp.prod",
                "paths": ["/prod/*"]
            },
        ]
    }
}

Теперь, скажем, вы нажимаете на URL ниже, вы ' будет направлено на упомянутое приложение в комментариях

...