Ich probiere gerade mit denen rum, weil ich nur eine alte FCM Implementierung noch habe von Delphi 10.2, wo man viel handisch machen musste noch. Delphi hat da jetzt ja wohl einiges angepasst.
ich bin jetzt
diesen Schritten gefolgt, es compiliert, aber dann crasht es bzw. bleibt hängen (mal so, mal so)
Code:
procedure THeaderFooterForm.InitPushNotifications;
var
PushService: TPushService;
ServiceConnection: TPushServiceConnection;
Notifications: TArray<TPushServiceNotification>;
begin
PushService := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.GCM); // <- PushService ist nil nach dem Aufruf
ServiceConnection := TPushServiceConnection.Create(PushService); // <- wird mit nil pointer erstellt, beim active setzen greift er drauf zu
ServiceConnection.Active := True; // <- hier hängt es
ServiceConnection.OnChange := OnServiceConnectionChange;
ServiceConnection.OnReceiveNotification := OnReceiveNotificationEvent;
FDeviceId := PushService.DeviceIDValue[TPushService.TDeviceIDNames.DeviceId];
Memo.Lines.Add('DeviceID: ' + FDeviceId);
Memo.Lines.Add('Ready to receive!');
// Checks notification on startup, if application was launched from cold start
// by tapping on Notification in Notification Center
Notifications := PushService.StartupNotifications;
if Length(Notifications) > 0 then
begin
Memo.Lines.Add('-----------------------------------------');
Memo.Lines.Add('DataKey = ' + Notifications[0].DataKey);
Memo.Lines.Add('Json = ' + Notifications[0].Json.ToString);
Memo.Lines.Add('DataObject = ' + Notifications[0].DataObject.ToString);
Memo.Lines.Add('-----------------------------------------');
end;
end;
Ich habe in den Projekt-Optionen -> Application -> Entitlement List eingestellt, dass ich Push-Nachrichten bekommen möchte, habe auch das JSON file importiert, welches google mir generiert hat.
Trotzdem bleibt PushService nach dem dem Aufruf von TPushServiceManager.Instance.GetServiceByName(TPus hService.TServiceNames.GCM) nil.
Langsam gehen mit die Ideen aus
Habt Ihr welche ?