java.lang.IllegalStateException: объект NotificationsRegistrationHandler поддерживает только OFFLINE, но вызывается через RemoteApplicationServer

Я получаю эту ошибку при выполнении процедуры NotificationsRegistrationHandler при запуске приложения.

java.lang.IllegalStateException: Object NotificationsRegistrationHandler only supports OFFLINE but is being called via RemoteApplicationServer

Как сказано в документации:

Если у вас полностью автономное приложение, и вам нужно, чтобы эта процедура обработчика регистрации создавалась исключительно в автономном режиме, задайте для свойства Main свойство = False, а для свойства подключения - = Offline.

Я установил свой основной обработчик регистрации объекта SD для использования этой процедуры.

Я также установил следующие свойства для процедуры NotificationsRegistrationHandler:

Что не так с моим кодом или конфигурацией?

Спасибо, Рохелио Аросемена

2 ответа

Решение

Я нашел альтернативное решение, создав внешний объект на Android, чтобы вернуть One Signal Id. Код был:

OneSignal.idsAvailable(new OneSignal.IdsAvailableHandler() {
@Override
public void idsAvailable(String userId, String registrationId) {
try{
return userId;
}catch(Exception e){                    
e.printStackTrace();
return "";
}
}
});

Регистрация устройства на One Signal прошла нормально в приложении SD. Проблема заключалась в том, что процедура NotificationRegistrationHandler никогда не выполнялась (в автономном режиме или в сети), поэтому мы не можем хранить DeviceToken на нашей таблице.

Мы должны сделать то же самое для IOS с этим кодом:

OSPermissionSubscriptionState status = OneSignal.getPermissionSubscriptionState();

status.getSubscriptionStatus().getUserId();

Рохелио,

Я думаю, что это может быть проблема с автономным режимом. Мы можем проверить это.

В то же время вы можете установить "Поддержка подключения" = "Онлайн", и это должно решить вашу проблему.

Другие вопросы по тегам