Универсальные ссылки не работают с React Native - PullRequest
0 голосов
/ 26 сентября 2019

Я давно пользуюсь React Native & Branch.io, и это здорово.Тем не менее, я хотел бы иметь возможность обрабатывать и не-Branch глубокие ссылки.Например, если мое доменное имя https://example.com,, я хотел бы, чтобы мое приложение открывалось при открытии, скажем, https://example.com/my-items. Я пытался заставить его работать безуспешно.Я прочитал много, много вопросов GitHub и ТАК вопросы.Повторим, что https://example.app.link (т.е. URL-адреса филиалов / универсальные ссылки) работают без проблем.

Обычно, когда я нажимаю https://example.com/my-items, мой веб-сайт открывается в Safari.Модал iOS "Open with XYZ" не отображается, и я не попал в приложение.

Вот что я уже пробовал:

0) Прошел через https://facebook.github.io/react-native/docs/linking и https://hackernoon.com/react-native-deep-linking-for-ios-and-android-d33abfba7ef3

1) Удостоверился, что я обслуживаю https://example.com/apple-app-site-association (и подтвердил его с https://branch.io/resources/aasa-validator/) как JSON и общедоступно.

2) image Capabilities -> Associated domains">

2.1) Я также пытался сapp.link связанный d

3) Для отладки я даже сделал следующее в AppDelegate.m (обычно я проверяю через [RCTLinkingManager application:application openURL:url options:options] и т. д.)

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
  return YES;
}

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity
 restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler
{
  return YES;
}

4) Iпопробовал на самом устройстве (используя iMessages, Notes, Safari).Я также отключил удаленную отладку (как отмечено здесь )

Соответствующие версии:

XCode: версия 10.2.1 (10E1001)

iOS: 12.4.1

реакция-нативная: 0.60.5

реакция-нативная-ветка: 3.0.0 ^

https://example.com/apple-app-site-association

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "<MyTeamID-censored>.<My-Bundle-Identifier-censored>", 
        "paths": [
          "/verify-email*",
          "/notifications/borrower-request*",
          "/notifications/request-confirmed*",
          "/messages/*",
          "/verification",
          "/my-items",
          "/my-rentals",
          "/dashboard*"
        ]
      }
    ]
  }
}

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019

Если вы просто хотите использовать ссылки со своим собственным доменом, вы можете изменить свой домен Branch.link.link на свой собственный домен в настройках ссылок.

0 голосов
/ 26 сентября 2019

Это относится к вашему варианту использования?Это помогло мне.

Когда пользователь просматривает ваш сайт в Safari и нажимает универсальную ссылку на URL в том же домене, что и текущая веб-страница, iOS учитывает наиболее вероятные намерения пользователя и открываетссылка в Safari.Если пользователь нажимает универсальную ссылку на URL-адрес в другом домене, iOS открывает ссылку в вашем приложении.

source

...