Apple Push Notifications — zarejestruj swoją aplikację (część 1/4)

· Funkcje

Biblioteka sgcWebSockets obsługuje protokół HTTP/2 zarówno po stronie serwera, jak i klienta. Apple Push Notifications pozwala wysyłać powiadomienia push tylko z dostawcy serwera przy użyciu protokołu HTTP/2, więc w kolejnych artykułach pokażę, jak wysłać powiadomienia push przy użyciu biblioteki sgcWebSockets.

Dostawca serwera (który wysyła powiadomienia push do urządzeń użytkowników) musi znać token urządzenia, do którego dostarczane będą wiadomości. Device Token to unikatowy identyfikator powiązany z urządzeniem i aplikacją. 

W RAD Studio identyfikator tokenu urządzenia uzyskasz przy użyciu modułu FMX.PushNotification.iOS. Koncepcja jest prosta: urządzenie otwiera nowe połączenie z serwerami Apple i otrzymuje DeviceToken, którego użyje dostawca serwera do wysyłania powiadomień. Poniżej przykładowy kod Delphi pobierający Device Token.

Kod Delphi 

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;