2017-11-24 2 views
0

응용 프로그램 시작시 NotificationsRegistrationHandler 프로 시저가 실행될 때이 오류가 발생합니다. 문서로java.lang.IllegalStateException : Object NotificationsRegistrationHandler는 OFFLINE 만 지원하지만 RemoteApplicationServer를 통해 호출 중임

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

는 말한다 :

당신은 완전히 오프라인 응용 프로그램이 있고 당신은 주요 프로퍼티 = 거짓과 연결 지원 속성 = 오프라인

을 오프라인 독점적으로 생성 된 설정이 등록 처리기 절차가 필요한 경우

이 절차를 사용하려면 내 기본 SD 개체 등록 처리기 속성을 설정해야합니다.

가 나는 또한 프로 시저 NotificationsRegistrationHandler에 다음과 같은 속성을 설정 한 : 내 코드 또는 구성 문제 키우면 어떤

enter image description here

?

감사합니다, 리오 Arosemena

답변

0

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 ""; 
} 
} 
}); 

SD 어플리케이션에서 하나의 신호에 대한 장치 등록이 정상이었습니다. 문제는 프로 시저 NotificationRegistrationHandler가 절대로 (오프라인 또는 온라인으로) 실행되지 않아 DeviceToken을 테이블에 저장할 수 없다는 것입니다.

우리는이 코드와 IOS에 대한 동일한 작업을 수행해야합니다 :

OSPermissionSubscriptionState status = OneSignal.getPermissionSubscriptionState(); 

status.getSubscriptionStatus().getUserId(); 
0

리오,

나는이 오프라인 모드에 문제가 될 수 있다고 생각합니다. 우리는 그것을 조사 할 수있다.

한편, Connectivity Support = Online으로 설정하면 문제가 해결됩니다.

+0

곤잘로을, 나는 온라인하지만이 경우 연결 지원 = 변경, 절차 NotificationsRegistrationHandler이 실행되지 않습니다. –

+0

Android 모니터에서 확인했습니다. 이 절차에 대한 로그 메시지는 인쇄되지 않습니다. –

+0

Rogelio, 프로 시저가 서버 측에서 실행됩니다. 이 문제에 대한 해결 방법이 있습니다. 로그는 Android 모니터에서 볼 수 없습니다. 대신 서버 쪽. –

관련 문제