Перейти к основному содержимому

Сигналы ошибок | Документация для разработчиков

Сигналы ошибок

Обновлено: 6 февраля 2026 г
Предстоящее устаревание: начиная с 15 апреля 2026 года, PendingIntentдля шаблонов аутентификации будет признан устаревшим. Если вы в настоящее время используете PendingIntent для инициирования установления соединения или проверки подлинности приложения, OTP Android SDK предпочтительным способом перехода является использование
В Android SDK OTP представлен упрощенный рабочий процесс для реализации шаблонов аутентификации в одно касание и без касаний. Ниже вы можете узнать, как его использовать.
В этом документе описываются сигналы ошибок, характерные только для Android, которые могут помочь в отладке шаблонов аутентификации с автозаполнением в одно касание и шаблонов аутентификации без касания.
Если ваше сообщение не пройдет проверку на соответствие требованиям, кнопка автозаполнения в одно касание будет заменена кнопкой копирования кода. Кроме того, могут существовать настройки устройства или клиента WhatsApp, которые блокируют уведомления о сообщениях. Для облегчения отладки наши приложения отображают некоторую информацию об ошибках через com.whatsapp.OTP_ERROR . В таких ситуациях вы получите ключ ошибки и сообщение вместо одноразового пароля или кода подтверждения пользователя.
Обратите внимание, что некоторые из этих сообщений об ошибках появятся только в том случае, если вы запускаете WhatsApp в эмуляторе Android.
Ключ Описание
неоднозначный_пункт_доставки
Только эмулятор
Неясный адрес доставки
Для пакетов, указанных в этом шаблоне, имеется несколько активных запросов OTP, и мы не смогли определить, какому пакету следует доставить код.
шаблона, supported_apps инициировали процедуру установления соединения (отправили com.whatsapp.otp.OTP_REQUESTED ) в течение последних 10 минут.
несовместимая_версия_операционной системы
Несовместимая версия Android

Это может произойти, если вы инициируете рукопожатие (отправляете com.whatsapp.otp.OTP_REQUESTED ), но на устройстве установлена ​​версия Android старше v19.
неправильный_хеш_подписи
Только эмулятор
Неверный хеш подписи

Это может произойти, когда вы инициируете рукопожатие (отправляете com.whatsapp.otp.OTP_REQUESTED ), и наше приложение получает сообщение с шаблоном аутентификации, использующее кнопку автозаполнения в одно касание, но имя пакета в сообщении не генерирует хэш подписи сообщения.
отсутствует_рукопожатие_или_расстройство
Отсутствует рукопожатие / Порядок действий

Это может произойти, когда наше приложение получает сообщение с шаблоном аутентификации, содержащее кнопку автозаполнения в одно касание, но рукопожатие не было инициировано.
otp_request_expired
Запрос OTP истек

Это может произойти, когда пользователю предоставляется шаблон аутентификации с кнопкой автозаполнения в одно касание, но с момента начала подтверждения прошло более 10 минут (или количество минут, указанное в code_expiration_minutes , если оно присутствует). В этой ситуации вместо этого отображается кнопка копирования кода.
whatsapp_message_notification_disabled
Только эмулятор
Уведомления о сообщениях отключены в настройках WhatsApp

Это может произойти, когда вы инициируете рукопожатие (отправляете com.whatsapp.otp.OTP_REQUESTED ), но пользователь отключил уведомления в приложении WhatsApp или WhatsApp Business (в настройках приложения).
whatsapp_notification_disabled
Только эмулятор
Уведомления WA отключены на уровне устройства

Это может произойти, когда вы инициируете рукопожатие (отправляете com.whatsapp.otp.OTP_REQUESTED ), но пользователь отключил уведомления для наших приложений (в настройках устройства).

Интеграция

Сигналы об ошибках передаются посредством широковещательного намерения, поэтому BroadcastReceiverинтерфейс для прослушивания сигналов об ошибках
В файле manifest.xml
<receiver android:name=".app.otp.OtpErrorReceiver" android:enabled="true" android:exported="true" > <intent-filter> <action android:name="com.whatsapp.otp.OTP_ERROR"/> </intent-filter> </receiver>
Класс приемника — с использованием SDK (предпочтительно)
Реализуйте метод onReceive и используйте WhatsAppOtpIncomingIntentHandler для обработки отладочных сигналов.
publicclassOtpErrorReceiverextendsBroadcastReceiver{@Overridepublicvoid onReceive(Context context,Intent intent){WhatsAppOtpIncomingIntentHandler whatsAppOtpIncomingIntentHandler =newWhatsAppOtpIncomingIntentHandler();
     whatsAppOtpIncomingIntentHandler.processOtpDebugSignals(
                          intent,// ваша функция для обработки сигнала(debugSignal)-> handleSignal(debugSignal),// ваша функция для обработки любой ошибки(error, exception)-> handleError(error, exception));}}
Класс приемника — без SDK
publicclassOtpErrorReceiverextendsBroadcastReceiver{publicstaticfinalString OTP_ERROR_KEY ="error";publicstaticfinalString OTP_ERROR_MESSAGE_KEY ="error_message";@Overridepublicvoid onReceive(Context context,Intent intent){String otpErrorKey = intent.getStringExtra(OTP_ERROR_KEY);String otpErrorMessage = intent.getStringExtra(OTP_ERROR_MESSAGE_KEY);// Обработка ошибок}}