docs(rustore-spec): добавить кнопку SOVA (дип-линк, только sideload)
This commit is contained in:
@@ -175,6 +175,36 @@ api.radiola.nexaweb.su {
|
||||
В sideload остаётся как сейчас. Код тестирования (`SettingsViewModel.startTesting`,
|
||||
`StationTestStatus`) остаётся в `main`, просто не показывается в store.
|
||||
|
||||
## H. Кнопка дип-линк-поиска в SOVA V RE (только sideload)
|
||||
|
||||
SOVA V RE — неофициальный мод клиента ВК (на базе VK 6.12), которым пользователь
|
||||
пользуется лично. **В RuStore-сборку кнопку НЕ включаем** (риск отклонения за
|
||||
продвижение пиратского мода) — показываем только в sideload-флейворе (тем же
|
||||
flavor-механизмом, что и dev-tools/тестер: фильтруем список сервисов).
|
||||
|
||||
### Архитектура (расширение дип-линков)
|
||||
Сейчас `DeeplinkService` = `(serviceId, displayName, searchUrlTemplate)`,
|
||||
`DeeplinkNavigator.openSearch` строит web-URL и открывает через системный chooser.
|
||||
Для стороннего приложения нужно открывать **напрямую в его пакете**:
|
||||
- Добавить в `DeeplinkService` опциональное поле `packageName: String? = null`.
|
||||
- `DeeplinkNavigator`: если `packageName != null` и приложение установлено —
|
||||
`intent.setPackage(packageName)` (открыть прямо в нём); если не установлено —
|
||||
фолбэк (chooser/web ВК) или Toast «Установите SOVA». Для остальных сервисов
|
||||
поведение не меняется (`packageName == null`).
|
||||
- Добавить запись `SOVA("sova", "SOVA", <url>, packageName=<пакет SOVA>)`.
|
||||
|
||||
### Что уточнить на этапе реализации (нужен телефон по adb)
|
||||
- **Точный пакет** SOVA (`pm list packages -3` на телефоне). Как мод VK 6.12 —
|
||||
вероятно `com.vkontakte.android` или вариант.
|
||||
- **Какой URL/схему** SOVA перехватывает как поиск музыки (мод VK обычно ловит
|
||||
`https://vk.com/...` и `vk://`). Проверить на устройстве, что кнопка реально
|
||||
открывает поиск в SOVA, а не главный экран. Шаблон поиска подобрать по факту.
|
||||
|
||||
### Гейтинг по флейвору
|
||||
В store-сборке `SOVA` отфильтровывается из списка сервисов (и в настройках, и в
|
||||
ряду кнопок плеера). В sideload — присутствует. Механизм — `BuildConfig` флаг
|
||||
флейвора (как у dev-tools).
|
||||
|
||||
## Вне области (YAGNI / не сейчас)
|
||||
- AAB-сборка (подаём APK).
|
||||
- proguard/minify (оставляем выключенным).
|
||||
@@ -206,6 +236,8 @@ api.radiola.nexaweb.su {
|
||||
5. Код: gate `checkUpdate()` за `BuildConfig.ENABLE_SELF_UPDATE`; baseUrl/BASE_URL → https.
|
||||
Чистка настроек: убрать тумблер «Запись эфира» (G1); тестер станций под
|
||||
`BuildConfig.SHOW_DEV_TOOLS` (G2).
|
||||
Кнопка SOVA (H): расширить `DeeplinkService`/`DeeplinkNavigator` (packageName),
|
||||
добавить SOVA, отфильтровать в store. Пакет/схему уточнить на телефоне.
|
||||
6. Keystore: пользователь генерирует, кладёт `keystore.properties`.
|
||||
7. Сборка `storeRelease`, проверка критериев готовности.
|
||||
8. Текст политики конфиденциальности.
|
||||
|
||||
Reference in New Issue
Block a user