Apple Push Notifications - enregistrer ton application (partie 1/4)

· Fonctionnalités

La bibliothèque sgcWebSockets prend en charge le protocole HTTP/2 dans les composants côté serveur et client. Apple Push Notifications ne permet d'envoyer des push notifications qu'à partir d'un Server Provider utilisant le protocole HTTP/2, donc dans les articles qui suivent je vais montrer comment envoyer des push notifications avec la bibliothèque sgcWebSockets.

Le Server Provider (qui envoie les push notifications aux appareils des utilisateurs) doit connaître le device token vers lequel les messages seront livrés. Un Device Token est un identifiant unique associé à un appareil et à une application. 

Avec Rad Studio, tu peux récupérer l'identifiant du device token via l'unité FMX.PushNotification.iOS. Le concept est assez simple : l'appareil ouvre une nouvelle connexion aux serveurs Apple et obtient un DeviceToken qui sera utilisé par le Server Provider pour envoyer des notifications. Tu trouveras ci-dessous un exemple de code Delphi qui permet de récupérer le Device Token.

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