1 00:00:02,270 --> 00:00:04,340 Arbeiten wir also am bestellenden Teil. 2 00:00:04,370 --> 00:00:10,670 Wenn jetzt eine neue Bestellung aufgegeben wird, möchten wir eine Benachrichtigung senden, eine Push-Benachrichtigung. 3 00:00:11,060 --> 00:00:16,190 Jetzt speichern wir diesen Besitzer, Push Tolkan, den wir zum Senden einer Benachrichtigung benötigen. 4 00:00:16,640 --> 00:00:18,680 Und tatsächlich haben wir zwei Möglichkeiten. 5 00:00:18,710 --> 00:00:26,660 Da dies alles im Back-End ist, können wir diese Anfrage senden, um den Push-Server vom Back-End aus verfügbar zu machen, 6 00:00:26,660 --> 00:00:32,930 entweder mithilfe eines der Expo ESTA-Fälle, die ich Ihnen zuvor gezeigt habe, wie der für 7 00:00:32,930 --> 00:00:40,270 Noad und P HP, je nach welche Sprache Sie in Ihrem Backend verwenden oder einfach das gleiche Alter senden. 8 00:00:40,280 --> 00:00:46,640 Eine TDP-Anfrage, die wir früher von Ihrem Rücken und Ihrem Vater aus der App gesendet haben, wäre ebenfalls eine Option. 9 00:00:47,210 --> 00:00:51,140 Jetzt ist Firebase ein besonderer Rücken und wir besitzen ihn nicht vollständig. 10 00:00:51,530 --> 00:00:56,330 Wir nutzen stattdessen die Dienste, die wir tatsächlich mit Cloud-Funktionen haben. 11 00:00:56,360 --> 00:01:02,420 Es würde einen Dienst geben, mit dem wir serverseitigen Code ausführen können, damit alles funktioniert. 12 00:01:02,660 --> 00:01:06,500 Aber da die Nutzung von Cloud-Funktionen nicht mehr ganz kostenlos ist. 13 00:01:06,800 --> 00:01:08,410 Ich möchte dieses Jahr nicht zeigen. 14 00:01:08,660 --> 00:01:13,250 Ich möchte nur, dass Sie wissen, dass Sie unbedingt Code auf dem Server finden können. 15 00:01:13,460 --> 00:01:20,300 Das würde Sie kosten, Push-Benachrichtigungen von diesem Server aus zu senden, damit diese Auslösung hier auf dem 16 00:01:20,300 --> 00:01:21,290 Server erfolgt. 17 00:01:21,800 --> 00:01:23,840 Jetzt mache ich es über die App und starte. 18 00:01:23,940 --> 00:01:25,490 Der Sonnenuntergang fällt uns hier leichter. 19 00:01:25,670 --> 00:01:27,890 Dies ist jedoch nur eine mögliche Option. 20 00:01:28,490 --> 00:01:34,730 Jetzt sendet die App die Benachrichtigung von innen wie zuvor in der angegebenen Reihenfolge. 21 00:01:34,790 --> 00:01:36,020 Wir wollen es senden. 22 00:01:36,470 --> 00:01:39,020 Und dort haben wir unsere Warenkorbartikel bekommen. 23 00:01:39,680 --> 00:01:41,570 Jetzt bekommen wir die Warenkorbartikel. 24 00:01:41,660 --> 00:01:44,600 Lassen Sie uns einen kurzen Blick darauf werfen, was genau dort drin ist. 25 00:01:45,700 --> 00:01:52,510 Wenn Sie also in den Laden gehen, zu den Bestellungen auf den Kartenbildschirm, haben wir dort seine Aktion ausgelöst. 26 00:01:53,750 --> 00:01:56,360 Die Aktion "Bestellung hinzufügen" mit den Kartenelementen. 27 00:01:56,900 --> 00:02:05,180 Und wenn wir uns unsere Warenkorbartikel ansehen, sehen wir, dass indische Kartenartikel aus unserem Redux-Laden abgerufen werden und Kartenartikel ein 28 00:02:05,780 --> 00:02:13,400 Array sind, in dem wir am Ende Objekte haben, bei denen jedes Objekt ein Produkt hat, das 29 00:02:13,400 --> 00:02:16,550 das Produkt Produktpreis Menge trägt endet am. 30 00:02:17,150 --> 00:02:23,000 Was wir hier brauchen, ist, dass wir auch den Produkt-Push-Token benötigen. 31 00:02:23,180 --> 00:02:29,090 Also das Zeichen des Schöpfers dieses Produkts am Ende und wir können dies aus unserem Zustand heraus bekommen. 32 00:02:31,480 --> 00:02:32,800 Sie sind aus dem Wagen. 33 00:02:34,650 --> 00:02:36,570 Aus den Elementen für diesen Schlüssel. 34 00:02:36,590 --> 00:02:40,460 Also, was wir da oben und da machen, lasst uns nach einem Push-Token suchen. 35 00:02:40,860 --> 00:02:46,320 Dies ist ein Feld, das noch nicht vorhanden sein wird, da wir zunächst einige Änderungen 36 00:02:46,320 --> 00:02:48,540 an unserem Geschäft vornehmen müssen. 37 00:02:48,570 --> 00:02:50,790 Schauen wir uns den Kartenreduzierer an. 38 00:02:52,210 --> 00:02:56,800 Wenn der Karte ein Produkt hinzugefügt wird, erhalten wir hier Informationen zu diesem Produkt. 39 00:02:57,250 --> 00:03:00,880 Und von dort extrahieren wir zum Beispiel den Titel und den Preis. 40 00:03:04,600 --> 00:03:10,030 Und am Ende haben wir seinen Preis und seinen Titel zu unserem Warenkorb hinzugefügt. 41 00:03:10,630 --> 00:03:13,300 Jetzt müssen wir nicht nur den Titel bewerten. 42 00:03:13,360 --> 00:03:15,070 Wir müssen auch Tolkan drängen. 43 00:03:15,580 --> 00:03:18,760 Lassen Sie uns hier den Push extrahieren und dieses Produkt abschreiben. 44 00:03:19,090 --> 00:03:22,060 Fügen Sie zum Beispiel einen Produktpunktschub Tolkan hinzu. 45 00:03:22,540 --> 00:03:26,770 Dies ist auch ein Feld, das für ein Produkt noch nicht vorhanden ist, sich jedoch bald ändern wird. 46 00:03:27,670 --> 00:03:28,900 Und dann können wir diesen Push hinzufügen. 47 00:03:28,900 --> 00:03:33,880 Tolkan, sagen wir, als drittes Argument hier zum Warenkorb. 48 00:03:34,390 --> 00:03:38,950 Und auch hier tut mir leid, es ist natürlich das vierte Argument. 49 00:03:39,850 --> 00:03:43,300 Ich füge dies als viertes Argument zum Kartenelementkonstruktor hinzu. 50 00:03:43,890 --> 00:03:46,760 Jetzt für Papa müssen wir zum Warenkorb-Konstruktor wechseln. 51 00:03:47,080 --> 00:03:54,490 Hier sollte ein Kartenelement diesen Push-Token nicht als viertes Argument erhalten und dann hier gespeichert werden. 52 00:03:54,910 --> 00:03:57,640 Dieser Push-Token ist also gleich Push-Token. 53 00:04:00,580 --> 00:04:06,340 Aber wir sind immer noch nicht da, weil ich das jetzt für jeden Kartengegenstand speichere, aber ich bekomme das. 54 00:04:08,930 --> 00:04:13,460 Von meinem Produkt und einem Produkt hat noch kein Token. 55 00:04:13,790 --> 00:04:20,780 Ja, es gibt eine in Firebase, aber wir rufen diese Daten nicht ab oder verwenden sie nicht in 56 00:04:20,780 --> 00:04:21,830 unserer Client-Site-App. 57 00:04:21,890 --> 00:04:25,640 In dieser reaktiven nativen App stattdessen hier in der. 58 00:04:26,640 --> 00:04:36,120 Produktaktionsdatei hier, Produkte jagen in Aktionen, in denen wir alle Produkte hier abrufen, Produkte abrufen. 59 00:04:36,540 --> 00:04:42,720 Wir extrahieren Dinge wie die Idee, den Titelpreis usw. und erstellen ein neues Produkt basierend 60 00:04:42,720 --> 00:04:45,360 auf unserem Produktmodell mit diesen Informationen. 61 00:04:46,050 --> 00:04:49,260 Nun, hier sollten wir das auch bekommen. 62 00:04:51,220 --> 00:04:52,600 Besitzer Push Tolkan. 63 00:04:53,750 --> 00:05:01,460 Genau wie wir den Besitzer I extrahieren. D. D. Daher möchten wir hier den Push-Token des Eigentümers für die einzelnen 64 00:05:01,460 --> 00:05:02,000 Produkte erhalten. 65 00:05:02,120 --> 00:05:07,070 Und fügen Sie dies beispielsweise als drittes Argument unserem Produktmodell hinzu. 66 00:05:08,760 --> 00:05:12,840 Nun müssen wir zum Produktmodell gehen, hier zum Produktmodell. 67 00:05:12,870 --> 00:05:14,630 Entschuldigung, Produkt und Modelle. 68 00:05:15,270 --> 00:05:22,050 Und als drittes Argument müssen wir jetzt den Besitzer akzeptieren, Tolkan drängen und dies speichern. 69 00:05:22,770 --> 00:05:29,520 Und ich werde dieses Feld Push Tolkan nennen und meinen Besitzer Push Tolkan darin speichern, 70 00:05:29,820 --> 00:05:36,940 weil Push Tolkan der Feldname ist, den ich jetzt auch hier im Wagenreduzierer dort verwendet habe. 71 00:05:36,990 --> 00:05:40,000 Ich greife auf das hinzugefügte Produkt Dot Push Tolkan zu. 72 00:05:40,530 --> 00:05:46,860 Wenn Sie hier den anderen Namen verwenden, um ein Token für ein bestimmtes Produkt abzurufen, müssen Sie hier im 73 00:05:46,860 --> 00:05:48,780 Produktmodell auch einen Gerechtigkeitsnamen eingeben. 74 00:05:50,060 --> 00:05:56,000 Bei all diesen Änderungen stellen wir jedoch sicher, dass wir das Token abrufen, das für jedes Produkt gespeichert 75 00:05:56,000 --> 00:05:56,450 ist. 76 00:05:56,990 --> 00:06:01,220 Und wir verwenden es und speichern es im Frontend, auch in unseren Modellen. 77 00:06:01,700 --> 00:06:04,580 Und wir speichern es in jedem Produktmodell, das wir erstellen. 78 00:06:04,610 --> 00:06:05,840 Jede Produktinstanz. 79 00:06:06,200 --> 00:06:12,140 Und wir speichern es auch in unseren Warenkorbartikeln, die wir hier im Redux-Store in unseren Warenkorb legen. 80 00:06:12,980 --> 00:06:18,200 Jetzt hat jeder Kartengegenstand einen Push-Token und unser Kartengegenstandsmodell. 81 00:06:18,300 --> 00:06:26,600 Alle diese Geschäfte, die sich in einem Schlüssel namens Push-Token befinden und daher jetzt endlich in der Lage sind, diese Daten zu erhalten, wenn 82 00:06:26,600 --> 00:06:28,100 eine Bestellung aufgegeben wird. 83 00:06:31,170 --> 00:06:37,560 Jetzt müssen wir nicht nur aktualisieren, wie wir Produkte hier in den Produkten G erstellen. S. fallen in, fallen die Aktionen, aber auch in 84 00:06:37,560 --> 00:06:42,540 den Reduzierern, in den Produkten, G. S. Datei in Reduzierungen. 85 00:06:42,910 --> 00:06:48,990 Dort müssen wir einen Produktfall erstellen, den wir bearbeiten, in dem wir auch unser Produkt instanziieren. 86 00:06:50,210 --> 00:06:57,620 Jetzt, da wir unser Produktmodell geändert haben, um Tolkan als drittes Argument hier zu verwenden, müssen 87 00:06:57,620 --> 00:07:00,050 wir natürlich auch hier aktualisieren. 88 00:07:00,530 --> 00:07:01,430 Also hier. 89 00:07:03,020 --> 00:07:09,470 Das dritte Argument, der Titel sollte nicht mehr der Titel sein, sondern aus unseren 90 00:07:09,470 --> 00:07:10,820 Produktdaten stammen. 91 00:07:11,510 --> 00:07:13,220 Und da sollte es sein, Tolkan zu schieben. 92 00:07:14,600 --> 00:07:21,140 Bei Schulden müssen wir natürlich überprüfen, wohin wir das Produkt erstellen, um sicherzustellen, dass 93 00:07:21,140 --> 00:07:26,570 die Aktion, die Produktdaten hinzufügt, diesen Produktdaten auch ein Push-Token hinzufügt. 94 00:07:28,810 --> 00:07:32,560 Dort unten erstellen wir auch ein neues Produkt, ein Update-Produkt. 95 00:07:32,620 --> 00:07:33,850 Und da ist es das gleiche. 96 00:07:34,650 --> 00:07:41,740 Das neue dritte Argument, das wir hier im Produktkonstruktor erhalten, sollte in diesem Fall Statusbenutzerprodukte 97 00:07:41,740 --> 00:07:44,340 für den angegebenen Produktindex sein. 98 00:07:45,100 --> 00:07:53,560 Und dann ist es wieder Push Tolkan, Push, Tolkan ist der Name, den wir hier haben, weil Papa hier auf 99 00:07:53,560 --> 00:08:00,430 ein Produkt zugreift, das in unserem Benutzerproduktfeld gespeichert ist, und dieses Produkt muss aus unserem Produktmodell 100 00:08:00,430 --> 00:08:00,880 bestehen. 101 00:08:01,180 --> 00:08:03,310 Und dort habe ich Push Tolkan als Namen gewählt. 102 00:08:03,610 --> 00:08:06,570 Also gibt es hier auch Push Tolkan als Namen. 103 00:08:12,230 --> 00:08:18,620 Nachdem dies, wie gesagt, wieder zum Produktfall erstellt wurde, müssen wir jetzt zu dem Ort gehen, an 104 00:08:18,620 --> 00:08:23,270 dem diese Aktion ausgelöst wird, um sicherzustellen, dass die richtigen Daten vorliegen. 105 00:08:23,330 --> 00:08:25,820 Das Push-Token wird der Aktion hinzugefügt. 106 00:08:26,750 --> 00:08:32,990 Jetzt sind es die Produkte G. S. Datei im Aktionsordner, und sie erstellen Produktaktion erstellen. 107 00:08:33,290 --> 00:08:37,130 Wo wir versenden, entsteht am Ende eine Produktaktion. 108 00:08:37,550 --> 00:08:43,370 Und deshalb sollten wir hier, um Produktdaten irgendwo in diesem Objekt zu platzieren, sicherstellen, dass wir auch ein 109 00:08:43,370 --> 00:08:44,360 Push-Token hinzufügen. 110 00:08:44,930 --> 00:08:50,360 Und jetzt dient dieser Push-Token-Wert einfach dazu, Tolkan zu pushen, den wir dort bereits verwenden. 111 00:08:50,480 --> 00:08:52,190 Also sollten wir das auch hier speichern. 112 00:08:54,380 --> 00:08:58,970 Und mit Papa stellen wir sicher, dass wir keinen Fehler bekommen, wenn wir ein neues Produkt erstellen. 113 00:08:59,600 --> 00:09:01,400 Sonst würden wir eins bekommen. 114 00:09:03,650 --> 00:09:09,440 Also zurück hier in der Bestellaktionsdatei in der Aktion Auftrag hinzufügen hier. 115 00:09:09,470 --> 00:09:17,480 Wir möchten jetzt unseren Token aus dem Kartenelement herausholen und eine solche Push-Benachrichtigungsanforderung senden. 116 00:09:18,080 --> 00:09:25,220 Möglicherweise nach dem Hinzufügen der tatsächlichen Bestellung auf unserem Server, da das Senden der Push-Benachrichtigung weniger wichtig ist als das Speichern 117 00:09:25,430 --> 00:09:27,170 der Daten auf dem Server. 118 00:09:27,290 --> 00:09:28,550 Ich würde so argumentieren. 119 00:09:28,610 --> 00:09:32,150 Dhafer, nachdem diese Anfrage hierher geschickt wurde. 120 00:09:33,520 --> 00:09:41,380 Nachdem wir die Bestellung in unserem Redux-Shop hinzugefügt haben, möchten wir nach all dem unsere Push-Benachrichtigungen senden. 121 00:09:44,050 --> 00:09:49,420 Jetzt müssen wir für Papa alle Kartenartikel durchgehen, die wir hier haben, und eine Benachrichtigung pro Artikel 122 00:09:49,420 --> 00:09:49,840 senden. 123 00:09:50,110 --> 00:09:54,640 Dies ist ein weiterer Grund, warum Sie dies möglicherweise auf der Serviceseite in Betracht ziehen sollten. 124 00:09:54,910 --> 00:09:57,370 Wenn Sie viele Artikel haben, kann dies einige Zeit dauern. 125 00:09:57,640 --> 00:09:59,730 Und im Moment wird Papa alle arbeiten. 126 00:09:59,770 --> 00:10:04,130 Dies geschieht hier in unserer React Native-App auf dem Client und nicht auf dem Server. 127 00:10:05,390 --> 00:10:11,570 Auf dem Server ist es vielleicht besser, weil es Ihrem Client die Arbeit nimmt, aber aus zwei genannten 128 00:10:11,660 --> 00:10:16,670 Gründen sind Funktionen nicht mehr kostenlos, da wir keinen eigenen Server haben, da wir 129 00:10:16,670 --> 00:10:19,370 Firebase und Cloud verwenden all diese Gründe. 130 00:10:19,730 --> 00:10:23,840 Ich werde tatsächlich die suboptimale Lösung verwenden, um dies auf dem Client auszulösen. 131 00:10:24,050 --> 00:10:29,870 Anstelle der React Native-App und seit einem Jahr möchten wir also alle weggeworfenen Gegenstände durchgehen. 132 00:10:29,870 --> 00:10:39,110 Wir haben hier so wenige Kartenelemente und für jedes Kartenelement möchten wir den Push-Token erhalten, indem wir einfach auf 133 00:10:39,110 --> 00:10:41,840 Kartenelement, Punkt, Push, Token zugreifen. 134 00:10:43,470 --> 00:10:45,720 Und dann möchten wir unsere Anfrage senden. 135 00:10:46,080 --> 00:10:51,150 Mit der Fetch-API hier möchten wir die Anforderung erneut an HTP s senden. 136 00:10:51,690 --> 00:11:01,080 Und dann war Papa Ex-DOD-Host-Schrägstrich, Strich, Schrägstrich, API-Schrägstrich, B2-Schrägstrich, Push, Schrägstrich, Senden und Hinzufügen des zweiten Objekts, in 137 00:11:01,740 --> 00:11:10,350 dem wir diese Anforderung konfigurieren, um die Methode zum Posten festzulegen und hier auch einige Überschriften 138 00:11:10,350 --> 00:11:11,460 hinzuzufügen . 139 00:11:12,300 --> 00:11:16,530 Und wir wollten Header akzeptieren, die Anwendung sein sollten. 140 00:11:17,070 --> 00:11:29,040 Jason, wir wollten einen Header akzeptieren und codieren, der Jessep deflate sein sollte, und wir wollen hier den Inhaltstyp Petyr, der 141 00:11:29,640 --> 00:11:33,210 auch die Anwendung Jason sein sollte. 142 00:11:33,840 --> 00:11:39,750 Aber jetzt, noch wichtiger, möchten wir unseren Körper zu der Anfrage hinzufügen, die 143 00:11:39,750 --> 00:11:47,160 ein benachbartes, fadenziehendes Fide-Objekt sein soll, in dem wir jetzt auf diesen Push-Tolkan mit den beiden Feldern zeigen. 144 00:11:49,800 --> 00:11:56,340 Und dann können wir zusätzliche Informationen hinzufügen. Wir können beispielsweise zusätzliche Metadaten zu dem Kartenelement hinzufügen, für das 145 00:11:56,510 --> 00:11:58,270 eine Benachrichtigung gesendet wird. 146 00:11:58,740 --> 00:12:02,430 Aber hier wurde allen nur ein Titel der Bestellung hinzugefügt. 147 00:12:03,500 --> 00:12:12,800 Und dann Text für diese Push-Benachrichtigung, in der ich einfach den Titel des bestellten Produkts geteilt 148 00:12:12,890 --> 00:12:13,940 habe. 149 00:12:14,480 --> 00:12:20,630 Beachten Sie, dass wir in jedem Autotitel den Produkttitel in einem Produkttitelfeld speichern. 150 00:12:21,530 --> 00:12:29,210 Daher kann ich hier in der Bestellaktionsdatei auf den DOT-Produkttitel des Kartenelements zugreifen, um diesen Produkttitel als 151 00:12:29,210 --> 00:12:33,800 Teil der Push-Benachrichtigung zu teilen, die gesendet werden soll. 152 00:12:36,250 --> 00:12:42,420 Und das ist am Ende mit Papa, wir werden eine Reihe von HTP-Anfragen planen. 153 00:12:42,730 --> 00:12:45,190 Ich warte nicht auf ihre Antworten. 154 00:12:45,220 --> 00:12:47,030 Ich gehe nicht mit den Antworten um. 155 00:12:47,380 --> 00:12:51,610 Sie könnten diese Antworten prüfen und versuchen, mögliche Fehler zu behandeln. 156 00:12:52,090 --> 00:12:53,590 Aber am Ende sollte das funktionieren. 157 00:12:53,980 --> 00:12:59,920 Und wenn aus irgendeinem Grund in diesem Fall keine Push-Benachrichtigungen durchgeführt werden sollten, ist dies auch nicht das 158 00:12:59,920 --> 00:13:02,650 Ende der Welt, aber es sollte wirklich funktionieren. 159 00:13:03,010 --> 00:13:04,840 Also lasst uns jetzt Sicherheit haben. 160 00:13:07,180 --> 00:13:08,350 Und probieren wir es aus. 161 00:13:09,340 --> 00:13:13,030 Zurück hier in meiner Bewerbung werde ich ein zweites Produkt hinzufügen. 162 00:13:16,550 --> 00:13:19,850 Nur um zu sehen, ob wir Benachrichtigungen pushen können. 163 00:13:20,330 --> 00:13:21,890 Ich werde jedoch das gleiche Bild verwenden. 164 00:13:23,160 --> 00:13:24,510 Geben Sie meinen Preis ein. 165 00:13:25,830 --> 00:13:26,910 Und eine Beschreibung. 166 00:13:28,340 --> 00:13:29,330 Bestätigen Sie dies. 167 00:13:30,340 --> 00:13:35,140 Und jetzt gehen Sie zum Produktbereich und legen Sie beide in meinen Warenkorb. 168 00:13:37,000 --> 00:13:38,290 Das sind meine eigenen Produkte. 169 00:13:38,320 --> 00:13:40,210 Aber in dieser App kann ich sie trotzdem bestellen. 170 00:13:40,600 --> 00:13:42,220 Also lasst uns jetzt die Bestellung aufgeben. 171 00:13:42,700 --> 00:13:43,960 Welches sollte die Bestellung aufgeben. 172 00:13:44,890 --> 00:13:46,420 Und wir sehen nichts. 173 00:13:47,260 --> 00:13:49,420 Bedeutet das nun, dass wir einen Fehler haben? 174 00:13:50,230 --> 00:13:51,280 Nicht unbedingt. 175 00:13:51,700 --> 00:13:53,020 Wir sehen nichts. 176 00:13:53,200 --> 00:13:57,490 Vielleicht erinnern Sie sich, dass die Ifti-App standardmäßig im Vordergrund ausgeführt wird. 177 00:13:57,580 --> 00:13:59,080 Es wird keine Benachrichtigung angezeigt. 178 00:13:59,320 --> 00:14:06,130 Dies gilt auch für Push-Benachrichtigungen, da diese, wie Sie ebenfalls erfahren haben, am Ende nur lokale Benachrichtigungen 179 00:14:06,130 --> 00:14:06,580 auslösen. 180 00:14:08,870 --> 00:14:11,300 Also lasst uns das beheben und sicherstellen, dass wir etwas sehen können.