- На главном экране будет добавлен пункт меню со ссылкой на deeplink стороннего сервиса. Пунктов может быть несколько для переходов в разные разделы приложения
- Если стороннее приложение не установлено на телефоне, то нажатие на пункт меню поведет в маркетплейс для скачивания. Необходимы ссылки на iOS/Android стороннего приложения
- Если приложение установлено на телефоне, то оно запустится по deeplink. Общая схема deeplink такая:
Где:
scheme - это идентификатор приложения (может быть любым), например smarthome
fragment - любой экран который нужно открыть и поймет их приложение. Например main - откроет главную, devices - откроет список устройств и т.д.
В стороннем приложении необходимо реализовать поддержку схемы открытия по deeplink
Если нужно обратный deeplink в наше приложение, то сначала мы его соберём, зададим свой идентификатор и выдадим список экранов которые можно открыть по нему.
Пример видео https://disk.360.yandex.ru/i/EBumzJ_EGZx4gA
Далее описана структура работы в нашем приложении и список доступных deeplink:
Далее описана структура работы в нашем приложении и список доступных deeplink:
Структура:
scheme://screen/id/?key=value
- scheme - последняя часть от bundleId (Пример com.wellsoft.legion, scheme = legion)
- screen - экран который нужно открыть (берем из идентификаторов меню)
- id - не обязательный параметр. Указывается если нужно открыть что-то по id. К примеру новость или квитанцию
- key - Query параметр, не обязателен
- value - значение query параметра key. Если указан key, то value обязателен.
Пример:
- legion://frisbi/ - откроет приложение голос.комфорт и экран списка frisbi платежей
- dnsexpert://news/78/ - откроет приложение ДНС эксперт и конкретную новость с id 78
- comfortcity://news/35/?moduleType=1 - откроет приложение комфорт сити, конкретную новость с id 35 и передаст параметр moduleType 1, для получения новости с id 35 из модуля застройщика
Для параметра screen используем уже существующие идентификаторы от пунктов меню
Пример ApplicationId - com.wellsoft.smartzkh
| Название экрана | MenuIdentefier | Deeplink |
|---|---|---|
| Счетчики | counters | smartzkh://counters |
| Список категорий услуг | services | smartzkh://services |
| Список услуг в категории | services/id | smartzkh://services/22 |
| Экран услуги | service/id | smartzkh://service/95 |
| Список новостей | news | smartzkh://news |
| Экран новости | news/id | smartzkh://news/1071 |
| Список голосований | votes | smartzkh://votes |
| Экран голосования | votes /id | smartzkh://votes/55 |
| Список статей | articles | smartzkh://articles |
| Экран статьи | articles/id | smartzkh://articles/29 |
| Список вопросов | questions | smartzkh://questions |
| Экран вопроса | questions/id | smartzkh://questions/1 |
| Список категорий камер | videoCamera | smartzkh://videocamera |
| Экран об УК | contacts | smartzkh://contacts |
| Профиль | profile | smartzkh://profile |
| Тарифы начислений | tariffs | smartzkh://tariffs |
| Список маркеров QR | marks | smartzkh://marks |
| Экран маркера QR | marks/id | smartzkh://marks/0 |
| Список автоплатежей | autopay | smartzkh://autopay |
| Список аккаунтов для доступа | accounts | smartzkh://accounts |
| Список платежей Фрисби | frisbi | smartzkh://frisbi |
| Список страховок | insurances | smartzkh://insurances |
| Список пропусков | pass | smartzkh://pass |
| Видеоаналитика пропуска авто | icv | smartzkh://icv |
| Список устройств умного дома | smarthouse | smartzkh://smarthouse |
| Список автомобилей | auto | smartzkh://auto |
| Список заявок | requests | smartzkh://requests |
| Экран заявки | request/id | smartzkh://requests/5613 |
| Список уведомлений | notices | smartzkh://notices |
| Экран уведомления | notices/id | smartzkh://notices/14709 |
| Точки доступа barrier | accesspoint/?type= | smartzkh://accesspoint/?type=barrier |
| Точки доступа gate | accesspoint/?type= | smartzkh://accesspoint/?type=gate |
| Точки доступа NetPing | accesspoint/?type= | smartzkh://accesspoint/?type=netping |
| Точки доступа panel | accesspoint/?type= | smartzkh://accesspoint/?type=panel |
| Точки доступа сигур | accesspoint/?type= | smartzkh://accesspoint/?type=sigur |
| Создание заявки | createrequest/?key= | smartzkh://createrequest/?worktypeId=10&subworktypeId=15&description=Получение+выписки |
| Экран квитанции, таб 1 | accruals/?tab= | smartzkh://accruals/?type=current |
| Экран квитанции, таб 2 | accruals/?tab= | smartzkh://accruals/?type=accruals |
| Экран квитанции, таб 3 | accruals/?tab= | smartzkh://accruals/?type=payments |