Wenden wir nun an, was wir in den letzten Vorlesungen in unserem Shop-Projekt gelernt haben, das wir für all diesen Kurs erstellt haben.
Hier habe ich dieses Projekt mit React Navigation Five so oft in einem Abschnitt integriert, in dem ich zeige, wie man ein Upgrade
durchführt, um auf React Navigation 5 zu reagieren.
Und ich habe nichts anderes geändert.
Das ist also die App, wie wir sie kennen, die auf den Simulatoren läuft.
Und Liebes, wir können hier natürlich ein Konto mit einigen Anmeldeinformationen erstellen.
Zuerst muss ich mich anmelden.
Und jetzt können wir hier Produkte hinzufügen und so weiter.
Jetzt ist meine Idee tot, als wir hier ein Produkt hinzufügen.
Wir speichern das Produkt nicht nur mit allen Daten, die wir bisher hochladen. Wenn wir ein
Produkt erstellen, teilen wir Titel, Beschreibung und Bild.
Sie sind El Price und Eigentümer I. D. D. Stattdessen möchte ich nicht nur all das teilen,
sondern auch den Push-Token vom Gerät des Benutzers hinzufügen, der sein Produkt hinzugefügt hat.
Um Tolkan vom Verkäufer abzuhalten, möchte ich das auch dem Produkt hinzufügen.
Warum?
Wenn wir die Produktdaten abrufen, können wir auch das Push-Token herunterladen, das zu einem Produkt gehört.
Und obwohl wir es den anderen Benutzern nicht zeigen, verwenden wir es im Code, um sicherzustellen, dass wir beim
Aufgeben einer Bestellung und beim Hinzufügen einer Bestellung nicht nur speichern.
Papa hat Daten in der Datenbank bestellt, aber wir senden auch eine Push-Benachrichtigung an den Besitzer des Produkts, das
gerade bestellt wurde, und teilen ihm mit, dass das Produkt bestellt wurde.
Das ist meine Idee hier.
Das bedeutet natürlich, dass wir die Artikel im Warenkorb analysieren müssen und dann grundsätzlich für
jedes Produkt eine Push-Benachrichtigung senden müssen.
Das ist meine Idee.
Damit Schulden sicherstellen können, dass dies funktioniert, müssen wir uns zunächst vorbereiten.
Projekt für Push-Benachrichtigungen.
Das bedeutet, dass wir zuallererst zu App Jason gehen und diesen Android-Eintrag hier hinzufügen sollten,
wo wir sagten, dass die nächste Benachrichtigungs-API auf true gesetzt ist.
Das habe ich Ihnen auch in den anderen Vorträgen gezeigt.
Wir alle müssen den Benutzer um Erlaubnis bitten.
Die Frage ist also, wo wir das machen wollen.
Natürlich, da es Steve ist.
Ersteller eines Produkts, das Push-Benachrichtigungen erhalten soll.
Ich werde um Erlaubnis bitten, bevor wir ein neues Produkt erstellen.
Wir haben also unseren Benutzer, unseren hinzugefügten Produktbildschirm, auf dem wir ein neues Produkt erstellen.
Und dort lösen wir am Ende eine Aktion in der Produktdatei aus, die die James-Datei hier auslöst, um eine Produktaktion
zu erstellen.
Und jetzt meine Ideen, die ich hier um Erlaubnis bitte.
Ich hole dann auch das Token hier ab und dann können wir den ausgehenden Daten, die an den Server gesendet werden, ein
Token hinzufügen.
Lassen Sie uns daher zunächst das Expo-Benachrichtigungspaket und auch die Expo-Berechtigungen installieren.
Und dann verwenden wir beide, so wie wir es in den Vorlesungen in diesem Modul gelernt haben.
Wenn dies hier installiert ist, erstellen Sie ein Produkt, bevor wir etwas anderes tun.
Wir möchten die Benachrichtigungs-API verwenden und müssen dafür alles als Benachrichtigungen importieren.
Von.
Expo-Benachrichtigungen, und das importiert auch schon alles als Berechtigungen aus Expo-Berechtigungen.
Und mit diesen beiden wird die API in create product importiert. Wir können Benachrichtigungen verwenden, um unser Expo-Push-Token zu erhalten.
Wie Sie wissen, wollen wir das jedoch nicht direkt tun.
Stattdessen möchten wir zunächst den Berechtigungsstatus überprüfen, damit wir Berechtigungen verwenden
und Informationen zu diesen Benachrichtigungsberechtigungen erhalten.
Dies gibt ein Versprechen zurück.
Und da wir hier in der asynchronen Funktion sind, können wir es einfach abwarten.
Was wir jetzt zurückbekommen, ist ein totes Statusobjekt, das diese Statuseigenschaft hat, die uns sagt, ob eine Berechtigung
erteilt wurde oder nicht.
So können wir prüfen, ob Statusobjekt.
Der Status von DOT wird möglicherweise nicht gewährt, was bedeutet, dass wir noch keine Berechtigungen haben.
Dann möchten wir die Berechtigungs-API erneut verwenden, um diese Benachrichtigungsberechtigung anzufordern.
Mit diesem Code.
Und das war alles genau das, was wir vorher hatten.
Jetzt nur mit asynchronem Warten statt dann.
Aber anders als das ist es das gleiche.
Und hier bekommen wir wieder unseren Status.
Objekt.
Nun, da wir einen Namenskonflikt haben würden, seid ihr alle dieses Jahr benannt.
Statusobjekt aktualisiert.
Und natürlich sollten wir hier auch warten, denn Papa ist synchron und es gibt ein Versprechen zurück.
Zu diesem Zeitpunkt können wir hier also überprüfen, ob das aktualisierte Statusobjekt einen Status hat.
Das ist nicht gleich selbstverständlich.
In diesem Fall wissen wir, dass wir keine Push-Benachrichtigungen senden können.
Und Papa ist absolut in Ordnung.
Ich werde hier einfach eine Token-Variable erstellen und das Token hier gleich Knol setzen, um deutlich zu machen, dass wir hier
einfach kein Token haben.
Nennen wir das Token eigentlich nicht, da wir diesen Namen bereits verwendet haben.
Nennen wir es.
Token drücken.
Weil Papa das ist, was wir am Ende abrufen wollen.
Deshalb setzen wir uns hier auf null, wenn wir absolut keine Erlaubnis erhalten haben, weil wir in diesem Fall
nichts tun können, weil wir dann einfach keine Erlaubnis haben, Push-Benachrichtigungen zu senden.
Es ist was es ist.
Aber im Fall der ELT wird Papa gewährt.
In diesem Fall können wir unser Push-Token gleich der Benachrichtigung setzen, dass Stotz XPO Push erhält, Tolkan async und das ist
natürlich ein Versprechen.
Also sollten wir das abwarten.
Und natürlich bekommen wir den Token nicht direkt.
Stattdessen erhalten wir ein Objekt mit einem Datenfeld, wenn Sie sich erinnern.
Und so könnten wir dies hier in Klammern setzen und Daten dazu aufrufen.
Das bedeutet einfach, dass dieses Versprechen zunächst einmal gelöst wird.
Dann rufen wir Daten für das aufgelöste Objekt auf, nachdem wir darauf gewartet haben, dass es den Wert in den Daten verspricht und
anzeigt, die wir dann in der Push-Token-Variablen speichern.
Hier haben wir also unseren Push-Token, den wir brauchen.
Wenn wir das haben, können wir weitermachen.
Und da haben wir gewartet.
Dieser Code wird erst ausgeführt, wenn Papa fertig ist.
Diese Zeile sollte jetzt natürlich entfernt werden.
Und jetzt senden wir mit den Daten, die wir an den Server gesendet haben, nicht nur die Titelbeschreibung, den
Eigentümer I. D. D. , aber auch der Besitzer Push Token.
Und das wird unser Push-Token hier sein.
Und das ist entweder jetzt oder es ist unser Token, das wir von XPO erhalten haben.
Wenn wir jetzt ein neues Produkt erstellen, können wir im Idealfall unseren Push-Token mitschicken.
Nun, das ist Tolkan und all das funktioniert nicht mit Simulatoren, wie Sie gelernt haben.
Also, Dan, für alle Sicherheiten und wieder ist der Test auf meinem echten iPhone.
Also habe ich meine App wieder hier hochgefahren und mich gerade mit dem Benutzer angemeldet, den wir erstellt haben.
Und jetzt werde ich unter Admon einen neuen Produkt-Push erstellen.
Tolkan.
Jetzt müssen wir uns vorstellen, dass Sie el sind.
Und ich habe gerade ein zufälliges Bild aufgenommen.
Und Ellender, ein Preis hier.
Und eine Beschreibung.
Und dies bestätigt und ich erhalte eine Fehlermeldung, Papa, das aktualisierte Statusobjekt wurde nicht gefunden und die Verschuldung ist
sinnvoll, da ich dies hier in einem Scheck setze, aber dann verwende ich es außerhalb des sicheren Schecks
.
Das hat natürlich den falschen Umfang, wenig Versehen von meiner Seite.
Wir können dies beheben, indem wir das Statusobjekt hier oben tatsächlich wiederverwenden, indem wir es stattdessen mit let in eine Variable
umwandeln.
Dann setzen wir hier einfach unser Statusobjekt auf einen neuen Wert und verwenden dann wieder state als Objekt.
Hier ist wenn überprüfen.
Jetzt ist der Umfang richtig und das wird funktionieren.
Versuchen wir es also noch einmal.
Drücken Sie, testen Sie das eingefügte Bild, das ausgewählt hat, fügen Sie einen Preis und eine Beschreibung ein.
Dies ist ein Test.
Dann schließen Sie, um dies zu bestätigen.
Und jetzt scheint das zu funktionieren.
Ich habe mein Produkt hinzugefügt.
Und was jetzt interessant sein wird, ist unsere Datenbank.
Hier ist meine FIREBASE-Datenbank.
Also das Backend, das wir verwenden und ein neues Produkt wurde hier hinzugefügt.
Und tatsächlich sehen wir hier wieder unseren Push-Token.
Ich habe ein Overlay über meinem eigentlichen Geräte-Token hinzugefügt.
Dies ist jetzt ein Push-Token, mit dem wir eine Benachrichtigung an den Benutzer senden können, der dieses Produkt erstellt hat.
Lassen Sie uns nun an diesem anderen Teil arbeiten und sicherstellen, dass wir tatsächlich eine Benachrichtigung senden, sobald
wir tatsächlich ein Produkt bestellen.