Delphi 应用处于 运行 时的 Apple 推送通知
Delphi Apple Push Notification while app is running
我正在使用 Delphi Rad Studio Seattle 10 构建一个 iOS 应用程序。
此应用程序必须接收推送通知。这对我有用,但当应用程序为 运行 时,它会收到任何通知。我做错了什么?
代码如下:
var
APushService: TPushService;
AServiceConnection: TPushServiceConnection;
ADeviceID, AdeviceToken: String;
APushService := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.APS);
AServiceConnection := TPushServiceConnection.Create(APushService);
AServiceConnection.Active := True;
ADeviceID := APushService.DeviceIDValue[TPushService.TDeviceIDNames.DeviceID];
AdeviceToken := APushService.DeviceTokenValue[TPushService.TDeviceTokenNames.DeviceToken];
使用此代码,应用会收到推送通知,但在 运行 时不会。
这是设计使然。当应用程序在前台时,推送通知直接发送到应用程序。如果您希望在这种情况下通知用户,您必须在您的应用中处理此问题。
仅当应用程序不在前台 运行 时,消息才会通过警报或任何已配置的方式显示给用户。然后,用户可以通过点击消息来启动应用程序。
我正在使用 Delphi Rad Studio Seattle 10 构建一个 iOS 应用程序。 此应用程序必须接收推送通知。这对我有用,但当应用程序为 运行 时,它会收到任何通知。我做错了什么?
代码如下:
var
APushService: TPushService;
AServiceConnection: TPushServiceConnection;
ADeviceID, AdeviceToken: String;
APushService := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.APS);
AServiceConnection := TPushServiceConnection.Create(APushService);
AServiceConnection.Active := True;
ADeviceID := APushService.DeviceIDValue[TPushService.TDeviceIDNames.DeviceID];
AdeviceToken := APushService.DeviceTokenValue[TPushService.TDeviceTokenNames.DeviceToken];
使用此代码,应用会收到推送通知,但在 运行 时不会。
这是设计使然。当应用程序在前台时,推送通知直接发送到应用程序。如果您希望在这种情况下通知用户,您必须在您的应用中处理此问题。
仅当应用程序不在前台 运行 时,消息才会通过警报或任何已配置的方式显示给用户。然后,用户可以通过点击消息来启动应用程序。