Einzelnen Beitrag anzeigen

Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
675 Beiträge
 
Delphi 10.4 Sydney
 
#1

10.4 : Android FCM PushNotifications

  Alt 18. Sep 2020, 10:00
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 ?
  Mit Zitat antworten Zitat