Ora applichiamo ciò che abbiamo appreso durante le ultime lezioni nel nostro progetto di negozio che abbiamo realizzato per tutto questo corso.
Qui ho ottenuto quel progetto con React Navigation cinque integrato così spesso su una sezione in cui mostro come
aggiornare per reagire alla navigazione cinque.
E non ho cambiato nient'altro.
Quindi questa è l'app come la conosciamo, in esecuzione sui simulatori.
E cara, possiamo ovviamente creare un account con alcune credenziali qui.
Prima di tutto, devo registrarmi.
E ora qui possiamo aggiungere prodotti e così via.
Ora la mia idea è morta quando aggiungiamo un prodotto qui.
In realtà non ci limitiamo a archiviare il prodotto con tutti i dati che stiamo caricando finora al
momento, quando creiamo un prodotto, condividiamo titolo, descrizione, immagine.
Sei El Price e proprietario I. D. Ma invece, oltre a condividere tutto ciò, voglio
anche aggiungere il token push dal dispositivo dell'utente che ha aggiunto il suo prodotto.
Quindi, per spingere Tolkan fuori dal venditore, voglio aggiungerlo anche al prodotto.
Perché?
In modo che quando recuperiamo i dati del prodotto, possiamo anche scaricare il token push che appartiene a un prodotto.
E mentre non lo mostreremo agli altri utenti, lo useremo nel codice per garantire che quando viene effettuato
un ordine, quando aggiungiamo un ordine, non ci limitiamo a archiviare.
Papà ha ordinato i dati nel database, ma inviamo anche una notifica push al proprietario del prodotto che è
stato appena ordinato facendogli sapere che il prodotto è stato ordinato.
Questa è la mia idea qui.
Ciò, ovviamente, significa che dovremo analizzare gli articoli presenti nel carrello e quindi invieremo una
notifica push per ogni prodotto, in pratica.
Questa è la mia idea
Quindi, affinché il debito assicuri che funzioni, dobbiamo prima di tutto prepararci.
Proietta per le notifiche push.
Ciò significa che, prima di tutto, dovremmo andare su App Jason e aggiungere la voce Android qui
dove abbiamo detto di usare la prossima API di notifica su true.
Questo è quello che ti ho mostrato prima anche nelle altre lezioni.
Dobbiamo tutti chiedere l'autorizzazione all'utente.
Quindi la domanda è dove vogliamo farlo.
Certo, visto che è Steve.
Creatore di un prodotto che dovrebbe ricevere notifiche push.
Chiederò l'autorizzazione prima di creare un nuovo prodotto.
Quindi abbiamo il nostro utente, la nostra schermata del prodotto aggiunto, in cui creiamo un nuovo prodotto.
E lì alla fine, attiviamo un'azione nel file di prodotti James qui che attiverà crea un'azione
del prodotto.
E ora le mie idee che chiedo il permesso qui.
Poi prendo anche il token qui e quindi possiamo aggiungere un token ai dati in uscita che vengono inviati
al server.
Quindi, prima di tutto, Expo installa il pacchetto di notifiche di Expo e anche i permessi di Expo.
E quindi usiamo entrambi proprio come abbiamo appreso durante le lezioni in questo modulo.
Quindi, con quello installato qui e creare il prodotto prima di fare qualsiasi altra cosa.
Vogliamo utilizzare l'API delle notifiche e per questo dobbiamo importare tutto come notifiche.
A partire dal.
Notifiche di Expo, e anche questo importa già tutto come autorizzazioni dalle autorizzazioni di Expo.
E con questi due, l'API viene importata nel prodotto creato, possiamo usare le notifiche per ottenere il nostro token push expo.
Tuttavia, come sai, non vogliamo direttamente farlo.
Invece, prima di tutto vogliamo controllare lo stato delle autorizzazioni, quindi dovremmo usare le autorizzazioni e
ottenere le informazioni su queste autorizzazioni di notifica.
Questo restituisce una promessa.
E poiché siamo nella funzione asincrona qui, possiamo semplicemente aspettarla.
Ora, ciò che torneremo è un oggetto di stato morto, che ha quella proprietà di stato che ci dice se è
stata concessa o meno un'autorizzazione.
Quindi possiamo verificare se l'oggetto status.
Lo stato di DOT potrebbe non essere concesso, il che significa che non abbiamo ancora i permessi.
Quindi desideriamo utilizzare nuovamente l'API delle autorizzazioni per richiedere queste autorizzazioni di notifica.
Con questo codice.
E questo è tutto ciò che avevamo prima.
Ora, solo con asincrono attendere invece di allora.
Ma a parte questo, è lo stesso.
E qui otterrà nuovamente il nostro status.
Oggetto.
Ora, dal momento che avremmo uno scontro di nomi, quest'anno siete tutti nominati.
Oggetto stato aggiornato.
E ovviamente, qui dovremmo anche aspettare, perché papà è un sincrono e restituisce una promessa.
Quindi, in questo momento, possiamo ora verificare se l'oggetto stato aggiornato ha uno stato.
Non è uguale a concesso.
E in tal caso, sappiamo che non saremo in grado di inviare notifiche push.
E papà sta benissimo.
Creerò semplicemente una variabile token qui e imposterò token uguale a Knol qui per chiarire che semplicemente non abbiamo
un token qui.
In realtà, non chiamiamo il suo token perché abbiamo già usato quel nome.
Diamo un nome.
Token push.
Perché papà è ciò che vogliamo recuperare alla fine.
Quindi ci impostiamo su null qui se non abbiamo assolutamente ottenuto l'autorizzazione perché non c'è nulla che
possiamo fare in quel caso, perché non abbiamo l'autorizzazione per inviare notifiche push.
È quello che è.
Ma nel caso dell'ELT, papà è scontato.
In tal caso, possiamo impostare il nostro token push uguale alla notifica Stotz ottenere XPO Push, Tolkan asincrono e, naturalmente, questa
è una promessa.
Quindi dovremmo aspettare questo.
E, naturalmente, non riceviamo direttamente il token.
Invece, otteniamo un oggetto che ha un campo dati, se ricordi.
E così potremmo racchiuderlo tra parentesi e chiamare i dati su quello.
Ciò significa semplicemente che prima di tutto, questa promessa è stata risolta.
Quindi chiamiamo i dati sull'oggetto risolto dopo averlo atteso per promettere e vedere il valore nei dati, che
poi memorizziamo nella variabile token push.
Quindi qui avremo il nostro token push, di cui abbiamo bisogno.
Ora, quando lo abbiamo, possiamo continuare.
E dato che eravamo un'attesa.
Questo codice verrà eseguito solo quando papà avrà finito.
Questa linea, ovviamente, dovrebbe essere rimossa ora.
E ora, con i dati che abbiamo inviato al server, non inviamo semplicemente la descrizione del titolo, il
proprietario I. D. , ma anche il token push del proprietario.
E questo sarà il nostro token push qui.
E questo è ora o è il nostro token che abbiamo ottenuto da XPO.
Quindi ora ogni volta che creiamo un nuovo prodotto, idealmente siamo in grado di inviare il nostro token push.
Ora ottenere Tolkan e tutto ciò non funzionerà sui simulatori, come hai appreso.
Quindi, Dan, per tutte le sicurezze e di nuovo, il test è sul mio vero iPhone.
Quindi, di nuovo, ho avviato la mia app qui e ho appena effettuato l'accesso con l'utente che abbiamo creato.
E ora, sotto Admon, creerò un nuovo prodotto push.
Tolkan.
Ora dobbiamo immaginare che tu sia el.
E ho appena preso un'immagine casuale.
Ed Ellender, un premio qui.
E una descrizione
E confermato questo e sto ricevendo un errore, papà, l'oggetto stato aggiornato non è stato trovato e il debito ha senso perché
in realtà sto impostando questo qui è un controllo, ma poi lo sto usando al di fuori del controllo sicuro
.
Quindi, ovviamente, questo ha lo scopo sbagliato, poca supervisione da parte mia.
Possiamo risolverlo riutilizzando effettivamente l'oggetto status qui invece trasformandolo in una variabile con
let.
Quindi qui semplicemente impostiamo il nostro oggetto status su un nuovo valore e quindi utilizziamo nuovamente state come oggetto.
Ecco se controllare.
Ora l'ambito è giusto e questo funzionerà.
Quindi proviamo di nuovo.
Spingere, testare l'immagine inserita che ha selezionato inserire un prezzo e una descrizione.
Questo è un test.
Quindi chiudere è confermare questo.
E ora questo sembra funzionare.
Ho aggiunto il mio prodotto
E ciò che sarà interessante ora è il nostro database.
Ecco il mio database FIREBASE.
Quindi il back-end che stiamo utilizzando e un nuovo prodotto è stato aggiunto qui.
E in effetti, qui vediamo di nuovo il nostro token push.
Ho aggiunto un overlay sul mio token dispositivo reale.
Ma questo è ora un token push che ci consente di inviare una notifica all'utente che ha creato questo prodotto.
Quindi ora lavoriamo su quell'altra parte e assicuriamoci di inviare effettivamente una notifica una volta che abbiamo
effettivamente ordinato un prodotto.