1 00:00:02,240 --> 00:00:09,890 Ora applichiamo ciò che abbiamo appreso durante le ultime lezioni nel nostro progetto di negozio che abbiamo realizzato per tutto questo corso. 2 00:00:10,430 --> 00:00:17,870 Qui ho ottenuto quel progetto con React Navigation cinque integrato così spesso su una sezione in cui mostro come 3 00:00:17,870 --> 00:00:20,670 aggiornare per reagire alla navigazione cinque. 4 00:00:21,260 --> 00:00:23,480 E non ho cambiato nient'altro. 5 00:00:23,750 --> 00:00:27,530 Quindi questa è l'app come la conosciamo, in esecuzione sui simulatori. 6 00:00:27,890 --> 00:00:34,040 E cara, possiamo ovviamente creare un account con alcune credenziali qui. 7 00:00:34,640 --> 00:00:36,410 Prima di tutto, devo registrarmi. 8 00:00:37,380 --> 00:00:41,460 E ora qui possiamo aggiungere prodotti e così via. 9 00:00:41,730 --> 00:00:46,350 Ora la mia idea è morta quando aggiungiamo un prodotto qui. 10 00:00:46,710 --> 00:00:54,120 In realtà non ci limitiamo a archiviare il prodotto con tutti i dati che stiamo caricando finora al 11 00:00:54,120 --> 00:00:57,960 momento, quando creiamo un prodotto, condividiamo titolo, descrizione, immagine. 12 00:00:57,990 --> 00:01:05,970 Sei El Price e proprietario I. D. Ma invece, oltre a condividere tutto ciò, voglio 13 00:01:05,970 --> 00:01:10,530 anche aggiungere il token push dal dispositivo dell'utente che ha aggiunto il suo prodotto. 14 00:01:10,770 --> 00:01:15,750 Quindi, per spingere Tolkan fuori dal venditore, voglio aggiungerlo anche al prodotto. 15 00:01:16,170 --> 00:01:16,710 Perché? 16 00:01:17,060 --> 00:01:23,700 In modo che quando recuperiamo i dati del prodotto, possiamo anche scaricare il token push che appartiene a un prodotto. 17 00:01:24,270 --> 00:01:30,960 E mentre non lo mostreremo agli altri utenti, lo useremo nel codice per garantire che quando viene effettuato 18 00:01:30,960 --> 00:01:35,280 un ordine, quando aggiungiamo un ordine, non ci limitiamo a archiviare. 19 00:01:35,280 --> 00:01:44,100 Papà ha ordinato i dati nel database, ma inviamo anche una notifica push al proprietario del prodotto che è 20 00:01:44,130 --> 00:01:49,740 stato appena ordinato facendogli sapere che il prodotto è stato ordinato. 21 00:01:50,100 --> 00:01:51,570 Questa è la mia idea qui. 22 00:01:53,060 --> 00:01:58,820 Ciò, ovviamente, significa che dovremo analizzare gli articoli presenti nel carrello e quindi invieremo una 23 00:01:58,880 --> 00:02:01,750 notifica push per ogni prodotto, in pratica. 24 00:02:01,910 --> 00:02:02,840 Questa è la mia idea 25 00:02:03,780 --> 00:02:09,740 Quindi, affinché il debito assicuri che funzioni, dobbiamo prima di tutto prepararci. 26 00:02:09,810 --> 00:02:12,120 Proietta per le notifiche push. 27 00:02:14,240 --> 00:02:22,100 Ciò significa che, prima di tutto, dovremmo andare su App Jason e aggiungere la voce Android qui 28 00:02:22,100 --> 00:02:28,030 dove abbiamo detto di usare la prossima API di notifica su true. 29 00:02:28,400 --> 00:02:31,430 Questo è quello che ti ho mostrato prima anche nelle altre lezioni. 30 00:02:32,030 --> 00:02:35,090 Dobbiamo tutti chiedere l'autorizzazione all'utente. 31 00:02:35,600 --> 00:02:38,210 Quindi la domanda è dove vogliamo farlo. 32 00:02:38,210 --> 00:02:40,600 Certo, visto che è Steve. 33 00:02:40,640 --> 00:02:44,690 Creatore di un prodotto che dovrebbe ricevere notifiche push. 34 00:02:45,110 --> 00:02:50,270 Chiederò l'autorizzazione prima di creare un nuovo prodotto. 35 00:02:50,750 --> 00:02:57,260 Quindi abbiamo il nostro utente, la nostra schermata del prodotto aggiunto, in cui creiamo un nuovo prodotto. 36 00:03:00,100 --> 00:03:07,660 E lì alla fine, attiviamo un'azione nel file di prodotti James qui che attiverà crea un'azione 37 00:03:07,660 --> 00:03:08,650 del prodotto. 38 00:03:09,220 --> 00:03:12,550 E ora le mie idee che chiedo il permesso qui. 39 00:03:12,940 --> 00:03:19,600 Poi prendo anche il token qui e quindi possiamo aggiungere un token ai dati in uscita che vengono inviati 40 00:03:19,600 --> 00:03:20,470 al server. 41 00:03:21,540 --> 00:03:31,380 Quindi, prima di tutto, Expo installa il pacchetto di notifiche di Expo e anche i permessi di Expo. 42 00:03:32,190 --> 00:03:36,420 E quindi usiamo entrambi proprio come abbiamo appreso durante le lezioni in questo modulo. 43 00:03:38,870 --> 00:03:44,090 Quindi, con quello installato qui e creare il prodotto prima di fare qualsiasi altra cosa. 44 00:03:45,160 --> 00:03:53,320 Vogliamo utilizzare l'API delle notifiche e per questo dobbiamo importare tutto come notifiche. 45 00:03:54,580 --> 00:03:55,240 A partire dal. 46 00:03:57,070 --> 00:04:05,110 Notifiche di Expo, e anche questo importa già tutto come autorizzazioni dalle autorizzazioni di Expo. 47 00:04:05,680 --> 00:04:15,300 E con questi due, l'API viene importata nel prodotto creato, possiamo usare le notifiche per ottenere il nostro token push expo. 48 00:04:15,700 --> 00:04:18,850 Tuttavia, come sai, non vogliamo direttamente farlo. 49 00:04:18,970 --> 00:04:26,170 Invece, prima di tutto vogliamo controllare lo stato delle autorizzazioni, quindi dovremmo usare le autorizzazioni e 50 00:04:26,560 --> 00:04:30,610 ottenere le informazioni su queste autorizzazioni di notifica. 51 00:04:31,150 --> 00:04:32,350 Questo restituisce una promessa. 52 00:04:32,440 --> 00:04:35,980 E poiché siamo nella funzione asincrona qui, possiamo semplicemente aspettarla. 53 00:04:36,880 --> 00:04:44,140 Ora, ciò che torneremo è un oggetto di stato morto, che ha quella proprietà di stato che ci dice se è 54 00:04:44,140 --> 00:04:46,180 stata concessa o meno un'autorizzazione. 55 00:04:46,810 --> 00:04:49,570 Quindi possiamo verificare se l'oggetto status. 56 00:04:50,430 --> 00:04:56,190 Lo stato di DOT potrebbe non essere concesso, il che significa che non abbiamo ancora i permessi. 57 00:04:56,760 --> 00:05:03,450 Quindi desideriamo utilizzare nuovamente l'API delle autorizzazioni per richiedere queste autorizzazioni di notifica. 58 00:05:03,540 --> 00:05:04,440 Con questo codice. 59 00:05:04,830 --> 00:05:06,660 E questo è tutto ciò che avevamo prima. 60 00:05:06,780 --> 00:05:09,740 Ora, solo con asincrono attendere invece di allora. 61 00:05:09,990 --> 00:05:11,700 Ma a parte questo, è lo stesso. 62 00:05:12,570 --> 00:05:16,470 E qui otterrà nuovamente il nostro status. 63 00:05:16,890 --> 00:05:17,490 Oggetto. 64 00:05:18,690 --> 00:05:22,100 Ora, dal momento che avremmo uno scontro di nomi, quest'anno siete tutti nominati. 65 00:05:22,230 --> 00:05:23,970 Oggetto stato aggiornato. 66 00:05:25,630 --> 00:05:31,000 E ovviamente, qui dovremmo anche aspettare, perché papà è un sincrono e restituisce una promessa. 67 00:05:31,840 --> 00:05:40,210 Quindi, in questo momento, possiamo ora verificare se l'oggetto stato aggiornato ha uno stato. 68 00:05:41,190 --> 00:05:42,780 Non è uguale a concesso. 69 00:05:42,930 --> 00:05:47,910 E in tal caso, sappiamo che non saremo in grado di inviare notifiche push. 70 00:05:50,190 --> 00:05:52,050 E papà sta benissimo. 71 00:05:52,410 --> 00:06:01,440 Creerò semplicemente una variabile token qui e imposterò token uguale a Knol qui per chiarire che semplicemente non abbiamo 72 00:06:01,440 --> 00:06:03,180 un token qui. 73 00:06:03,390 --> 00:06:06,780 In realtà, non chiamiamo il suo token perché abbiamo già usato quel nome. 74 00:06:06,990 --> 00:06:07,560 Diamo un nome. 75 00:06:08,010 --> 00:06:08,970 Token push. 76 00:06:09,150 --> 00:06:11,190 Perché papà è ciò che vogliamo recuperare alla fine. 77 00:06:12,090 --> 00:06:17,610 Quindi ci impostiamo su null qui se non abbiamo assolutamente ottenuto l'autorizzazione perché non c'è nulla che 78 00:06:17,610 --> 00:06:21,840 possiamo fare in quel caso, perché non abbiamo l'autorizzazione per inviare notifiche push. 79 00:06:22,110 --> 00:06:23,070 È quello che è. 80 00:06:24,220 --> 00:06:27,570 Ma nel caso dell'ELT, papà è scontato. 81 00:06:28,000 --> 00:06:36,970 In tal caso, possiamo impostare il nostro token push uguale alla notifica Stotz ottenere XPO Push, Tolkan asincrono e, naturalmente, questa 82 00:06:36,970 --> 00:06:38,530 è una promessa. 83 00:06:38,830 --> 00:06:40,570 Quindi dovremmo aspettare questo. 84 00:06:40,960 --> 00:06:43,780 E, naturalmente, non riceviamo direttamente il token. 85 00:06:44,560 --> 00:06:47,980 Invece, otteniamo un oggetto che ha un campo dati, se ricordi. 86 00:06:48,370 --> 00:06:52,360 E così potremmo racchiuderlo tra parentesi e chiamare i dati su quello. 87 00:06:53,050 --> 00:06:56,080 Ciò significa semplicemente che prima di tutto, questa promessa è stata risolta. 88 00:06:56,230 --> 00:07:02,680 Quindi chiamiamo i dati sull'oggetto risolto dopo averlo atteso per promettere e vedere il valore nei dati, che 89 00:07:02,680 --> 00:07:05,020 poi memorizziamo nella variabile token push. 90 00:07:05,710 --> 00:07:08,680 Quindi qui avremo il nostro token push, di cui abbiamo bisogno. 91 00:07:09,370 --> 00:07:12,130 Ora, quando lo abbiamo, possiamo continuare. 92 00:07:12,400 --> 00:07:13,420 E dato che eravamo un'attesa. 93 00:07:13,450 --> 00:07:16,780 Questo codice verrà eseguito solo quando papà avrà finito. 94 00:07:17,170 --> 00:07:19,170 Questa linea, ovviamente, dovrebbe essere rimossa ora. 95 00:07:19,810 --> 00:07:26,050 E ora, con i dati che abbiamo inviato al server, non inviamo semplicemente la descrizione del titolo, il 96 00:07:26,050 --> 00:07:29,130 proprietario I. D. , ma anche il token push del proprietario. 97 00:07:29,800 --> 00:07:31,840 E questo sarà il nostro token push qui. 98 00:07:34,480 --> 00:07:38,990 E questo è ora o è il nostro token che abbiamo ottenuto da XPO. 99 00:07:40,860 --> 00:07:47,790 Quindi ora ogni volta che creiamo un nuovo prodotto, idealmente siamo in grado di inviare il nostro token push. 100 00:07:48,210 --> 00:07:53,220 Ora ottenere Tolkan e tutto ciò non funzionerà sui simulatori, come hai appreso. 101 00:07:53,450 --> 00:07:57,420 Quindi, Dan, per tutte le sicurezze e di nuovo, il test è sul mio vero iPhone. 102 00:07:57,900 --> 00:08:03,090 Quindi, di nuovo, ho avviato la mia app qui e ho appena effettuato l'accesso con l'utente che abbiamo creato. 103 00:08:03,570 --> 00:08:09,120 E ora, sotto Admon, creerò un nuovo prodotto push. 104 00:08:10,230 --> 00:08:10,890 Tolkan. 105 00:08:17,570 --> 00:08:19,520 Ora dobbiamo immaginare che tu sia el. 106 00:08:21,430 --> 00:08:23,560 E ho appena preso un'immagine casuale. 107 00:08:24,550 --> 00:08:26,080 Ed Ellender, un premio qui. 108 00:08:27,350 --> 00:08:28,340 E una descrizione 109 00:08:30,540 --> 00:08:36,870 E confermato questo e sto ricevendo un errore, papà, l'oggetto stato aggiornato non è stato trovato e il debito ha senso perché 110 00:08:36,870 --> 00:08:42,810 in realtà sto impostando questo qui è un controllo, ma poi lo sto usando al di fuori del controllo sicuro 111 00:08:42,810 --> 00:08:43,270 . 112 00:08:43,270 --> 00:08:47,430 Quindi, ovviamente, questo ha lo scopo sbagliato, poca supervisione da parte mia. 113 00:08:47,820 --> 00:08:53,820 Possiamo risolverlo riutilizzando effettivamente l'oggetto status qui invece trasformandolo in una variabile con 114 00:08:53,820 --> 00:08:54,300 let. 115 00:08:54,870 --> 00:09:02,040 Quindi qui semplicemente impostiamo il nostro oggetto status su un nuovo valore e quindi utilizziamo nuovamente state come oggetto. 116 00:09:02,040 --> 00:09:03,090 Ecco se controllare. 117 00:09:03,390 --> 00:09:05,600 Ora l'ambito è giusto e questo funzionerà. 118 00:09:07,950 --> 00:09:09,090 Quindi proviamo di nuovo. 119 00:09:13,390 --> 00:09:20,560 Spingere, testare l'immagine inserita che ha selezionato inserire un prezzo e una descrizione. 120 00:09:21,370 --> 00:09:23,770 Questo è un test. 121 00:09:24,460 --> 00:09:26,290 Quindi chiudere è confermare questo. 122 00:09:26,860 --> 00:09:28,480 E ora questo sembra funzionare. 123 00:09:28,540 --> 00:09:29,770 Ho aggiunto il mio prodotto 124 00:09:30,810 --> 00:09:34,350 E ciò che sarà interessante ora è il nostro database. 125 00:09:35,030 --> 00:09:36,940 Ecco il mio database FIREBASE. 126 00:09:37,020 --> 00:09:40,840 Quindi il back-end che stiamo utilizzando e un nuovo prodotto è stato aggiunto qui. 127 00:09:41,160 --> 00:09:44,170 E in effetti, qui vediamo di nuovo il nostro token push. 128 00:09:44,490 --> 00:09:47,640 Ho aggiunto un overlay sul mio token dispositivo reale. 129 00:09:47,880 --> 00:09:55,050 Ma questo è ora un token push che ci consente di inviare una notifica all'utente che ha creato questo prodotto. 130 00:09:55,530 --> 00:10:02,460 Quindi ora lavoriamo su quell'altra parte e assicuriamoci di inviare effettivamente una notifica una volta che abbiamo 131 00:10:02,490 --> 00:10:04,470 effettivamente ordinato un prodotto.