Push -Benachrichtigung mit Embarcadero Rad Studio Tokyo 10.2.3 auf Android- und Apple -Geräten, die in C ++ und Delphi geschrieben wurden.
Dieses Projekt basiert auf C ++ - Code und Delphi -Code. Die Hauptkernanwendung soll in C ++ unter Verwendung von Delphi -Code als separate Einheiten für das Ergebnis entwickelt werden. Dieses Dokument ist allen, die sich bemüht haben, mithilfe von Embarcadero Rad Studio ihre eigene Push-Benachrichtigung zu erstellen, und es wird auf Version Tokyo 10.2.3 mit einem Android SM-520 (Galaxy A5) und iPhone X (iOS 11.4.1) getestet.
_File benötigt:
• Delphi
Dw.iosapi.usernotifications.pas dw.iosapi.usernotifications.hpp
Dw.remotenotificationSpatch.ios.pas dw.remotenotificationsspatch.ios.hpp
Dw.pushclient.pas dw.pushclient.hpp
Dw.registerfcm.pas dw.registerfcm.hpp
SharedVariables.pas SharedVariables.hpp
• C ++
UNIT1.CPP UNIT1.H
Android. Um Push -Benachrichtigungen auf Android zu senden, müssen Sie ein FireBase Cloud Messaging -Konto erstellen und die Konsole (Login) verwenden, um Ihre eigene App zu erstellen und ihm eine Anwendungskennung zuzuordnen, die in der endgültigen Anwendung (z. B. com.duolabs.mypushApp) iOS gleich sein muss. Auf iOS müssen Sie ein Push -Zertifikat auf Apple Developers -Site erstellen, mit dem Sie Push -Benachrichtigungen an eine bestimmte Anwendung innerhalb derselben Anwendungsdomäne (z. B. com.duolabs.mypushApp) senden können. Benachrichtigungen für Android müssen über ein FCM -Konto und eine Benachrichtigung für Apple verfügen und eine Push -Cerificate haben. Wir werden Push -Nachrichten mit zwei .php -Skripten senden, eine für Android und eine für iOS.
Little Code Erklärung.
C ++ - Code:
Funktionen:
bool __astcall checkinet ();
_Checks Wenn eine Internetverbindung verfügbar ist. Nicht so interessant.
void __fastcall tform1 :: reseendRequestButClick (Tobject *Sender) _Requests für die Anwendung Mobiles Geräte, die über FCM an FCM- und APN -Server und Trigger -Funktion registriert werden soll.
Variablen:
String ServerAppID = L"8189xxxxxxxxx";
FPushClient->GCMAppID = ServerAppID;
FPushClient->ServerKey = L"AAAAxxxxxxx";
FPushClient->BundleID = L"com.duolabs.mypushapp";
FPushClient->UseSandbox = true;
FPushClient->OnChange = &OnServiceConnectionChange;
FPushClient->OnReceiveNotification = &OnReceiveNotificationEvent;
FPushClient->Active = true;
void __fastcall tform1 :: OnserviceConnectionChange (Tobject *Absender, TpushService :: tchanges achange)
_Wenn ein Token empfangen wird. Android -Token wird im FCM -Format (Long String) und Apple Token im Hex -Format (32Bytes) empfangen. Der Apple -Token -Wert wird von Delphi nach C ++ übergeben mit "String apnstoken" in SharedVariables.pas deklariert
void __fastcall tform1 :: ResendRequestButClick (Tobject *Absender)
_Requests für die Anwendung von Mobilgeräten, die über FCM an FCM- und APN -Servern und Trigger -Funktion registriert werden sollen:
void __fastcall tform1 :: OnReceivenotificationEvent (Tobject Sender, tpushservicenotification const Anotification)
_This Funktion löst aus, wenn eine Benachrichtigungsnachricht empfangen wird
• Die Geräte -ID bleibt auf jedem Gerät gleich und wird an APN oder FCM gesendet, um ein Token für die Remote -Push -Benachrichtigung zu erhalten. Jedes Mal, wenn die Anwendung installiert wird (neue Installation). Wenn Sie sich in einem DB registrieren, denken Sie daran, dass Sie es jedes Mal, wenn die mobile Anwendung beginnt, aktualisiert und überprüfen, da sich dies möglicherweise aufgrund einer Neuinstallation der Anwendung geändert hat (Entfernung-> Installation).
• Diese C ++ - Anwendung basiert auf Delphi -Quellcode (Credits für Dave Nottage@ Delphi World). Ein warmes Dankeschön und meine Wertschätzung von Dave Nottage für seine Zeit und Geduld hat es mir ausgezahlt! Vergessen Sie nicht, einen Blick auf seine großartige Website für Delphi -Liebhaber zu werfen !!
• Eine gute Anleitung für die APN-Registrierung finden Sie hier: https://www.raywenderlich.com/584-push-notifications-tutorial-getting-started
• Wir haben beschlossen, FCM SDK nicht zu vermeiden, um zu vermeiden, dass die Tatsache an Google von Googles Diensten verbunden ist, die großartig sind und weiterhin sind, aber mehr Kontrolle über die Push -Benachrichtigung sind, setzt den Entwickler frei, so zu handeln, wie er es will.
Viel Spaß und genießen Sie. Jedes Feedback wird sehr geschätzt. Riccardo Alessi