java.lang.IllegalStateException: Object NotificationsRegistrationHandler 仅支持 OFFLINE 但正在通过 RemoteApplicationServer 调用
java.lang.IllegalStateException: Object NotificationsRegistrationHandler only supports OFFLINE but is being called via RemoteApplicationServer
在应用程序启动时执行过程 NotificationsRegistrationHandler 时出现此错误。
java.lang.IllegalStateException: Object NotificationsRegistrationHandler only supports OFFLINE but is being called via RemoteApplicationServer
如文档所述:
If you have a completely offline application and you need this Registration Handler procedure to be generated offline exclusively, set Main property = False and Connectivity Support property = Offline
我已设置我的主要 SD 对象注册处理程序 属性 以使用此程序。
我还在过程 NotificationsRegistrationHandler 上设置了以下属性:
我的代码或配置有什么问题?
谢谢,
罗赫里奥·阿罗塞梅纳
罗杰里奥,
我认为这可能是离线模式的问题。我们可以检查一下。
同时,您可以设置连接支持 = 在线,这应该可以解决您的问题。
我通过在 Android 到 return 一个信号 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 存储在 table.
我们必须使用以下代码对 IOS 执行相同的操作:
OSPermissionSubscriptionState status = OneSignal.getPermissionSubscriptionState();
status.getSubscriptionStatus().getUserId();
在应用程序启动时执行过程 NotificationsRegistrationHandler 时出现此错误。
java.lang.IllegalStateException: Object NotificationsRegistrationHandler only supports OFFLINE but is being called via RemoteApplicationServer
如文档所述:
If you have a completely offline application and you need this Registration Handler procedure to be generated offline exclusively, set Main property = False and Connectivity Support property = Offline
我已设置我的主要 SD 对象注册处理程序 属性 以使用此程序。
我还在过程 NotificationsRegistrationHandler 上设置了以下属性:
我的代码或配置有什么问题?
谢谢, 罗赫里奥·阿罗塞梅纳
罗杰里奥,
我认为这可能是离线模式的问题。我们可以检查一下。
同时,您可以设置连接支持 = 在线,这应该可以解决您的问题。
我通过在 Android 到 return 一个信号 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 存储在 table.
我们必须使用以下代码对 IOS 执行相同的操作:
OSPermissionSubscriptionState status = OneSignal.getPermissionSubscriptionState();
status.getSubscriptionStatus().getUserId();