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();
Рохелио,
Я думаю, что это может быть проблема с автономным режимом. Мы можем проверить это.
В то же время вы можете установить "Поддержка подключения" = "Онлайн", и это должно решить вашу проблему.