我开发了一个使用推送通知的应用程序。在Android上,我收到来自pushRegistered(String deviceId)方法的deviceId,推送通知效果很好。在iOS上,它不起作用。我用includePush=true获得了iOS证书,在构建提示中有includePush=true。当我运行应用程序时,pushRegistered(String deviceId),pushRegistrationError(String error,int errorCode)方法什么也不做。下面是测试代码。我应该怎么做/检查才能收到deviceId?
@Override
public void registeredForPush(String deviceId) {
this.deviceId = "registered id: " + deviceId; //TODO delete
new DLG02GeneralInfo("PUSH REGISTRATION", "deviceId: " + deviceId, "OK", null).show();
}
@Override
public void pushRegistrationError(String error, int errorCode) {
new DLG02GeneralInfo("PUSH REGISTRATION ERROR", "error: " + error + " errorCode: " + errorCode , "OK", null).show();
}发布于 2019-11-20 22:45:51
我发现了问题所在。为了让iOS应用注册推送通知的设备,需要在main类的start()方法中添加下面这行代码:
Display.getInstance().callSerially(() -> Display.getInstance().registerPush());
Android通知不需要这行代码就可以工作。
发布于 2019-11-19 09:52:16
如果调用了registeredForPush,一切都应该是好的。但是你不应该使用deviceId。使用Push.getPushKey(),一旦调用registeredForPush,它将返回一个有效的结果。
https://stackoverflow.com/questions/58917366
复制相似问题