API mobtds для показа лендинга
Взаимодействие приложения с сервером происходит в два этапа.
- Приложение при первом запуске "регистрируется" в системе.
- Приложение показывает лендинг, открывая соответствующий URL в браузере или WebView.
1 - Регистрация в системе
1) Приложение формирует HTTP POST-запрос с полями: "device", "lat", "lon" и отправляет его на URL вида: http://<путь_к_серверу>/activate/:appId/
где appId — Application ID приложения.
Все поля POST-запроса являются опциональными:
- поле device — строка или JSON, содержащая параметры устройства;
- поля lat, lon — широта и долгота согласно GPS-датчику устройства.
2) Сервер возвращает ответ в виде JSON-объект вида: {"session": "токен_сессии"}
3) Приложение должно персистентно сохранить токен_сессии.
Примечание
В поле device могут быть переданы любые необходимые данные для отслеживания устройства. Рекомендуется использовать JSON-объект, даже если передаваемое значение пустое. В таком случае поле должно иметь значение "{}"
2 - Показ лендинга
Для показа лендинга, приложение формирует URL вида:
http://mobmob.herokuapp.com/score/:appId/?session=...&t=...&hash=...
Где session — токен_сессии (см. 1 - Регистрация в системе).
t и hash — подпись, которая формируется согласно спецификации http://telegra.ph/Opisanie-protokola-vzaimodejstviya-s-nashim-TDS-01-20 согласно примерам https://gist.github.com/vladignatyev/599fd84caff9c3c6bfa10968567d3373#file-sig-js-L16 (sig.js)
Затем этот URL открывается с помощью WebView либо браузером устройства.
Пример корректного URL
http://<путь_к_серверу>/score/com.pasha.testapp/?session=5a63a86b76b7498b25463ea7&t=1516480762599&hash=609c49277185ecd36dbe2636e139f5770a2544a6a1842dc3f711ebea82a24fdc