Разбираемся
Что такое Flash Call и чем отличается обратный Flash Call
Flash call — подтверждение номера телефона сбрасываемым звонком вместо SMS-кода. Термин описывает два зеркальных сценария, и их постоянно путают. При обычном flash call звонит сервис, а приложение считывает номер входящего вызова — для этого ему нужен доступ к журналу вызовов. При обратном (reverse) flash call звонит сам пользователь, и никаких разрешений не требуется, поэтому сценарий работает и в браузере, и на iOS.
Термин flash call встречается в двух противоположных значениях, и разница между ними определяет, заработает сценарий в вашем продукте или нет. Разбираем оба, чтобы при разговоре с провайдером было понятно, о чём именно речь.
Что такое flash call простыми словами
Flash call — это подтверждение номера телефона с помощью короткого вызова, который сбрасывается до ответа. Соединение не устанавливается, разговора не происходит, тарификация как за разговор не наступает. Полезную информацию несёт не содержание звонка, а сам факт вызова и номер, который при этом определился.
Название переводится буквально: flash — «вспышка», call — «вызов». То есть «вызов-вспышка», мелькнувший звонок. В русских текстах пишут по-разному — флеш колл, флэш колл, флешколл, — и все варианты означают одно и то же. Встречается также описательное «звонок-сброс».
Смысл в сравнении с SMS: там нужно доставить сообщение и заставить пользователя переписать код, здесь достаточно установить и оборвать вызов. Меньше шагов, меньше зависимости от доставки.
Синоним, который стоит знать, — call to auth (иногда call2auth), «звонок для аутентификации». Термин описывает ту же идею: вызов вместо кода как способ подтвердить владение номером. В маркетинговых материалах он встречается наравне с flash call.
Как работает обычный flash call
Направление вызова: сервис звонит пользователю.
- Пользователь вводит номер в приложении.
- Сервис инициирует вызов на этот номер с заранее известного номера и сразу сбрасывает.
- Приложение видит входящий вызов и считывает номер звонившего.
- Последние цифры этого номера играют роль кода: приложение подставляет их само либо просит пользователя ввести.
Схема выглядит изящно, но у неё есть жёсткое ограничение: приложению нужен доступ к журналу вызовов. Это чувствительное разрешение, и платформы его ограничивают. В Google Play выдача разрешения на журнал вызовов требует обоснования и проходит отдельную проверку, а в iOS публичного интерфейса для чтения журнала нет вовсе. В браузере такой сценарий невозможен по определению — веб-страница к журналу вызовов доступа не имеет.
На практике это означает, что обычный flash call применим в одном случае: Android-приложение с одобренным разрешением. Всё остальное — веб, iOS, мобильная версия сайта — остаётся за бортом.
Что такое обратный (reverse) flash call
Направление вызова: пользователь звонит сервису.
- Пользователь вводит номер в форме.
- Сервис выдаёт выделенный номер и показывает его пользователю.
- Пользователь звонит на этот номер со своего телефона. Отвечать не нужно — соединение сбрасывается автоматически.
- Сервис определяет номер вызывающего абонента и сопоставляет вызов с ожидающей проверкой.
Ключевое следствие: читать ничего не нужно. Звонок приходит к сервису, и он видит его на своей стороне — никакого доступа к журналу вызовов или сообщениям на устройстве пользователя не требуется. Поэтому сценарий одинаково работает в мобильном приложении, в мобильном браузере и на десктопе, и не упирается в политики магазинов приложений.
Именно по этой схеме работает FlashCall. Подробный разбор механизма — в статье про подтверждение номера телефона звонком.
Обычный и обратный flash call: сравнение
| Обычный flash call | Обратный flash call | |
|---|---|---|
| Кто звонит | сервис пользователю | пользователь сервису |
| Что служит доказательством | входящий вызов на номер | исходящий вызов с номера |
| Разрешения приложению | доступ к журналу вызовов | не нужны |
| Работает в браузере | нет | да |
| Работает на iOS | нет | да |
| Что делает пользователь | ничего либо вводит цифры номера | нажимает вызов |
| Основной риск | отказ в разрешении, ограничения магазинов | номер вызывающего не определяется |
| Строгость доказательства | подтверждает приём вызова | подтверждает совершение вызова |
Последняя строка часто остаётся за кадром, а она содержательна: исходящий вызов доказывает больше, чем входящий. Принять вызов на номер проще, чем совершить вызов с него.
Что выбрать
Ответ зависит от того, где живёт ваш продукт.
- Только Android-приложение, разрешение уже есть — обычный flash call допустим, пользователь не делает вообще ничего.
- Есть веб-версия или iOS — обычный flash call не покроет их, нужен обратный.
- Хочется одну реализацию на все платформы — обратный, других вариантов нет.
- Не хочется зависеть от политик магазинов — обратный: он не запрашивает чувствительных разрешений и не рискует при очередном ужесточении правил.
Сравнение с SMS по стоимости и доставляемости — в материале flash call или SMS. Особенности реализации на мобильных — в статье про подтверждение номера в приложении.
Где применяется
Механизм один, а поводов подтвердить номер несколько:
- Регистрация — отсечь фейковые аккаунты, см. регистрацию по звонку.
- Вход в аккаунт — вместо пароля или как второй фактор, см. авторизацию по звонку.
- Подтверждение операции — смена реквизитов, оформление заказа.
- Проверка контакта — перед доставкой или публикацией объявления, см. сценарии по отраслям.
Общее ограничение у обеих схем одно и о нём стоит помнить при планировании: они работают, пока номер вызывающего абонента передаётся сетью, и в пределах той страны, чьи номера есть в пуле провайдера.
Частые вопросы
- Как правильно писать — flash call, flashcall или флеш колл?
Все написания встречаются и означают одно и то же. В англоязычной документации чаще «flash call» в два слова, в русских текстах — «флеш колл», «флэш колл» и слитное «флешколл». Устоявшейся нормы для русского написания нет.
- Flash call — это то же самое, что звонок-сброс?
Да, «звонок-сброс» и «сбрасываемый вызов» — русские описательные названия того же механизма. Общее у всех вариантов одно: соединение не устанавливается, разговор не происходит, а информацию несёт сам факт вызова и номер.
- Почему обычный flash call не работает в браузере?
Потому что он требует прочитать номер входящего вызова из журнала, а веб-страница к журналу вызовов доступа не имеет и иметь не может. Это ограничение самой платформы, а не конкретной реализации.
- Обратный flash call дороже обычного?
Не по природе механизма — обе схемы это один короткий вызов. Разница в модели тарификации у конкретного провайдера: важнее не тип flash call, а списывают ли деньги за попытку или за результат.