Apple Push Notifications - Registra la tua app (Parte 1/4)

· Funzionalità

La libreria sgcWebSockets supporta il protocollo HTTP/2 nei componenti lato server e lato client; le Push Notification di Apple consentono di inviare Push Notification da un Server Provider solo tramite il protocollo HTTP/2, quindi nei prossimi articoli mostrerò come inviare push notification usando la libreria sgcWebSockets.

Il Server Provider (che invia le push notification ai dispositivi degli utenti) deve sapere qual è il device token a cui verranno recapitati i messaggi. Un Device Token è un identificatore univoco associato a un dispositivo e a un'applicazione. 

Con RAD Studio puoi ottenere l'ID del device token usando l'unit FMX.PushNotification.iOS. Il concetto è abbastanza semplice: il dispositivo apre una nuova connessione ai server Apple e ottiene un DeviceToken che il Server Provider userà per inviare le notifiche. Di seguito un esempio di codice Delphi con cui puoi ottenere il Device Token.

Codice 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;