Maintenant, appliquons ce que nous avons appris au cours des dernières conférences de notre projet d'atelier que nous avons construit pour tout ce cours.
Ici, j'ai eu ce projet avec React Navigation Five intégré si souvent dans une section où je montre comment
mettre à niveau pour React Navigation Five.
Et je n'ai rien changé d'autre.
Voici donc l'application telle que nous la connaissons, fonctionnant sur les simulateurs.
Et cher, nous pouvons bien sûr créer un compte avec des informations d'identification ici.
Tout d'abord, je dois m'inscrire.
Et maintenant, ici, nous pouvons ajouter des produits et ainsi de suite.
Maintenant, mon idée est morte lorsque nous ajoutons un produit ici.
En fait, nous ne stockons pas seulement le produit avec toutes les données que nous téléchargeons jusqu'à présent, lorsque nous
créons un produit, nous partageons le titre, la description, l'image.
Vous êtes El Price et propriétaire I. RÉ. Mais à la place, en plus de partager tout
cela, je veux également ajouter le jeton push sur l'appareil de l'utilisateur qui a ajouté son produit.
Donc, pour pousser Tolkan hors du vendeur, je veux également l'ajouter au produit.
Pourquoi?
Ainsi, lorsque nous récupérons les données du produit, nous pouvons également télécharger le jeton push qui appartient à un produit.
Et bien que nous ne le montrions pas aux autres utilisateurs, nous l'utiliserons dans le code pour nous assurer que lorsqu'une commande
est passée, lorsque nous ajoutons une commande, nous ne nous contentons pas de stocker.
Papa a commandé des données dans la base de données, mais nous envoyons également une notification push au propriétaire du produit qui
vient d'être commandé pour lui faire savoir que le produit a été commandé.
C'est mon idée ici.
Cela signifie, bien sûr, que nous devrons analyser les articles qui sont dans le panier, puis nous
enverrons une notification push pour chaque produit, essentiellement.
Voilà mon idée.
Donc, pour que la dette s'assure que cela fonctionne, nous devons d'abord nous préparer.
Projette des notifications push.
Cela signifie que nous devons tout d'abord aller sur App Jason et ajouter cette entrée Android ici
où nous avons dit utiliser la prochaine API de notifications à true.
C'est ce que je vous ai montré auparavant dans les autres conférences également.
Nous devons tous demander la permission à l'utilisateur.
La question est donc de savoir où nous voulons le faire.
Bien sûr, puisque c'est Steve.
Créateur d'un produit qui devrait recevoir des notifications push.
Je vais demander la permission juste avant de créer un nouveau produit.
Nous avons donc notre utilisateur, notre écran de produit ajouté, où nous créons un nouveau produit.
Et là, à la fin, nous déclenchons une action dans le produit que le fichier James déclenchera ici créera une
action produit.
Et maintenant, mes idées que je demande la permission ici.
Je récupère ensuite le jeton ici, puis nous pouvons ajouter un jeton aux données sortantes envoyées
au serveur.
Par conséquent, nous allons tout d'abord, Expo installer le package de notifications Expo ainsi que les autorisations Expo.
Et ensuite, utilisons les deux comme nous l'avons appris au cours des conférences de ce module.
Donc, avec cela installé ici et créez le produit avant de faire quoi que ce soit d'autre.
Nous voulons utiliser l'API de notifications, et pour cela, nous devons tout importer en tant que notifications.
De.
Notifications Expo, et c'est aussi déjà tout importer en tant qu'autorisations à partir des autorisations Expo.
Et avec ces deux, l'API est importée dans le produit de création, nous pouvons utiliser des notifications pour obtenir notre jeton expo push.
Cependant, comme vous le savez, nous ne voulons pas directement le faire.
Au lieu de cela, nous voulons tout d'abord vérifier l'état des autorisations, nous devons donc utiliser les autorisations
et obtenir les informations sur l'autorisation de ces notifications.
Cela renvoie une promesse.
Et puisque nous sommes ici dans la fonction asynchrone, nous pouvons simplement l'attendre.
Maintenant, ce que nous allons récupérer est un objet d'état mort, qui a cette propriété d'état qui nous indique si une autorisation
a été accordée ou non.
Nous pouvons donc vérifier si l'objet d'état.
Le statut de DOT n'est peut-être pas accordé, ce qui signifie que nous n'avons pas encore d'autorisations.
Ensuite, nous voulons utiliser à nouveau l'API des autorisations pour demander l'autorisation de ces notifications.
Avec ce code.
Et c'est tout ce que nous avions avant.
Maintenant, juste avec async, attendez au lieu d’alors.
Mais à part ça, c'est la même chose.
Et ici, nous obtiendrons à nouveau notre statut.
Objet.
Maintenant, puisque nous aurions un conflit de noms, vous êtes tous nommés cette année.
Objet d'état mis à jour.
Et bien sûr, ici, nous devons également attendre, car papa est synchrone et il renvoie une promesse.
Donc, à ce stade, nous pouvons maintenant vérifier si l'objet d'état mis à jour a un état.
Ce n'est pas égal à accordé.
Et si c'est le cas, nous savons que nous ne pourrons pas envoyer de notifications push.
Et papa va très bien.
Je vais simplement créer une variable de jeton ici et définir un jeton égal à Knol ici pour qu'il soit très clair que nous n'avons tout
simplement pas de jeton ici.
En fait, ne nommons pas son jeton car nous avons déjà utilisé ce nom.
Appelons-le.
Poussez le jeton.
Parce que papa est ce que nous voulons récupérer à la fin.
Nous nous sommes donc mis à null ici si nous n'avons absolument pas obtenu l'autorisation, car nous ne pouvons rien faire
dans ce cas, car nous n'avons alors tout simplement pas l'autorisation d'envoyer des notifications push.
C'est ce que c'est.
Mais dans le cas de l'ELT, papa le fait.
Dans ce cas, nous pouvons définir notre jeton push égal à la notification Stotz get XPO Push, Tolkan async et bien sûr,
c'est une promesse.
Nous devons donc attendre cela.
Et bien sûr, nous n'obtenons pas directement le jeton.
Au lieu de cela, nous obtenons un objet qui a un champ de données, si vous vous en souvenez.
Et donc nous pourrions envelopper ici entre crochets et appeler des données à ce sujet.
Cela signifie simplement que tout d’abord, cette promesse est tenue.
Ensuite, nous appelons des données sur l'objet résolu après l'avoir attendu pour promettre et voir la valeur dans les données, que nous
stockons ensuite dans la variable push token.
Nous avons donc ici notre jeton push, dont nous avons besoin.
Maintenant, quand nous avons cela, nous pouvons continuer.
Et puisque nous étions en attente.
Ce code ne s'exécutera qu'une fois que papa aura terminé.
Cette ligne, bien sûr, devrait être supprimée maintenant.
Et maintenant, avec les données que nous avons envoyées au serveur, nous n'envoyons pas seulement la description du titre,
le propriétaire I. RÉ. , mais aussi le jeton push propriétaire.
Et ce sera notre jeton de poussée ici.
Et c'est soit maintenant, soit c'est notre jeton que nous avons obtenu de XPO.
Alors maintenant, chaque fois que nous créons un nouveau produit, idéalement, nous pouvons envoyer notre jeton push.
Maintenant, c'est Tolkan et tout cela ne fonctionnera pas sur les simulateurs, comme vous l'avez appris.
Donc, Dan, pour toutes les sécurités et encore, le test est sur mon vrai iPhone.
Donc, encore une fois, mon application démarre ici et je viens de me connecter avec l'utilisateur que nous avons créé.
Et maintenant, sous Admon, je vais créer une nouvelle poussée de produit.
Tolkan.
Maintenant, nous devons vous représenter.
Et je viens de saisir une image aléatoire.
Et Ellender, un prix ici.
Et une description.
Et j'ai confirmé cela et je reçois une erreur, papa, l'objet d'état mis à jour n'a pas été trouvé et la dette
est logique car en fait je le place ici dans un chèque, mais je l'utilise en dehors du contrôle sécurisé
.
Donc, bien sûr, cela a une mauvaise portée, peu de surveillance de ma part.
Nous pouvons résoudre ce problème en réutilisant réellement l'objet d'état ici en le transformant en une variable avec
let.
Ensuite, nous définissons simplement notre objet d'état sur une nouvelle valeur, puis nous utilisons à nouveau l'état comme objet.
Voici si vérifier.
Maintenant, la portée est bonne et cela fonctionnera.
Essayons donc à nouveau.
Poussez, testez l'image insérée qui a choisi d'insérer un prix et une description.
C'est un test.
Ensuite, fermez est de confirmer cela.
Et maintenant, cela semble fonctionner.
J'ai ajouté mon produit.
Et ce qui sera intéressant maintenant, c'est notre base de données.
Voici ma base de données FIREBASE.
Donc, le back-end que nous utilisons et un nouveau produit a été ajouté ici.
Et en effet, ici, nous voyons à nouveau notre jeton push.
J'ai ajouté une superposition sur mon jeton d'appareil réel.
Mais c'est maintenant un jeton push qui nous permet d'envoyer une notification à l'utilisateur qui a créé ce produit.
Alors maintenant, travaillons sur cette autre partie et assurons-nous que nous envoyons bien une notification une fois que nous
avons effectivement commandé un produit.