Старая авторизация через VK SDK больше не поддерживается — ВКонтакте перевела все приложения на новый VKID SDK. Разработчикам приходится мигрировать, сталкиваясь с нюансами: настройка PKCE, обработка deep link, получение refresh токенов. Казалось бы, замена одного SDK на другое, но на практике возникают проблемы с URL Scheme, конфигурацией OneTap и серверной верификацией. Если не учесть все детали, авторизация может не работать на части устройств, а стори могут отклонить сборку из-за несоответствия требованиям App Store Review Guidelines (Section 4.2) или Google Play Store. Например, пропущенный Intent Filter на Android или неверный redirect URI на iOS — и пользователь видит браузер вне приложения. По нашей статистике, приложения с OneTap показывают конверсию входа на 30% выше, чем с классической формой. Мы подготовили детальное руководство по интеграции нового SDK на iOS и Android, чтобы переход прошёл безболезненно.
Почему VK ID лучше старого VK SDK?
Новый SDK решает ключевые проблемы старого:
- OneTap-авторизация: если на устройстве установлено приложение ВКонтакте, пользователь может войти в один клик без ввода пароля. Конверсия авторизации вырастает в среднем на 30%.
- Автоматический refresh токенов: больше не нужно писать собственный механизм обновления — SDK делает это сам. Экономия времени разработки — до 40%.
- Улучшенная безопасность: используется PKCE-протокол, что исключает перехват кода авторизации.
Старый VKSdk deprecated, и ВКонтакте рекомендует полностью перейти на VKID. Игнорирование этого требования может привести к отказу в публикации обновлений в сторах.
| Характеристика | VKID | VK SDK (старый) |
|---|---|---|
| OneTap | Да | Нет |
| PKCE | Обязателен | Опционален |
| Refresh токена | Автоматический | Вручную |
| Поддержка | Актуальная | Deprecated |
| Совместимость с новыми требованиями сторов | Да | Нет |
Как интегрировать VKID на iOS?
Установка через Swift Package Manager:
https://github.com/VKCOM/vkid-ios-sdk Далее создаём конфигурацию SDK:
let vkid = VKID(config: .init(appCredentials: .init(clientId: "YOUR_CLIENT_ID", clientSecret: "YOUR_CLIENT_SECRET"))) Для OneTap используйте OneTapBottomSheet. В Info.plist добавьте URL Scheme vk{client_id} для редиректа. После авторизации SDK возвращает access token и user ID. Для получения профиля вызывайте VK API: users.get с полями photo_200,screen_name.
Как интегрировать VKID на Android?
Добавьте зависимость в Gradle:
implementation "com.vk.id:vkid:latest" Настройте Intent Filter в AndroidManifest.xml:
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="vk{client_id}" android:host="vk.com" android:pathPrefix="/blank.html" /> </intent-filter> Инициализация:
val vkid = VKID(config = VKIDConfig(clientId = "YOUR_CLIENT_ID", clientSecret = "YOUR_CLIENT_SECRET")) Для OneTap используйте OneTapButton в Compose. После авторизации токен сохраняется и автоматически обновляется.
Основные шаги интеграции
| Этап | Длительность | Действия |
|---|---|---|
| Анализ | 1 день | Проверка текущей архитектуры, определение точек интеграции |
| Настройка SDK | 2-3 дня | Установка, конфигурация URL Scheme/Intent Filter, OneTap |
| Серверная верификация | 1 день | Настройка проверки токенов через secure.checkToken |
| Тестирование | 1-2 дня | Проверка всех сценариев: OneTap, браузерный flow, refresh, ошибки |
| Деплой | 1 день | Подготовка сборок, code signing, отправка на модерацию |
Что входит в работу по интеграции VK ID
Мы предоставляем полный цикл услуг:
- Анализ текущей архитектуры — оцениваем, как сейчас реализована авторизация (если есть) и что нужно изменить.
- Интеграция VKID SDK — настраиваем OneTap и браузерный flow на обе платформы.
- Серверная верификация — настраиваем проверку токенов на бэкенде через метод
secure.checkToken. - Документация — передаём инструкции по сборке, конфигурации и поддерживанию.
- Обучение команды — проводим код-ревью и объясняем ключевые моменты.
Процесс работы
- Аналитика — изучаем ваше приложение, определяем точки интеграции.
- Проектирование — разрабатываем архитектуру авторизации с учётом текущего стека.
- Интеграция — устанавливаем и настраиваем VKID SDK на iOS и Android.
- Тестирование — проверяем все сценарии: OneTap, браузерный поток, refresh токена, обработку ошибок.
- Деплой — подготавливаем сборки для App Store и Google Play с корректными provisioning profile и code signing.
Чек-лист перед деплоем
- [ ] URL Scheme и Intent Filter настроены корректно
- [ ] PKCE включён и работает
- [ ] Серверная верификация токенов настроена
- [ ] App Store Review Guidelines раздел 4.2 и 5.1 соблюдены
- [ ] Google Play Console политики безопасности выполнены
Типичные ошибки при интеграции
- Неверно настроенный URL Scheme или Intent Filter — авторизация не возвращается в приложение.
- Отсутствие
client_secret— токен не обновляется, сессия истекает. - Игнорирование PKCE — безопасность снижена, возможна блокировка приложения сторами.
- Неправильный запрос к VK API — данные профиля не передаются.
Мы гарантируем, что ваша интеграция будет соответствовать всем требованиям VKID SDK Documentation и пройдёт модерацию в сторы. Опыт нашей команды — 5+ лет в мобильной разработке и более 20 проектов с VK API. Получите бесплатную консультацию и оценку вашего проекта — свяжитесь с нами, чтобы начать интеграцию.







