Ich möchte Android senden Push-Benachrichtigung an den ausgewählten Benutzer ohne zu benutzen gcm oder firebase. Die Anwendung ist bereits ohne Firebase erstellt. Jetzt muss ich auch Push-Benachrichtigungen integrieren.
Frage:
- Wie geht das ohne Firebase?
Eigentlich möchte ich eine Funktion, die, wenn ein Administrator den Wert in dem einen Feld in der Datenbanktabelle eines bestimmten Benutzers aktualisiert, dieser Benutzer eine Push-Benachrichtigung bezüglich des Updates erhält. Wie ist das möglich?
Der Weg ist, einen benutzerdefinierten Dienst zu erstellen https://developer.android.com/reference/android/app/Service.html das die Verbindung über Socket hält oder einen entfernten Server in Intervallen abfragt.
Ich schlage jedoch vor, dass der Firebase-Dienst im Hinblick auf den Batterieverbrauch und insbesondere in Bezug auf die Nutzung des Ruhemodus fortschrittlicher und optimierter ist. Es ist nicht trivial, einen Dienst zu erstellen, der eine schnelle Reaktion und einen schnellen CPU-Verbrauch aufweist. Ich denke, dass eine benutzerdefinierte Dienstentwicklung zu einer nativen (C++) Codierung von Bibliotheken für Netzwerkroutinen führen wird.
Berücksichtigen Sie auch, dass Firebase einen eigenen Authentifizierungsdienst mit der Möglichkeit bietet, Ihren anonymen Benutzer nahtlos in einen registrierten Benutzer umzuwandeln. Es gibt viele Vorteile von Firebase-Diensten. Und die Nachteile sind: Ihre Benutzer müssen Google Play Services installieren, wenn Ihre App wächst – Sie zahlen an Firebase.
Schauen Sie hier Android-Push-Benachrichtigung ohne Google-Dienst
Es ist möglich, die VAPID-Authentifizierung zu verwenden.
Googlen Sie nach VAPID und Sie werden einen sehr verschlungenen Weg finden, der zu der gesuchten Antwort führen könnte.
Es ist definitiv möglich – Sie müssen Firebase nicht verwenden, um Push-Benachrichtigungen zu übermitteln. Sie können Ihre eigene Benachrichtigungslösung einführen oder ein kostenpflichtiges Produkt wie Pushy (pushy.me), die nicht auf Firebase Cloud Messaging angewiesen ist. Vollständige Offenlegung – Ich bin der Gründer und CEO von Pushy.
– Elad Nava
25. August 2018 um 10:10 Uhr
Dies ist eine gute Frage, da wir uns nicht auf andere Dienste verlassen können. Eine versehentliche Kündigung des Kontos würde die Push-Benachrichtigung stoppen.
– ENSATE
6. April 2019 um 21:37 Uhr
@EladNava, ich habe die Dokumentation von Pushy gelesen, sie ist gut geschrieben, aber warum braucht Pushy WRITE_EXTERNAL_STORAGE, um das Token zu speichern, der private Ordner reicht aus, oder?
– ENSATE
6. April 2019 um 21:48 Uhr
Hallo @ENSATE, bitte beachten Sie, dass die WRITE_EXTERNAL_STORAGE-Berechtigung optional ist, aber für die Beibehaltung von Gerätetoken im externen Speicher empfohlen wird, damit unser SDK das eindeutige Token jedes Geräts verfolgen kann, wenn Ihre App auf demselben Gerät neu installiert wird. Wenn diese Berechtigung nicht von Ihrer App angefordert wird, speichert unser SDK das Geräte-Token nur innerhalb der SharedPreferences, die gelöscht werden, wenn Ihre App deinstalliert wird. Dies kann zu einer doppelten Abrechnung für dasselbe Gerät führen, wenn Ihre App neu installiert wird, da wir keine andere Möglichkeit haben, das vorherige Geräte-Token nach der Neuinstallation der App zu identifizieren.
– Elad Nava
7. April 2019 um 2:03 Uhr
@Gudin Frage des Benutzers ist völlig legitim. Für diejenigen, die fragen: “Warum nicht Firebase?” … Nun, niemand gibt Ihnen nichts umsonst. Solange Ihre Anwendung wächst, müssen Sie sie bezahlen … viel! Möchten Sie ein Beispiel? Verwenden Sie die Google Maps-API und kommen Sie hierher zurück, wenn Sie eine 14.000-Rechnung erhalten. Ich würde mein Geschäft nicht auf Dienstleistungen von Drittanbietern aufbauen, ohne einen Plan B zu haben. Das gleiche Konzept betrifft die magische Welt von AWS. Ich bevorzuge immer dedizierte Server. Wahrscheinlich wird mein Unternehmen nicht wie die Großen wachsen, aber zumindest wird es nicht von ihrem Geschäft abhängen. Pläne, die auf Verkehr basieren, sind scheiße.
– Marcello Kad
28. Juli 2019 um 15:16 Uhr