1 00:00:02,270 --> 00:00:04,340 Quindi lavoriamo sulla parte di ordinazione. 2 00:00:04,370 --> 00:00:10,670 Ora, ogni volta che viene effettuato un nuovo ordine, vogliamo inviare una notifica, una notifica push. 3 00:00:11,060 --> 00:00:16,190 Ora stiamo memorizzando questo proprietario, Push Tolkan, di cui abbiamo bisogno per inviare una notifica. 4 00:00:16,640 --> 00:00:18,680 E in realtà abbiamo due opzioni. 5 00:00:18,710 --> 00:00:26,660 Ora, dato che è tutto sul back-end, potremmo inviare questa richiesta per esporre il server push dal back-end, utilizzando uno 6 00:00:26,660 --> 00:00:32,930 dei casi di Expo ESTA che ti ho mostrato prima, come quello per Noad e 7 00:00:32,930 --> 00:00:40,270 P HP, a seconda di quale lingua stai usando sul tuo backend o semplicemente inviando quella stessa età. 8 00:00:40,280 --> 00:00:46,640 Anche la richiesta TDP che abbiamo inviato dall'interno dell'app dalla tua schiena e papà sarebbe un'opzione. 9 00:00:47,210 --> 00:00:51,140 Ora Firebase è un dorso speciale e non lo possediamo completamente. 10 00:00:51,530 --> 00:00:56,330 Utilizziamo invece i servizi che abbiamo effettivamente con le funzioni cloud. 11 00:00:56,360 --> 00:01:02,420 Ci sarebbe un servizio che ci consente di eseguire il codice lato server e potremmo far funzionare tutto. 12 00:01:02,660 --> 00:01:06,500 Ma dal momento che l'utilizzo delle funzioni cloud non è più completamente gratuito. 13 00:01:06,800 --> 00:01:08,410 Non voglio mostrare quest'anno. 14 00:01:08,660 --> 00:01:13,250 Voglio solo che tu sappia che potresti assolutamente inventare un codice sul server. 15 00:01:13,460 --> 00:01:20,300 Ciò costerebbe una notifica push da inviare dall'interno di questo server in modo che questo trigger avvenga qui 16 00:01:20,300 --> 00:01:21,290 sul server. 17 00:01:21,800 --> 00:01:23,840 Ora lo farò dall'app e inizierò. 18 00:01:23,940 --> 00:01:25,490 Il tramonto è più facile per noi qui. 19 00:01:25,670 --> 00:01:27,890 Ma questa è solo un'opzione possibile. 20 00:01:28,490 --> 00:01:34,730 Ora, dall'interno, l'app invierà la notifica proprio come abbiamo fatto prima qui qui per aggiungere ordine. 21 00:01:34,790 --> 00:01:36,020 Vogliamo inviarlo. 22 00:01:36,470 --> 00:01:39,020 E lì abbiamo ottenuto i nostri articoli nel carrello. 23 00:01:39,680 --> 00:01:41,570 Ora gli articoli del carrello che stiamo ricevendo. 24 00:01:41,660 --> 00:01:44,600 Diamo una breve occhiata a cosa c'è esattamente lì dentro. 25 00:01:45,700 --> 00:01:52,510 Quindi se vai al negozio, agli ordini sullo schermo della carta, è lì che abbiamo inviato la sua azione. 26 00:01:53,750 --> 00:01:56,360 L'azione dell'ordine di aggiunta con gli articoli della carta. 27 00:01:56,900 --> 00:02:05,180 E se diamo un'occhiata ai nostri articoli nel carrello, vediamo che gli articoli di carte indiani vengono prelevati dal nostro negozio di redux e 28 00:02:05,780 --> 00:02:13,400 gli articoli di carte saranno un array in cui alla fine abbiamo oggetti in cui ogni oggetto ha un prodotto che 29 00:02:13,400 --> 00:02:16,550 il prodotto ha chiamato Prodotto Prezzo Quantità finisce. 30 00:02:17,150 --> 00:02:23,000 Quindi ciò di cui abbiamo bisogno è che abbiamo anche bisogno del token push prodotto. 31 00:02:23,180 --> 00:02:29,090 Quindi il token del creatore di questo prodotto alla fine e possiamo ottenerlo dall'interno del nostro stato. 32 00:02:31,480 --> 00:02:32,800 Vengono dal carrello. 33 00:02:34,650 --> 00:02:36,570 Dagli articoli per quella chiave. 34 00:02:36,590 --> 00:02:40,460 Quindi, in sostanza, quello che facciamo qua e là, cerchiamo un token push. 35 00:02:40,860 --> 00:02:46,320 Ora, questo è un campo che non ci sarà ancora perché, prima di tutto, dobbiamo apportare 36 00:02:46,320 --> 00:02:48,540 alcune modifiche al nostro negozio lì. 37 00:02:48,570 --> 00:02:50,790 Diamo un'occhiata al riduttore di carte. 38 00:02:52,210 --> 00:02:56,800 Quando un prodotto viene aggiunto alla scheda, otteniamo informazioni su questo prodotto qui. 39 00:02:57,250 --> 00:03:00,880 E da lì, ad esempio, estraiamo il titolo e il prezzo. 40 00:03:04,600 --> 00:03:10,030 E alla fine, abbiamo aggiunto il suo prezzo e il titolo al nostro articolo carrello. 41 00:03:10,630 --> 00:03:13,300 Ora non dobbiamo solo valutare il titolo. 42 00:03:13,360 --> 00:03:15,070 Dobbiamo anche spingere Tolkan. 43 00:03:15,580 --> 00:03:18,760 Quindi qui, estraiamo la spinta, token questo prodotto. 44 00:03:19,090 --> 00:03:22,060 Quindi aggiungi un punto prodotto push Tolkan, per esempio. 45 00:03:22,540 --> 00:03:26,770 Anche questo è un campo che non esisterà ancora su un prodotto, ma cambierà non appena. 46 00:03:27,670 --> 00:03:28,900 E quindi possiamo aggiungere questa spinta. 47 00:03:28,900 --> 00:03:33,880 Tolkan, diciamo, come terzo argomento qui per carrello articolo. 48 00:03:34,390 --> 00:03:38,950 E anche qui scusa, ovviamente è il quarto argomento. 49 00:03:39,850 --> 00:03:43,300 Quindi sto aggiungendo questo come quarto argomento al costruttore dell'elemento della carta. 50 00:03:43,890 --> 00:03:46,760 Ora per papà, dobbiamo passare al costruttore di articoli carrello. 51 00:03:47,080 --> 00:03:54,130 Quindi qui, un elemento di carta non dovrebbe effettivamente ottenere questo token push come quarto argomento e quindi memorizzato è 52 00:03:54,130 --> 00:03:54,490 qui. 53 00:03:54,910 --> 00:03:57,640 Quindi questo token push è uguale al token push. 54 00:04:00,580 --> 00:04:06,340 Ma non siamo ancora lì perché ora lo sto conservando per ogni oggetto di carta, ma lo sto ottenendo. 55 00:04:08,930 --> 00:04:13,460 Dal mio prodotto e un prodotto non ha ancora un token. 56 00:04:13,790 --> 00:04:20,780 Sì, ne ha uno su Firebase, ma non stiamo recuperando quei dati o non li stiamo usando nell'app del nostro 57 00:04:20,780 --> 00:04:21,830 sito client. 58 00:04:21,890 --> 00:04:25,640 In questa app nativa di reazione invece qui in. 59 00:04:26,640 --> 00:04:36,120 File delle azioni dei prodotti qui, i prodotti inseguono nelle azioni in cui prendiamo tutti i prodotti qui, recuperiamo i prodotti. 60 00:04:36,540 --> 00:04:42,720 Quello che facciamo è estrarre cose come l'idea, il prezzo del titolo e così via e creare un nuovo prodotto basato 61 00:04:42,720 --> 00:04:45,360 sul nostro modello di prodotto con tali informazioni. 62 00:04:46,050 --> 00:04:49,260 Ora, qui, dovremmo anche ottenerlo. 63 00:04:51,220 --> 00:04:52,600 Proprietario Push Tolkan. 64 00:04:53,750 --> 00:05:01,460 Proprio come stiamo estraendo il proprietario I. D. , quindi qui vogliamo ottenere il token push del proprietario per i 65 00:05:01,460 --> 00:05:02,000 singoli prodotti. 66 00:05:02,120 --> 00:05:07,070 E aggiungi questo al nostro modello di prodotto, ad esempio, come terzo argomento. 67 00:05:08,760 --> 00:05:12,840 Quindi ora dobbiamo andare al modello di prodotti, al modello di prodotto qui. 68 00:05:12,870 --> 00:05:14,630 Siamo spiacenti, prodotto e modelli. 69 00:05:15,270 --> 00:05:22,050 E lì come terzo argomento, ora dobbiamo accettare il proprietario, spingere Tolkan e archiviarlo. 70 00:05:22,770 --> 00:05:29,520 E chiamerò questo campo, Push Tolkan e memorizzerò il mio proprietario, Push Tolkan, perché Push 71 00:05:29,820 --> 00:05:36,940 Tolkan è il nome del campo che ora ho usato anche qui nel riduttore del carrello. 72 00:05:36,990 --> 00:05:40,000 Sto accedendo al prodotto aggiunto punto push Tolkan. 73 00:05:40,530 --> 00:05:46,860 Quindi, se si utilizza qui il nome diverso per recuperare un token per un determinato prodotto, è necessario anche un nome di 74 00:05:46,860 --> 00:05:48,780 giustizia qui nel modello del prodotto. 75 00:05:50,060 --> 00:05:56,000 Ma con tutte queste modifiche, ci stiamo assicurando di recuperare il token archiviato per ogni 76 00:05:56,000 --> 00:05:56,450 prodotto. 77 00:05:56,990 --> 00:06:01,220 E lo stiamo utilizzando e lo memorizziamo nel front-end, anche nei nostri modelli. 78 00:06:01,700 --> 00:06:04,580 E lo memorizziamo in ogni modello di prodotto, che stiamo creando. 79 00:06:04,610 --> 00:06:05,840 Ogni istanza del prodotto. 80 00:06:06,200 --> 00:06:12,140 E lo stiamo anche memorizzando nei nostri articoli del carrello, che stiamo aggiungendo al nostro carrello qui nel negozio Redux. 81 00:06:12,980 --> 00:06:18,200 Quindi ora ogni oggetto di carta avrà un token push e il nostro modello di elemento di carta. 82 00:06:18,300 --> 00:06:26,600 Tutti quei negozi che in una chiave denominata push token e quindi ora saranno finalmente in grado di ottenere quei dati quando viene 83 00:06:26,600 --> 00:06:28,100 effettuato un ordine. 84 00:06:31,170 --> 00:06:37,560 Ora, non abbiamo solo bisogno di aggiornare il modo in cui creiamo i prodotti qui nei prodotti G. S. cadono, le azioni cadono, ma anche nei 85 00:06:37,560 --> 00:06:42,540 riduttori, nei prodotti, G. S. file in riduttori. 86 00:06:42,910 --> 00:06:48,990 Lì dobbiamo creare il caso del prodotto, che gestiamo dove istanziamo anche il nostro prodotto. 87 00:06:50,210 --> 00:06:57,620 Ora, dal momento che abbiamo cambiato il nostro modello di prodotto in modo da spingere Tolkan come terzo argomento qui, 88 00:06:57,620 --> 00:07:00,050 dobbiamo anche aggiornare è qui, ovviamente. 89 00:07:00,530 --> 00:07:01,430 Ecco. 90 00:07:03,020 --> 00:07:09,470 Il terzo argomento, il titolo non dovrebbe più essere il titolo, ma dovrebbe invece provenire dai dati 91 00:07:09,470 --> 00:07:10,820 dei nostri prodotti. 92 00:07:11,510 --> 00:07:13,220 E lì dovrebbe essere per spingere Tolkan. 93 00:07:14,600 --> 00:07:21,140 Ora, per debito, ovviamente, a nostra volta, dobbiamo controllare dove spediamo creare il prodotto per garantire che l'azione che 94 00:07:21,140 --> 00:07:26,570 aggiunge i dati del prodotto aggiunga anche un token push a tali dati del prodotto. 95 00:07:28,810 --> 00:07:32,560 Creiamo anche un nuovo prodotto laggiù, un prodotto di aggiornamento. 96 00:07:32,620 --> 00:07:33,850 Ed ecco lo stesso. 97 00:07:34,650 --> 00:07:41,740 Il nuovo terzo argomento che otteniamo qui nel costruttore del prodotto dovrebbe in questo caso essere i prodotti utente 98 00:07:41,740 --> 00:07:44,340 di stato per l'indice prodotto specificato. 99 00:07:45,100 --> 00:07:53,560 E poi di nuovo lì, è Push Tolkan, Push, Tolkan è il nome che abbiamo qui perché papà qui accederà a 100 00:07:53,560 --> 00:08:00,430 un prodotto memorizzato nel nostro campo prodotti utente e quel prodotto dovrà formare il nostro modello di 101 00:08:00,430 --> 00:08:00,880 prodotto. 102 00:08:01,180 --> 00:08:03,310 E lì ho scelto Push Tolkan come nome. 103 00:08:03,610 --> 00:08:06,570 Quindi c'è anche Push Tolkan come nome qui. 104 00:08:12,230 --> 00:08:18,620 Quindi, tornando al caso del prodotto creato, come ho detto, ora dobbiamo andare nel luogo in 105 00:08:18,620 --> 00:08:23,270 cui viene inviata questa azione per garantire che i dati corretti. 106 00:08:23,330 --> 00:08:25,820 Il token push viene aggiunto all'azione. 107 00:08:26,750 --> 00:08:32,990 Ora sono i prodotti G. S. file nella cartella delle azioni e vengono creati creatore dell'azione del prodotto. 108 00:08:33,290 --> 00:08:37,130 Il luogo in cui effettuiamo la spedizione crea un'azione sul prodotto alla fine. 109 00:08:37,550 --> 00:08:43,370 E quindi qui ai dati di prodotto ovunque in questo oggetto, dovremmo assicurarci di aggiungere anche un 110 00:08:43,370 --> 00:08:44,360 token push. 111 00:08:44,930 --> 00:08:50,360 E ora questo valore di token push è semplicemente quello di spingere Tolkan che stiamo già utilizzando lassù. 112 00:08:50,480 --> 00:08:52,190 Quindi dovremmo archiviarlo anche qui. 113 00:08:54,380 --> 00:08:58,970 E con papà, ci assicuriamo che non creiamo errori quando creiamo un nuovo prodotto. 114 00:08:59,600 --> 00:09:01,400 Altrimenti ne avremmo ottenuto uno. 115 00:09:03,650 --> 00:09:09,440 Quindi di nuovo qui nel file delle azioni degli ordini nell'azione Aggiungi ordine qui. 116 00:09:09,470 --> 00:09:17,480 Vogliamo ora ottenere il nostro token dall'elemento della carta e inviare una tale richiesta di notifica push. 117 00:09:18,080 --> 00:09:25,220 Forse dopo aver aggiunto l'ordine effettivo sul nostro server, perché l'invio della notifica push è meno importante della memorizzazione 118 00:09:25,430 --> 00:09:27,170 dei dati sul server. 119 00:09:27,290 --> 00:09:28,550 Direi di sì. 120 00:09:28,610 --> 00:09:32,150 Dhafer, dopo che questa richiesta è stata inviata qui. 121 00:09:33,520 --> 00:09:41,380 Dopo aver aggiunto l'ordine nel nostro negozio Redux, dopo tutto ciò, vogliamo inviare le nostre notifiche push. 122 00:09:44,050 --> 00:09:49,420 Ora per papà, dovremo esaminare tutti gli articoli di carte che abbiamo qui e inviare una notifica per 123 00:09:49,420 --> 00:09:49,840 articolo. 124 00:09:50,110 --> 00:09:54,640 Questo è un altro motivo per cui potresti voler considerare di fare questo dal lato del servizio. 125 00:09:54,910 --> 00:09:57,370 Se hai molti articoli, questo può richiedere del tempo. 126 00:09:57,640 --> 00:09:59,730 E al momento, papà lavorerà tutti. 127 00:09:59,770 --> 00:10:04,130 Ciò accade qui nella nostra app React Native sul client, non sul server. 128 00:10:05,390 --> 00:10:11,570 Sul server potrebbe essere migliore perché toglie quel lavoro dal tuo client, ma per due ragioni menzionate, dal momento che non 129 00:10:11,660 --> 00:10:16,670 abbiamo il nostro server, dal momento che stiamo usando Firebase e cloud, le funzioni non sono più 130 00:10:16,670 --> 00:10:19,370 libere da usare a causa di tutte queste ragioni. 131 00:10:19,730 --> 00:10:23,840 In realtà userò la soluzione subottimale di innescare quella sul client. 132 00:10:24,050 --> 00:10:29,870 Quindi, invece dell'app React Native e abbiamo per un anno, vogliamo esaminare tutti gli elementi di scarto. 133 00:10:29,870 --> 00:10:39,110 Abbiamo così pochi tutti i nostri articoli di carte qui e per ogni oggetto di carta che vogliamo ottenere il token push semplicemente accedendo 134 00:10:39,110 --> 00:10:41,840 all'elemento della carta, punto, push, token. 135 00:10:43,470 --> 00:10:45,720 E poi vogliamo inviare la nostra richiesta. 136 00:10:46,080 --> 00:10:51,150 Quindi, ancora una volta, con l'API Fetch qui, vogliamo inviare la richiesta a HTP s .. 137 00:10:51,690 --> 00:11:01,080 E poi papà era ex dash DOD host dash, dash, slash, api slash, b2 slash, push, slash, invia e aggiungi il secondo 138 00:11:01,740 --> 00:11:10,350 oggetto in cui configuriamo questa richiesta per impostare il suo metodo per pubblicare e aggiungere anche un paio di intestazioni 139 00:11:10,350 --> 00:11:11,460 qui . 140 00:11:12,300 --> 00:11:16,530 E volevamo accettare l'intestazione che dovrebbe essere l'applicazione. 141 00:11:17,070 --> 00:11:29,040 Jason, volevamo accettare e codificare l'intestazione che dovrebbe essere sgonfiata da Jessep e vogliamo de content il tipo Petyr qui, che 142 00:11:29,640 --> 00:11:33,210 dovrebbe essere anche l'applicazione Jason. 143 00:11:33,840 --> 00:11:39,750 Ma ora, ancora più importante, vogliamo aggiungere il nostro corpo alla richiesta, che dovrebbe 144 00:11:39,750 --> 00:11:47,160 essere un oggetto fide adiacente e filante in cui ora puntiamo a questa spinta Tolkan con i due campi. 145 00:11:49,800 --> 00:11:56,340 E quindi possiamo aggiungere ulteriori informazioni, potremmo aggiungere metadati extra sull'elemento della carta, ad esempio, per i quali 146 00:11:56,510 --> 00:11:58,270 viene inviata una notifica. 147 00:11:58,740 --> 00:12:02,430 Ma qui è stato inserito solo un titolo dell'ordine. 148 00:12:03,500 --> 00:12:12,800 E poi corpo per questa notifica push in cui ho semplicemente condiviso, diciamo, il titolo del prodotto che è 149 00:12:12,890 --> 00:12:13,940 stato ordinato. 150 00:12:14,480 --> 00:12:20,630 Tieni presente che nel titolo di ogni auto, memorizziamo il titolo del prodotto in un campo del titolo del prodotto. 151 00:12:21,530 --> 00:12:29,210 Quindi, di nuovo qui nel file delle azioni degli ordini, posso accedere al titolo del prodotto DOT dell'articolo della carta per condividere 152 00:12:29,210 --> 00:12:33,800 quel titolo del prodotto come parte della notifica push che dovrebbe essere inviata. 153 00:12:36,250 --> 00:12:42,420 E questo alla fine è con papà, programmeremo un sacco di richieste HTP. 154 00:12:42,730 --> 00:12:45,190 Non sto aspettando le loro risposte. 155 00:12:45,220 --> 00:12:47,030 Non sto gestendo le risposte. 156 00:12:47,380 --> 00:12:51,610 Puoi esaminare quelle risposte e provare a gestire possibili errori. 157 00:12:52,090 --> 00:12:53,590 Ma alla fine, dovrebbe funzionare. 158 00:12:53,980 --> 00:12:59,920 E se per qualche motivo, in questo caso le notifiche push non dovessero passare, non è nemmeno la 159 00:12:59,920 --> 00:13:02,650 fine del mondo, ma dovrebbe davvero funzionare. 160 00:13:03,010 --> 00:13:04,840 Quindi ora sicurezza. 161 00:13:07,180 --> 00:13:08,350 E proviamolo. 162 00:13:09,340 --> 00:13:13,030 Quindi, qui nella mia applicazione, aggiungerò un secondo prodotto. 163 00:13:16,550 --> 00:13:19,850 Semplicemente per vedere se arriviamo alle notifiche push. 164 00:13:20,330 --> 00:13:21,890 Userò la stessa immagine, comunque. 165 00:13:23,160 --> 00:13:24,510 Inserisci il mio prezzo 166 00:13:25,830 --> 00:13:26,910 E una descrizione 167 00:13:28,340 --> 00:13:29,330 Conferma questo. 168 00:13:30,340 --> 00:13:35,140 E ora vai nell'area prodotti e aggiungi entrambi al mio carrello. 169 00:13:37,000 --> 00:13:38,290 Ora, questi sono i miei prodotti. 170 00:13:38,320 --> 00:13:40,210 Ma in questa app, posso ancora ordinarli. 171 00:13:40,600 --> 00:13:42,220 Quindi ora premiamo ordinato. 172 00:13:42,700 --> 00:13:43,960 Quale dovrebbe effettuare l'ordine. 173 00:13:44,890 --> 00:13:46,420 E non vediamo nulla. 174 00:13:47,260 --> 00:13:49,420 Questo significa che abbiamo un errore? 175 00:13:50,230 --> 00:13:51,280 Non necessariamente. 176 00:13:51,700 --> 00:13:53,020 Non vediamo niente. 177 00:13:53,200 --> 00:13:57,490 Perché potresti ricordare che l'app Ifti è in esecuzione in primo piano per impostazione predefinita. 178 00:13:57,580 --> 00:13:59,080 Nessuna notifica è mostrata. 179 00:13:59,320 --> 00:14:06,130 E questo è lo stesso per le notifiche push perché, come hai anche appreso, alla fine attivano solo le notifiche 180 00:14:06,130 --> 00:14:06,580 locali. 181 00:14:08,870 --> 00:14:11,300 Quindi ripariamolo e assicuriamoci di poter vedere qualcosa.