Apple Push Notifications - Deine App registrieren (Teil 1/4)

· Funktionen

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;