Die sgcWebSockets-Bibliothek unterstützt das HTTP/2-Protokoll auf Server- und Client-Komponenten. Apple Push Notifications erlaubt das Senden von Push-Benachrichtigungen nur von einem Server Provider über das HTTP/2-Protokoll. In den folgenden Artikeln zeige ich dir, wie du Push-Benachrichtigungen mit der sgcWebSockets-Bibliothek sendest.
Der Server Provider (der die Push-Benachrichtigungen an die Geräte der Nutzer sendet) muss wissen, an welches Device-Token die Nachrichten ausgeliefert werden. Ein Device-Token ist eine eindeutige Kennung, die einem Gerät und einer Anwendung zugeordnet ist.
Mit RAD Studio kannst du die Device-Token-ID über die Unit FMX.PushNotification.iOS ermitteln. Das Konzept ist ganz einfach: Das Gerät öffnet eine neue Verbindung zu den Apple-Servern und erhält ein DeviceToken, das der Server Provider zum Senden von Benachrichtigungen verwendet. Unten findest du einen Beispielcode für Delphi, mit dem du das Device-Token abrufen kannst.
Delphi-Code
oPushService := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.APS);
oPushConnection := TPushServiceConnection.Create(oPushService);
oPushConnection.Active := True;
oPushConnection.OnChange := OnChangeEvent;
oPushConnection.OnReceiveNotification := OnReceiveNotificationEvent;
vDeviceId := oPushService.DeviceIDValue[TPushService.TDeviceIDNames.DeviceID];
vDeviceToken := oPushService.DeviceTokenValue[TPushService.TDeviceTokenNames.DeviceToken];
procedure OnChangeEvent(Sender: TObject; AChange: TPushService.TChanges);
begin
memoLog.Lines.Add('OnChange');
end;
procedure OnReceiveNotificationEvent(Sender: TObject; const ANotification: TPushServiceNotification);
begin
memoLog.Lines.Add('DataKey=' + ANotification.DataKey);
memoLog.Lines.Add('JSON=' + ANotification.JSON.ToString);
memoLog.Lines.Add('DataObject=' + ANotification.DataObject.ToString);
end;
