1 00:00:02,270 --> 00:00:04,340 Travaillons donc sur la partie commande. 2 00:00:04,370 --> 00:00:10,670 Maintenant, chaque fois qu'une nouvelle commande est passée, nous voulons envoyer une notification, une notification push. 3 00:00:11,060 --> 00:00:16,190 Nous stockons maintenant ce propriétaire, Push Tolkan, dont nous avons besoin pour envoyer une notification. 4 00:00:16,640 --> 00:00:18,680 Et en fait, nous avons deux options. 5 00:00:18,710 --> 00:00:26,660 Maintenant, puisque tout est sur le back-end, nous pourrions envoyer cette demande pour exposer le serveur push à partir du back-end, soit 6 00:00:26,660 --> 00:00:32,930 en utilisant l'un des cas Expo ESTA que je vous ai montré plus tôt, comme celui 7 00:00:32,930 --> 00:00:40,270 de Noad et P HP, selon quelle langue vous utilisez sur votre backend ou en envoyant simplement le même âge. 8 00:00:40,280 --> 00:00:46,640 La demande TDP que nous avons envoyée de l'intérieur de l'application plus tôt de votre dos et de votre père serait également une option. 9 00:00:47,210 --> 00:00:51,140 Maintenant, Firebase est un dos spécial et nous ne le possédons pas entièrement. 10 00:00:51,530 --> 00:00:56,330 Nous utilisons plutôt les services que nous avons en effet avec les fonctions cloud. 11 00:00:56,360 --> 00:01:02,420 Il y aurait un service qui nous permettrait d'exécuter du code côté serveur et nous pourrions tout faire fonctionner. 12 00:01:02,660 --> 00:01:06,500 Mais comme l'utilisation des fonctions cloud n'est plus entièrement gratuite. 13 00:01:06,800 --> 00:01:08,410 Je ne veux pas montrer cette année. 14 00:01:08,660 --> 00:01:13,250 Je veux juste que vous sachiez que vous pouvez absolument trouver du code sur le serveur. 15 00:01:13,460 --> 00:01:20,300 Cela vous coûterait une notification push à envoyer depuis l'intérieur de ce serveur afin que ce déclenchement se produise ici sur 16 00:01:20,300 --> 00:01:21,290 le serveur. 17 00:01:21,800 --> 00:01:23,840 Maintenant, je vais le faire depuis l'application et commencer. 18 00:01:23,940 --> 00:01:25,490 Le coucher de soleil est plus facile pour nous ici. 19 00:01:25,670 --> 00:01:27,890 Mais ce n'est qu'une option possible. 20 00:01:28,490 --> 00:01:34,730 Maintenant, de l'intérieur, l'application enverra la notification comme nous l'avons fait avant ici dans l'ordre d'ajout. 21 00:01:34,790 --> 00:01:36,020 Nous voulons l'envoyer. 22 00:01:36,470 --> 00:01:39,020 Et là, nous avons obtenu nos articles de chariot. 23 00:01:39,680 --> 00:01:41,570 Maintenant, les articles du panier que nous obtenons. 24 00:01:41,660 --> 00:01:44,600 Jetons un bref coup d'œil à ce qui s'y trouve exactement. 25 00:01:45,700 --> 00:01:52,510 Donc, si vous allez au magasin, aux commandes de l'écran de la carte, c'est là que nous avons envoyé son action. 26 00:01:53,750 --> 00:01:56,360 L'action d'ajout de commande avec les éléments de la carte. 27 00:01:56,900 --> 00:02:05,180 Et si nous jetons un coup d'œil à nos articles de panier, nous voyons que les articles de carte indienne sont récupérés dans notre magasin 28 00:02:05,780 --> 00:02:13,400 redux et les articles de carte seront un tableau où nous aurons finalement des objets où chaque objet a un produit que le 29 00:02:13,400 --> 00:02:16,550 produit intitulé Produit Prix Prix Quantité se termine le. 30 00:02:17,150 --> 00:02:23,000 Donc, ce dont nous avons besoin ici, c'est que nous avons également besoin du jeton de poussée du produit. 31 00:02:23,180 --> 00:02:29,090 Donc, le jeton du créateur de ce produit à la fin et nous pouvons l'obtenir de l'intérieur de notre état. 32 00:02:31,480 --> 00:02:32,800 Ils viennent du chariot. 33 00:02:34,650 --> 00:02:36,570 À partir des éléments de cette clé. 34 00:02:36,590 --> 00:02:40,460 Donc, fondamentalement, ce que nous faisons là-haut et là-bas, recherchons un jeton push. 35 00:02:40,860 --> 00:02:46,320 Maintenant, c'est un domaine qui ne sera pas encore là parce que nous devons d'abord apporter 36 00:02:46,320 --> 00:02:48,540 des modifications à notre magasin là-bas. 37 00:02:48,570 --> 00:02:50,790 Voyons le réducteur de cartes. 38 00:02:52,210 --> 00:02:56,800 Lorsqu'un produit est ajouté à la carte, nous obtenons ici des informations sur ce produit. 39 00:02:57,250 --> 00:03:00,880 Et de là on extrait par exemple le titre et le prix. 40 00:03:04,600 --> 00:03:10,030 Et puis à la fin, nous avons ajouté son prix et son titre à notre panier. 41 00:03:10,630 --> 00:03:13,300 Maintenant, nous n'avons pas seulement besoin de prix au titre. 42 00:03:13,360 --> 00:03:15,070 Nous devons également pousser Tolkan. 43 00:03:15,580 --> 00:03:18,760 Alors ici, nous allons extraire la poussée, jeton de ce produit. 44 00:03:19,090 --> 00:03:22,060 Ajoutez donc un produit dot push Tolkan, par exemple. 45 00:03:22,540 --> 00:03:26,770 Il s'agit également d'un champ qui n'existera pas encore sur un produit, mais qui changera dès que possible. 46 00:03:27,670 --> 00:03:28,900 Et puis nous pouvons ajouter cette poussée. 47 00:03:28,900 --> 00:03:33,880 Tolkan, disons, comme troisième argument ici pour le panier. 48 00:03:34,390 --> 00:03:38,950 Et ici aussi désolé, c'est le quatrième argument, bien sûr. 49 00:03:39,850 --> 00:03:43,300 J'ajoute donc cela comme quatrième argument au constructeur de l'élément de carte. 50 00:03:43,890 --> 00:03:46,760 Maintenant, pour papa, nous devons changer de constructeur d'article de panier. 51 00:03:47,080 --> 00:03:54,130 Donc, ici, un élément de carte ne devrait pas réellement recevoir ce jeton de poussée comme quatrième argument, puis stocké 52 00:03:54,130 --> 00:03:54,490 ici. 53 00:03:54,910 --> 00:03:57,640 Donc, ce jeton push est égal au jeton push. 54 00:04:00,580 --> 00:04:06,340 Mais nous ne sommes toujours pas là parce que maintenant je stocke cela pour chaque élément de la carte, mais je l'obtiens. 55 00:04:08,930 --> 00:04:13,460 De mon produit et un produit n'a pas encore de jeton. 56 00:04:13,790 --> 00:04:20,780 Oui, il en a un sur Firebase, mais nous ne récupérons pas ces données ou nous n'utilisons pas ces données dans notre application 57 00:04:20,780 --> 00:04:21,830 de site client. 58 00:04:21,890 --> 00:04:25,640 Dans cette application native réagir à la place ici dans le. 59 00:04:26,640 --> 00:04:36,120 Fichier d'actions des produits ici, les produits poursuivent des actions où nous récupérons tous les produits ici, récupérez les produits. 60 00:04:36,540 --> 00:04:42,720 Ce que nous faisons, c'est extraire des choses comme l'idée, le prix du titre, etc. et créer un nouveau produit basé 61 00:04:42,720 --> 00:04:45,360 sur notre modèle de produit avec ces informations. 62 00:04:46,050 --> 00:04:49,260 Maintenant, ici, nous devrions également obtenir cela. 63 00:04:51,220 --> 00:04:52,600 Propriétaire Push Tolkan. 64 00:04:53,750 --> 00:05:01,460 Tout comme nous extrayons le propriétaire I. RÉ. , nous souhaitons donc obtenir ici le jeton push propriétaire pour les 65 00:05:01,460 --> 00:05:02,000 produits individuels. 66 00:05:02,120 --> 00:05:07,070 Et ajoutez cela à notre modèle de produit, par exemple, comme troisième argument. 67 00:05:08,760 --> 00:05:12,840 Alors maintenant, nous devons aller au modèle de produits, au modèle de produit ici. 68 00:05:12,870 --> 00:05:14,630 Désolé, produit et modèles. 69 00:05:15,270 --> 00:05:22,050 Et là, comme troisième argument, nous devons maintenant accepter le propriétaire, pousser Tolkan et le stocker. 70 00:05:22,770 --> 00:05:29,520 Et je vais nommer ce champ, Push Tolkan et y stocker mon propriétaire, Push Tolkan, car 71 00:05:29,820 --> 00:05:36,940 Push Tolkan est le nom de champ que j'ai également utilisé ici dans le réducteur de chariot là-bas. 72 00:05:36,990 --> 00:05:40,000 J'accède au produit ajouté push push Tolkan. 73 00:05:40,530 --> 00:05:46,860 Donc, si vous utilisez le nom différent ici pour récupérer un jeton pour un produit donné, vous devez également saisir un nom de justice 74 00:05:46,860 --> 00:05:48,780 ici dans le modèle de produit. 75 00:05:50,060 --> 00:05:56,000 Mais avec tous ces changements, nous nous assurons que nous récupérons le jeton qui est stocké pour chaque 76 00:05:56,000 --> 00:05:56,450 produit. 77 00:05:56,990 --> 00:06:01,220 Et nous l'utilisons et le stockons dans le front-end, dans nos modèles également. 78 00:06:01,700 --> 00:06:04,580 Et nous le stockons dans chaque modèle de produit que nous créons. 79 00:06:04,610 --> 00:06:05,840 Chaque instance de produit. 80 00:06:06,200 --> 00:06:12,140 Et nous le stockons également dans nos articles de panier, que nous ajoutons à notre panier ici dans la boutique Redux. 81 00:06:12,980 --> 00:06:18,200 Alors maintenant, chaque élément de carte aura un jeton push et notre modèle d'élément de carte. 82 00:06:18,300 --> 00:06:26,600 Tous ces magasins qui, dans une clé nommée push token, pourront désormais obtenir ces données lors de 83 00:06:26,600 --> 00:06:28,100 la commande. 84 00:06:31,170 --> 00:06:37,560 Maintenant, nous n'avons pas seulement besoin de mettre à jour la façon dont nous créons des produits ici dans les produits G. S. tombent, les actions tombent, mais aussi dans les 85 00:06:37,560 --> 00:06:42,540 réducteurs, dans les produits, G. S. fichier dans les réducteurs. 86 00:06:42,910 --> 00:06:48,990 Là, nous devons créer un étui de produit, que nous traitons où nous instancions également notre produit. 87 00:06:50,210 --> 00:06:57,620 Maintenant, puisque nous avons changé notre modèle de produit pour prendre Tolkan comme troisième argument ici, nous devons également 88 00:06:57,620 --> 00:07:00,050 mettre à jour ici, bien sûr. 89 00:07:00,530 --> 00:07:01,430 Alors voilà. 90 00:07:03,020 --> 00:07:09,470 Troisième argument, le titre ne doit plus être le titre, mais doit plutôt provenir de 91 00:07:09,470 --> 00:07:10,820 nos données produit. 92 00:07:11,510 --> 00:07:13,220 Et là, ça devrait être pour pousser Tolkan. 93 00:07:14,600 --> 00:07:21,140 Maintenant, pour la dette, bien sûr, à notre tour, nous devons vérifier où nous expédions créer le produit pour nous assurer 94 00:07:21,140 --> 00:07:26,570 que l'action qui ajoute des données produit ajoute également un jeton push à ces données produit. 95 00:07:28,810 --> 00:07:32,560 Nous créons également un nouveau produit là-bas, un produit de mise à jour. 96 00:07:32,620 --> 00:07:33,850 Et là c'est pareil. 97 00:07:34,650 --> 00:07:41,740 Le nouveau troisième argument que nous obtenons ici dans le constructeur de produit devrait dans ce cas être les produits 98 00:07:41,740 --> 00:07:44,340 utilisateur d'état pour l'indice de produit donné. 99 00:07:45,100 --> 00:07:53,560 Et là encore, c'est le Push Tolkan, Push, Tolkan est le nom que nous avons ici parce que papa ici accédera à 100 00:07:53,560 --> 00:08:00,430 un produit stocké dans notre champ de produits utilisateur et ce produit devra former notre modèle de 101 00:08:00,430 --> 00:08:00,880 produit. 102 00:08:01,180 --> 00:08:03,310 Et là, j'ai choisi Push Tolkan comme nom. 103 00:08:03,610 --> 00:08:06,570 Donc, il y a aussi Push Tolkan comme nom ici. 104 00:08:12,230 --> 00:08:18,620 Donc, avec ce retour au cas de création de produit, comme je l'ai dit, nous devons maintenant aller 105 00:08:18,620 --> 00:08:23,270 à l'endroit où cette action est envoyée pour garantir que les données appropriées. 106 00:08:23,330 --> 00:08:25,820 Le jeton push est ajouté à l'action. 107 00:08:26,750 --> 00:08:32,990 Maintenant, ce sont les produits G. S. fichier dans le dossier d'actions, et ils sont créer un créateur d'action produit. 108 00:08:33,290 --> 00:08:37,130 Lorsque nous expédions, cela crée finalement une action sur le produit. 109 00:08:37,550 --> 00:08:43,370 Et donc ici pour produire des données n'importe où dans cet objet, nous devons nous assurer que nous ajoutons également 110 00:08:43,370 --> 00:08:44,360 un jeton push. 111 00:08:44,930 --> 00:08:50,360 Et maintenant, cette valeur de jeton push est simplement pour pousser Tolkan que nous utilisons déjà là-haut. 112 00:08:50,480 --> 00:08:52,190 Nous devons donc stocker cela ici également. 113 00:08:54,380 --> 00:08:58,970 Et avec papa, nous nous assurons de ne pas avoir d'erreur lorsque nous créons un nouveau produit. 114 00:08:59,600 --> 00:09:01,400 Sinon, nous en aurions un. 115 00:09:03,650 --> 00:09:09,440 Revenez donc ici dans le fichier d'actions de commandes dans l'action ajouter une commande ici. 116 00:09:09,470 --> 00:09:17,480 Nous voulons maintenant obtenir notre jeton à l'intérieur de l'élément de carte et envoyer une telle demande de notification push. 117 00:09:18,080 --> 00:09:25,220 Peut-être après avoir ajouté la commande réelle sur notre serveur, car l'envoi de la notification push est moins important que le stockage 118 00:09:25,430 --> 00:09:27,170 des données sur le serveur. 119 00:09:27,290 --> 00:09:28,550 Je dirais que oui. 120 00:09:28,610 --> 00:09:32,150 Dhafer, après que cette demande a été envoyée ici. 121 00:09:33,520 --> 00:09:41,380 Après avoir ajouté la commande dans notre boutique Redux, après tout cela, nous voulons envoyer nos notifications push. 122 00:09:44,050 --> 00:09:49,420 Maintenant, pour papa, nous devrons parcourir tous les éléments de la carte que nous avons ici et envoyer une notification par 123 00:09:49,420 --> 00:09:49,840 élément. 124 00:09:50,110 --> 00:09:54,640 C'est une autre raison pour laquelle vous voudrez peut-être envisager de le faire du côté du service. 125 00:09:54,910 --> 00:09:57,370 Si vous avez beaucoup d'articles, cela peut prendre un certain temps. 126 00:09:57,640 --> 00:09:59,730 Et pour le moment, papa travaillera tous. 127 00:09:59,770 --> 00:10:04,130 Cela se produit ici dans notre application React Native sur le client, pas sur le serveur. 128 00:10:05,390 --> 00:10:11,570 Sur le serveur, c'est peut-être mieux car cela supprime ce travail de votre client, mais pour deux raisons mentionnées, puisque nous 129 00:10:11,660 --> 00:10:16,670 n'avons pas notre propre serveur, puisque nous utilisons firebase et cloud, les fonctions ne sont plus 130 00:10:16,670 --> 00:10:19,370 libres d'utiliser à cause de toutes ces raisons. 131 00:10:19,730 --> 00:10:23,840 J'utiliserai en fait la solution sous-optimale pour déclencher cela sur le client. 132 00:10:24,050 --> 00:10:29,870 Donc, au lieu de l'application React Native et depuis un an, nous voulons passer en revue tous les éléments supprimés. 133 00:10:29,870 --> 00:10:39,110 Nous avons si peu de tous nos éléments de carte ici et pour chaque élément de carte, nous voulons obtenir le jeton push simplement en accédant 134 00:10:39,110 --> 00:10:41,840 à l'élément de carte, point, push, token. 135 00:10:43,470 --> 00:10:45,720 Et puis nous voulons envoyer notre demande. 136 00:10:46,080 --> 00:10:51,150 Donc, encore une fois, avec l'API Fetch ici, nous voulons envoyer la demande aux HTP. 137 00:10:51,690 --> 00:11:01,080 Et puis papa était ex DOD host slash dash, dash, slash, api slash, b2 slash, push, slash, send and add the second 138 00:11:01,740 --> 00:11:10,350 object where we configure this request to set its method to post and to also add a couple of headers 139 00:11:10,350 --> 00:11:11,460 here . 140 00:11:12,300 --> 00:11:16,530 Et nous voulions accepter un en-tête qui devrait être une application. 141 00:11:17,070 --> 00:11:29,040 Jason, nous voulions accepter et coder l'en-tête qui devrait être dégonfler Jessep et nous voulons ici le type de contenu Petyr, 142 00:11:29,640 --> 00:11:33,210 qui devrait également être l'application Jason. 143 00:11:33,840 --> 00:11:39,750 Mais maintenant, encore plus important, nous voulons ajouter notre corps à la demande, qui devrait 144 00:11:39,750 --> 00:11:47,160 être un objet fide adjacent et filandreux dans lequel nous pointons maintenant cette poussée Tolkan avec les deux champs. 145 00:11:49,800 --> 00:11:56,340 Et puis nous pouvons ajouter des informations supplémentaires, nous pourrions ajouter des métadonnées supplémentaires sur l'élément de carte, par exemple, pour 146 00:11:56,510 --> 00:11:58,270 lequel la notification est envoyée. 147 00:11:58,740 --> 00:12:02,430 Mais ici, tout simplement ajouter un titre de commande a été placé. 148 00:12:03,500 --> 00:12:12,800 Et puis corps pour cette notification push où j'ai simplement partagé, disons, le titre du produit qui a 149 00:12:12,890 --> 00:12:13,940 été commandé. 150 00:12:14,480 --> 00:12:20,630 Gardez à l'esprit que dans le titre de chaque voiture, nous stockons le titre du produit dans un champ de titre de produit. 151 00:12:21,530 --> 00:12:29,210 Par conséquent, de retour ici dans le fichier d'actions de commandes, je peux accéder au titre du produit DOT de l'élément de carte pour partager ce 152 00:12:29,210 --> 00:12:33,800 titre de produit dans le cadre de la notification push qui doit être envoyée. 153 00:12:36,250 --> 00:12:42,420 Et c'est à la fin avec papa, nous allons planifier un tas de demandes HTP. 154 00:12:42,730 --> 00:12:45,190 Je n'attends pas leurs réponses. 155 00:12:45,220 --> 00:12:47,030 Je ne gère pas les réponses. 156 00:12:47,380 --> 00:12:51,610 Vous pouvez examiner ces réponses et essayer de gérer les erreurs possibles. 157 00:12:52,090 --> 00:12:53,590 Mais à la fin, cela devrait fonctionner. 158 00:12:53,980 --> 00:12:59,920 Et si pour une raison quelconque, une notification push ne doit pas passer dans ce cas, ce n'est pas non plus 159 00:12:59,920 --> 00:13:02,650 la fin du monde, mais cela devrait vraiment fonctionner. 160 00:13:03,010 --> 00:13:04,840 Voyons maintenant la sécurité. 161 00:13:07,180 --> 00:13:08,350 Et essayons. 162 00:13:09,340 --> 00:13:13,030 Revenons donc ici dans ma candidature, je vais ajouter un deuxième produit. 163 00:13:16,550 --> 00:13:19,850 Simplement pour voir si nous arrivons à envoyer des notifications. 164 00:13:20,330 --> 00:13:21,890 Je vais cependant utiliser la même image. 165 00:13:23,160 --> 00:13:24,510 Entrez mon prix. 166 00:13:25,830 --> 00:13:26,910 Et une description. 167 00:13:28,340 --> 00:13:29,330 Confirmez cela. 168 00:13:30,340 --> 00:13:35,140 Et maintenant, allez dans la zone des produits et ajoutez les deux à mon panier. 169 00:13:37,000 --> 00:13:38,290 Maintenant, ce sont mes propres produits. 170 00:13:38,320 --> 00:13:40,210 Mais dans cette application, je peux toujours les commander. 171 00:13:40,600 --> 00:13:42,220 Alors maintenant, pressons l'ordre. 172 00:13:42,700 --> 00:13:43,960 Qui devrait passer la commande. 173 00:13:44,890 --> 00:13:46,420 Et nous ne voyons rien. 174 00:13:47,260 --> 00:13:49,420 Maintenant, cela signifie-t-il que nous avons une erreur? 175 00:13:50,230 --> 00:13:51,280 Pas nécessairement. 176 00:13:51,700 --> 00:13:53,020 Nous ne voyons rien. 177 00:13:53,200 --> 00:13:57,490 Parce que vous vous souvenez peut-être que l'application Ifti est exécutée par défaut au premier plan. 178 00:13:57,580 --> 00:13:59,080 Aucune notification n'est affichée. 179 00:13:59,320 --> 00:14:06,130 Et c'est la même chose pour les notifications push, car comme vous l'avez également appris, elles déclenchent simplement des notifications locales à la 180 00:14:06,130 --> 00:14:06,580 fin. 181 00:14:08,870 --> 00:14:11,300 Corrigeons cela et assurons-nous que nous pouvons voir quelque chose.