Как настроить передачу обслуживания между браузером и родным приложением в iOS 8

Я пытаюсь настроить передачу обслуживания из браузера в нативное приложение, но безуспешно. Я уверен, что просто пропускаю шаг. Вот что я сделал

  1. Обновил мой bundleId с помощью опции "Связанные домены" и создал новые профили обеспечения на сайте разработчика
  2. В Xcode добавили мои домены в список связанных доменов на вкладке "Возможности"
  3. Создал файл json.txt с моим bundleId, включая идентификатор команды
  4. Опалил файл json.txt с ключом и сертификатом, который я использую для https
  5. Загрузил файл apple-app-site-association в корень сайта

У меня уже есть перенос между Native App и Native App и Native App-to-Web Browser. Что мне не хватает?

Это единственная документация, над которой я работал.

https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/Handoff/AdoptingHandoff/AdoptingHandoff.html

2 ответа

У нас была та же проблема, и мы потратили немало часов, чтобы ее решить.

Нам удалось решить эту проблему, добавив в наш файл JSON activitycontinuation ключ.

В итоге вот как выглядит наш json:

{ 
  "webcredentials": {
    "apps": ["TeamID.bundleIdentifier"]
  },
  "activitycontinuation": {
    "apps": ["TeamID.bundleIdentifier"]
    }
}

Обязательно проверяйте свой json всегда (попробуйте http://jsonlint.com/ для этого), так как неверный json может легко стать причиной ошибок и проблем.

Имейте эту проблему также с бонусом также заставляя Universal Links работать в iOS 9. Пробовал все выше, и все еще не смог заставить это работать надежно.

Кажется, медленно подбирать нативную опцию поверх опции продолжения браузера.

Также кажется, что обновление кеша apple-app-site-association происходит медленно, поэтому вы можете изменить его и какое-то время не видеть никаких изменений.

Одна странность: похоже, что Universal Links возвращает activity.webpageURL.host как "www.example.com", тогда как handoff возвращает "example.com".

Обновление: это работает намного лучше, если вы используете Safari в качестве браузера вместо Chrome. Восстанавливает передачу намного быстрее и надежнее.

Другие вопросы по тегам