Код Middle Push-уведомления обновлено
Маршрут по данным уведомления
Условие
Напишите routeFromPush(data, isLoggedIn), которая по данным уведомления возвращает, куда перейти:
{type:"order", id}->{ "screen": "Order", "params": { "id": id } };{type:"chat", chatId}->{ "screen": "Chat", "params": { "chatId": chatId } };{type:"promo"}->{ "screen": "Promo", "params": {} }(доступен без входа);- для
orderиchatбез входа вернуть{ "screen": "Login", "params": { "next": <маршрут, который был бы без проверки> } }; - неизвестный тип, отсутствующий или пустой идентификатор (не непустая строка):
{ "screen": "Home", "params": {} }.
Примеры
routeFromPush({"type":"order","id":"42"}, true) // {"screen":"Order","params":{"id":"42"}}
routeFromPush({"type":"chat","chatId":"c1"}, true) // {"screen":"Chat","params":{"chatId":"c1"}}
routeFromPush({"type":"promo"}, false) // {"screen":"Promo","params":{}}
Как подойти
Подсказки: 2
- Сначала постройте целевой маршрут, потом проверьте вход.
- Проверка идентификатора:
typeof v === 'string' && v.length > 0.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.
Предыдущий вопрос
Разрешение на уведомления в Android 13+
Следующий вопрос
Переход по уведомлению при закрытом приложении