1 00:00:02,270 --> 00:00:04,340 Pracujmy więc nad częścią zamawiającą. 2 00:00:04,370 --> 00:00:10,670 Teraz, za każdym razem, gdy zostanie złożone nowe zamówienie, chcemy wysłać powiadomienie, powiadomienie push. 3 00:00:11,060 --> 00:00:16,190 Teraz przechowujemy tego właściciela, Push Tolkan, którego potrzebujemy do wysłania powiadomienia. 4 00:00:16,640 --> 00:00:18,680 I faktycznie mamy dwie opcje. 5 00:00:18,710 --> 00:00:26,660 Teraz, ponieważ wszystko jest na zapleczu, możemy wysłać tę prośbę o ujawnienie serwera push z zaplecza, albo za pomocą 6 00:00:26,660 --> 00:00:32,930 jednego z przypadków Expo ESTA, które pokazałem wcześniej, na przykład dla Noad i 7 00:00:32,930 --> 00:00:40,270 P HP, w zależności od w jakim języku używasz backendu lub po prostu wysyłając ten sam wiek. 8 00:00:40,280 --> 00:00:46,640 Żądanie TDP, które wysłaliśmy wcześniej z wnętrza aplikacji i taty, byłoby również opcją. 9 00:00:47,210 --> 00:00:51,140 Teraz Firebase jest specjalnym grzbietem i nie jesteśmy w pełni jego właścicielami. 10 00:00:51,530 --> 00:00:56,330 Zamiast tego korzystamy z usług, które faktycznie mamy, z funkcjami chmury. 11 00:00:56,360 --> 00:01:02,420 Byłaby usługa, która pozwala nam uruchamiać kod po stronie serwera i moglibyśmy sprawić, żeby wszystko działało. 12 00:01:02,660 --> 00:01:06,500 Ale ponieważ korzystanie z funkcji chmury nie jest już całkowicie darmowe. 13 00:01:06,800 --> 00:01:08,410 Nie chcę pokazywać w tym roku. 14 00:01:08,660 --> 00:01:13,250 Chcę tylko, żebyś wiedział, że absolutnie możesz wymyślić kod na serwerze. 15 00:01:13,460 --> 00:01:20,300 Kosztowałoby to wysłania powiadomienia wypychanego z tego serwera, aby wyzwalanie miało miejsce tutaj na 16 00:01:20,300 --> 00:01:21,290 serwerze. 17 00:01:21,800 --> 00:01:23,840 Teraz zrobię to z aplikacji i zacznę. 18 00:01:23,940 --> 00:01:25,490 Zachód słońca jest dla nas łatwiejszy. 19 00:01:25,670 --> 00:01:27,890 Ale to tylko jedna z możliwych opcji. 20 00:01:28,490 --> 00:01:34,730 Teraz od wewnątrz aplikacja wyśle powiadomienie, tak jak zrobiliśmy to wcześniej tutaj, w kolejności dodawania. 21 00:01:34,790 --> 00:01:36,020 Chcemy to wysłać. 22 00:01:36,470 --> 00:01:39,020 I tam mamy przedmioty z koszyka. 23 00:01:39,680 --> 00:01:41,570 Teraz dostajemy przedmioty z koszyka. 24 00:01:41,660 --> 00:01:44,600 Rzućmy okiem na to, co dokładnie tam jest. 25 00:01:45,700 --> 00:01:52,510 Więc jeśli pójdziesz do sklepu, do zamówień na ekran karty, to tutaj wysłaliśmy jego akcję. 26 00:01:53,750 --> 00:01:56,360 Akcja dodawania porządku z elementami karty. 27 00:01:56,900 --> 00:02:05,180 A jeśli przyjrzymy się przedmiotom w koszyku, zobaczymy, że indyjskie elementy kart są pobierane ze sklepu redux, a elementy 28 00:02:05,780 --> 00:02:13,400 kart będą tablicą, w której ostatecznie mamy przedmioty, w których każdy przedmiot ma produkt, który produkt nosi 29 00:02:13,400 --> 00:02:16,550 tytuł Produkt Cena Ilość kończy się na. 30 00:02:17,150 --> 00:02:23,000 Potrzebujemy więc również tokena push produktu. 31 00:02:23,180 --> 00:02:29,090 W końcu token twórcy tego produktu i możemy go zdobyć z naszego stanu. 32 00:02:31,480 --> 00:02:32,800 Są z wózka. 33 00:02:34,650 --> 00:02:36,570 Z elementów tego klucza. 34 00:02:36,590 --> 00:02:40,460 Więc w zasadzie to, co robimy tam i tam, szukajmy tokena push. 35 00:02:40,860 --> 00:02:46,320 Teraz jest to pole, którego jeszcze nie będzie, ponieważ najpierw musimy wprowadzić pewne 36 00:02:46,320 --> 00:02:48,540 zmiany w naszym sklepie. 37 00:02:48,570 --> 00:02:50,790 Sprawdźmy reduktor kart. 38 00:02:52,210 --> 00:02:56,800 Po dodaniu produktu do karty otrzymujemy informacje o tym produkcie tutaj. 39 00:02:57,250 --> 00:03:00,880 Stamtąd wydobywamy na przykład tytuł i cenę. 40 00:03:04,600 --> 00:03:10,030 A potem w końcu dodaliśmy jego cenę i tytuł do naszego koszyka. 41 00:03:10,630 --> 00:03:13,300 Teraz nie musimy tylko wyceniać tytułu. 42 00:03:13,360 --> 00:03:15,070 Musimy także popchnąć Tolkan. 43 00:03:15,580 --> 00:03:18,760 Więc tutaj, szykujmy się wyodrębnij push, token z tego produktu. 44 00:03:19,090 --> 00:03:22,060 Tak więc na przykład dodaj kropkę do produktu Push Tolkan. 45 00:03:22,540 --> 00:03:26,770 To także pole, które nie będzie jeszcze istnieć w produkcie, ale zmieni się jak najszybciej. 46 00:03:27,670 --> 00:03:28,900 A następnie możemy dodać ten push. 47 00:03:28,900 --> 00:03:33,880 Tolkan, powiedzmy, jako trzeci argument o koszyku przedmiotu. 48 00:03:34,390 --> 00:03:38,950 Przepraszam, to oczywiście czwarty argument. 49 00:03:39,850 --> 00:03:43,300 Dodaję to jako czwarty argument do konstruktora elementu karty. 50 00:03:43,890 --> 00:03:46,760 Teraz dla taty musimy zmienić konstruktora na wózek. 51 00:03:47,080 --> 00:03:54,490 Tak więc tutaj element karty nie powinien faktycznie otrzymać tego tokena push jako czwarty argument, a następnie jest przechowywany tutaj. 52 00:03:54,910 --> 00:03:57,640 Więc ten token push jest równy tokenowi push. 53 00:04:00,580 --> 00:04:06,340 Ale wciąż nas tam nie ma, ponieważ teraz przechowuję to dla każdego elementu karty, ale dostaję to. 54 00:04:08,930 --> 00:04:13,460 Z mojego produktu a produkt nie ma jeszcze tokena. 55 00:04:13,790 --> 00:04:20,780 Tak, ma jeden w Firebase, ale nie pobieramy tych danych lub nie używamy tych danych w naszej 56 00:04:20,780 --> 00:04:21,830 aplikacji klienckiej. 57 00:04:21,890 --> 00:04:25,640 W tej reakcji natywna aplikacja zamiast tego tutaj. 58 00:04:26,640 --> 00:04:36,120 Plik działań dotyczących produktów tutaj, produkty ścigają działania, w których pobieramy wszystkie produkty tutaj, pobieramy produkty. 59 00:04:36,540 --> 00:04:42,720 To, co robimy, polega na wydobywaniu takich rzeczy, jak pomysł, cena tytułowa itd. I na podstawie tych informacji tworzymy 60 00:04:42,720 --> 00:04:45,360 nowy produkt na podstawie naszego modelu produktu. 61 00:04:46,050 --> 00:04:49,260 Teraz tutaj też powinniśmy to zdobyć. 62 00:04:51,220 --> 00:04:52,600 Właściciel Push Tolkan. 63 00:04:53,750 --> 00:05:01,460 Tak jak wyciągamy właściciela I. RE. , więc tutaj chcemy uzyskać token push właściciela dla poszczególnych 64 00:05:01,460 --> 00:05:02,000 produktów. 65 00:05:02,120 --> 00:05:07,070 I dodaj to na przykład do naszego modelu produktu jako trzeci argument. 66 00:05:08,760 --> 00:05:12,840 Teraz musimy przejść do modelu produktów, do modelu produktu tutaj. 67 00:05:12,870 --> 00:05:14,630 Przepraszamy, produkt i modele. 68 00:05:15,270 --> 00:05:22,050 I jako trzeci argument musimy teraz zaakceptować właściciela, wcisnąć Tolkan i zapisać to. 69 00:05:22,770 --> 00:05:29,520 Nazwie to pole Push Pushkan i zapiszę w nim mojego właściciela Push 70 00:05:29,820 --> 00:05:36,940 Tolkan, ponieważ Push Tolkan to nazwa pola, której teraz użyłem tutaj w reduktorze wózka. 71 00:05:36,990 --> 00:05:40,000 Mam dostęp do dodanego produktu Dot Push Tolkan. 72 00:05:40,530 --> 00:05:46,860 Jeśli więc użyjesz innej nazwy tutaj, aby pobrać token dla danego produktu, musisz także podać tutaj nazwę 73 00:05:46,860 --> 00:05:48,780 sprawiedliwości w modelu produktu. 74 00:05:50,060 --> 00:05:56,450 Ale po tych wszystkich zmianach upewniamy się, że pobieramy token przechowywany dla każdego produktu. 75 00:05:56,990 --> 00:06:01,220 Używamy go i przechowujemy w interfejsie, również w naszych modelach. 76 00:06:01,700 --> 00:06:04,580 Przechowujemy go w każdym modelu produktu, który tworzymy. 77 00:06:04,610 --> 00:06:05,840 Każda instancja produktu. 78 00:06:06,200 --> 00:06:12,140 Przechowujemy go również w naszych koszykach, które dodajemy do koszyka tutaj w sklepie Redux. 79 00:06:12,980 --> 00:06:18,200 Więc teraz każdy przedmiot karty będzie miał żeton wypychania i nasz model przedmiotu karty. 80 00:06:18,300 --> 00:06:26,600 Wszystkie te sklepy, które znajdują się w kluczu o nazwie token push i dlatego teraz będą w końcu mogły uzyskać te dane 81 00:06:26,600 --> 00:06:28,100 po złożeniu zamówienia. 82 00:06:31,170 --> 00:06:37,560 Teraz nie musimy tylko aktualizować sposobu tworzenia produktów w produktach G. S. wchodzą, działania spadają, ale także w 83 00:06:37,560 --> 00:06:42,540 reduktorach, w produktach, G. S. plik w reduktorach. 84 00:06:42,910 --> 00:06:48,990 Tam musimy stworzyć skrzynkę produktu, którą zajmiemy się tam, gdzie również utworzymy instancję naszego produktu. 85 00:06:50,210 --> 00:06:57,620 Teraz, ponieważ zmieniliśmy nasz model produktu, aby zająć się wypychaniem Tolkan jako trzeciego argumentu tutaj, musimy 86 00:06:57,620 --> 00:07:00,050 również zaktualizować, oczywiście tutaj. 87 00:07:00,530 --> 00:07:01,430 Więc tu. 88 00:07:03,020 --> 00:07:09,470 Trzeci argument, tytuł nie powinien być już tytułem, ale powinien pochodzić z naszych 89 00:07:09,470 --> 00:07:10,820 danych produktu. 90 00:07:11,510 --> 00:07:13,220 I tam powinno być popchnięcie Tolkana. 91 00:07:14,600 --> 00:07:21,140 Teraz, jeśli chodzi o zadłużenie, musimy z kolei sprawdzić, gdzie wysyłamy produkt, aby upewnić się, że 92 00:07:21,140 --> 00:07:26,570 działanie, które dodaje dane produktu, również dodaje token push do danych produktu. 93 00:07:28,810 --> 00:07:32,560 Tam również tworzymy nowy produkt, produkt aktualizacyjny. 94 00:07:32,620 --> 00:07:33,850 I jest tak samo. 95 00:07:34,650 --> 00:07:41,740 Nowym trzecim argumentem, który otrzymujemy tutaj w konstruktorze produktu, powinny być w tym przypadku stanowe produkty 96 00:07:41,740 --> 00:07:44,340 użytkownika dla danego indeksu produktu. 97 00:07:45,100 --> 00:07:53,560 I jeszcze raz, to Push Tolkan, Push, Tolkan to nazwa, którą mamy tutaj, ponieważ tata będzie miał dostęp do 98 00:07:53,560 --> 00:08:00,880 produktu przechowywanego w naszym polu produktów użytkownika i ten produkt będzie musiał stworzyć nasz model produktu. 99 00:08:01,180 --> 00:08:03,310 I tam wybrałem Push Tolkan jako imię. 100 00:08:03,610 --> 00:08:06,570 Jest tu również nazwa Push Tolkan. 101 00:08:12,230 --> 00:08:18,620 Wracając do tworzenia skrzynek produktów, jak już powiedziałem, musimy udać się do miejsca, w 102 00:08:18,620 --> 00:08:23,270 którym wysyłane jest to działanie, aby zapewnić prawidłowe dane. 103 00:08:23,330 --> 00:08:25,820 Token push jest dodawany do akcji. 104 00:08:26,750 --> 00:08:32,990 Teraz są to produkty G. S. plik w folderze akcji, a oni tworzą kreator akcji produktu. 105 00:08:33,290 --> 00:08:37,130 Tam, gdzie wysyłamy, ostatecznie powstaje akcja produktu. 106 00:08:37,550 --> 00:08:43,370 Dlatego tutaj, aby uzyskać dane produktu w dowolnym miejscu tego obiektu, powinniśmy upewnić się, że dodamy również 107 00:08:43,370 --> 00:08:44,360 token push. 108 00:08:44,930 --> 00:08:50,360 A teraz ta wartość tokena push służy po prostu do popchnięcia Tolkana, którego już tam używamy. 109 00:08:50,480 --> 00:08:52,190 Dlatego też powinniśmy to tutaj przechowywać. 110 00:08:54,380 --> 00:08:58,970 Dzięki tacie upewniamy się, że nie pojawia się błąd podczas tworzenia nowego produktu. 111 00:08:59,600 --> 00:09:01,400 W przeciwnym razie dostalibyśmy taki. 112 00:09:03,650 --> 00:09:09,440 Wróć tutaj w pliku działań zamówień w akcji dodawania zamówień tutaj. 113 00:09:09,470 --> 00:09:17,480 Chcemy teraz pobrać nasz token z wnętrza karty i wysłać takie powiadomienie push. 114 00:09:18,080 --> 00:09:25,220 Może po dodaniu faktycznego zamówienia na naszym serwerze, ponieważ wysłanie powiadomienia push jest mniej ważne niż przechowywanie 115 00:09:25,430 --> 00:09:27,170 danych na serwerze. 116 00:09:27,290 --> 00:09:28,550 Kłóciłbym się tak. 117 00:09:28,610 --> 00:09:32,150 Dhafer, po wysłaniu tej prośby tutaj. 118 00:09:33,520 --> 00:09:41,380 Po dodaniu zamówienia w naszym sklepie Redux, po tym wszystkim chcemy wysłać nasze powiadomienia push. 119 00:09:44,050 --> 00:09:49,420 Teraz, dla taty, musimy przejrzeć wszystkie karty, które tu mamy i wysłać jedno powiadomienie na każdy 120 00:09:49,420 --> 00:09:49,840 przedmiot. 121 00:09:50,110 --> 00:09:54,640 To kolejny powód, dla którego warto rozważyć zrobienie tego po stronie usługi. 122 00:09:54,910 --> 00:09:57,370 Jeśli masz dużo przedmiotów, może to zająć trochę czasu. 123 00:09:57,640 --> 00:09:59,730 I w tej chwili tata będzie pracował. 124 00:09:59,770 --> 00:10:04,130 Dzieje się tak tutaj w naszej aplikacji React Native na kliencie, a nie na serwerze. 125 00:10:05,390 --> 00:10:11,570 Na serwerze może być lepiej, ponieważ zabiera to pracę Twojemu klientowi, ale z dwóch wymienionych powodów, ponieważ 126 00:10:11,660 --> 00:10:16,670 nie mamy własnego serwera, ponieważ używamy FireBase i chmury, funkcje nie są już 127 00:10:16,670 --> 00:10:19,370 dostępne z powodu wszystkie te powody. 128 00:10:19,730 --> 00:10:23,840 Właściwie użyję suboptymalnego rozwiązania wyzwalania tego na kliencie. 129 00:10:24,050 --> 00:10:29,870 Więc zamiast aplikacji React Native i przez rok chcemy przejrzeć wszystkie odrzucone przedmioty. 130 00:10:29,870 --> 00:10:39,110 Mamy tutaj tak mało wszystkich naszych elementów karty i dla każdego elementu karty chcemy zdobyć token push po prostu poprzez dostęp 131 00:10:39,110 --> 00:10:41,840 do elementu karty, kropki, push, tokena. 132 00:10:43,470 --> 00:10:45,720 A następnie chcemy wysłać naszą prośbę. 133 00:10:46,080 --> 00:10:51,150 Ponownie, dzięki interfejsowi API Fetch tutaj, chcemy wysłać zapytanie do HTP s .. 134 00:10:51,690 --> 00:11:01,080 A potem tata był ex DOD host ukośnik kreska, kreska, ukośnik, ukośnik api, ukośnik b2, wypychanie, ukośnik, wysyłanie i dodawanie 135 00:11:01,740 --> 00:11:10,350 drugiego obiektu, w którym konfigurujemy to żądanie, aby ustawić jego metodę publikowania, a także dodać tutaj kilka 136 00:11:10,350 --> 00:11:11,460 nagłówków . 137 00:11:12,300 --> 00:11:16,530 Chcieliśmy zaakceptować nagłówek, którym powinna być aplikacja. 138 00:11:17,070 --> 00:11:29,040 Jason, chcieliśmy zaakceptować i zakodować nagłówek, którym powinien być deflate Jessesa i chcemy tutaj typ zawartości Petyr, który 139 00:11:29,640 --> 00:11:33,210 powinien być również aplikacją Jason. 140 00:11:33,840 --> 00:11:39,750 Ale teraz, co jeszcze ważniejsze, chcemy dodać nasze ciało do żądania, 141 00:11:39,750 --> 00:11:47,160 które powinno być sąsiednim, strunowym obiektem, w którym teraz wskazujemy na to popchnięcie Tolkana dwoma polami. 142 00:11:49,800 --> 00:11:56,340 Następnie możemy dodać dodatkowe informacje, możemy dodać dodatkowe metadane dotyczące elementu karty, na przykład, dla 143 00:11:56,510 --> 00:11:58,270 którego wysyłane jest powiadomienie. 144 00:11:58,740 --> 00:12:02,430 Ale tutaj wszystko po prostu dodaj tytuł zamówienia został umieszczony. 145 00:12:03,500 --> 00:12:12,800 A potem treść tego powiadomienia push, w którym po prostu udostępniłem, powiedzmy, tytuł zamówionego 146 00:12:12,890 --> 00:12:13,940 produktu. 147 00:12:14,480 --> 00:12:20,630 Pamiętaj, że w tytule każdego samochodu przechowujemy tytuł produktu w polu tytułu produktu. 148 00:12:21,530 --> 00:12:29,210 Dlatego tutaj, w pliku działań zamówień, mogę uzyskać dostęp do tytułu karty produktu DOT, aby udostępnić ten 149 00:12:29,210 --> 00:12:33,800 tytuł produktu w ramach powiadomienia push, które powinno zostać wysłane. 150 00:12:36,250 --> 00:12:42,420 I w końcu to z tatą, zaplanujemy kilka żądań HTP. 151 00:12:42,730 --> 00:12:45,190 Nie czekam na ich odpowiedzi. 152 00:12:45,220 --> 00:12:47,030 Nie obsługuję odpowiedzi. 153 00:12:47,380 --> 00:12:51,610 Możesz spojrzeć na te odpowiedzi i spróbować rozwiązać ewentualne błędy. 154 00:12:52,090 --> 00:12:53,590 Ale ostatecznie to powinno zadziałać. 155 00:12:53,980 --> 00:12:59,920 A jeśli z jakiegoś powodu powiadomienia typu push nie powinny przejść w tym przypadku, nie jest to 156 00:12:59,920 --> 00:13:02,650 również koniec świata, ale naprawdę powinno działać. 157 00:13:03,010 --> 00:13:04,840 A teraz bezpieczeństwo. 158 00:13:07,180 --> 00:13:08,350 I spróbujmy. 159 00:13:09,340 --> 00:13:13,030 Wracając tutaj do mojej aplikacji, dodam drugi produkt. 160 00:13:16,550 --> 00:13:19,850 Po prostu sprawdź, czy dostaniemy powiadomienia push. 161 00:13:20,330 --> 00:13:21,890 Jednak użyję tego samego obrazu. 162 00:13:23,160 --> 00:13:24,510 Wpisz moją cenę. 163 00:13:25,830 --> 00:13:26,910 I opis. 164 00:13:28,340 --> 00:13:29,330 Potwierdź to. 165 00:13:30,340 --> 00:13:35,140 A teraz przejdź do obszaru produktów i dodaj oba do mojego koszyka. 166 00:13:37,000 --> 00:13:38,290 To są moje własne produkty. 167 00:13:38,320 --> 00:13:40,210 Ale w tej aplikacji nadal mogę je zamówić. 168 00:13:40,600 --> 00:13:42,220 Więc teraz zamówmy prasę. 169 00:13:42,700 --> 00:13:43,960 Które powinno złożyć zamówienie. 170 00:13:44,890 --> 00:13:46,420 I nic nie widzimy. 171 00:13:47,260 --> 00:13:49,420 Czy to oznacza, że mamy błąd? 172 00:13:50,230 --> 00:13:51,280 Niekoniecznie. 173 00:13:51,700 --> 00:13:53,020 Nic nie widzimy. 174 00:13:53,200 --> 00:13:57,490 Ponieważ możesz pamiętać, że aplikacja Ifti domyślnie działa na pierwszym planie. 175 00:13:57,580 --> 00:13:59,080 Brak powiadomienia. 176 00:13:59,320 --> 00:14:06,580 To samo dotyczy powiadomień wypychanych, ponieważ, jak się dowiedziałeś, po prostu wyzwalają powiadomienia lokalne. 177 00:14:08,870 --> 00:14:11,300 Naprawmy to i upewnijmy się, że coś zobaczymy.