1 00:00:02,270 --> 00:00:04,340 Así que trabajemos en la parte de pedido. 2 00:00:04,370 --> 00:00:10,670 Ahora, cada vez que se realiza un nuevo pedido, queremos enviar una notificación, una notificación push. 3 00:00:11,060 --> 00:00:16,190 Ahora estamos almacenando a este propietario, Push Tolkan, que necesitamos para enviar una notificación. 4 00:00:16,640 --> 00:00:18,680 Y en realidad tenemos dos opciones. 5 00:00:18,710 --> 00:00:26,660 Ahora, como todo esto está en el back-end, podríamos enviar esta solicitud para exponer el servidor push desde el back-end, ya 6 00:00:26,660 --> 00:00:32,930 sea usando uno de los casos de Expo ESTA que le mostré antes, como el de 7 00:00:32,930 --> 00:00:40,270 Noad y P HP, dependiendo de qué idioma está utilizando en su backend o simplemente enviando esa misma edad. 8 00:00:40,280 --> 00:00:46,640 La solicitud de TDP que enviamos desde el interior de la aplicación anteriormente desde su espalda y papá también sería una opción 9 00:00:47,210 --> 00:00:51,140 Ahora Firebase es un respaldo especial y no lo poseemos completamente. 10 00:00:51,530 --> 00:00:56,330 En su lugar, utilizamos los servicios que tenemos con las funciones de la nube. 11 00:00:56,360 --> 00:01:02,420 Habría un servicio que nos permite ejecutar el código del lado del servidor y podríamos hacer que todo funcione. 12 00:01:02,660 --> 00:01:06,500 Pero dado que el uso de funciones en la nube ya no es totalmente gratuito. 13 00:01:06,800 --> 00:01:08,410 No quiero mostrar este año. 14 00:01:08,660 --> 00:01:13,250 Solo quiero que sepas que absolutamente podrías encontrar código en el servidor. 15 00:01:13,460 --> 00:01:20,300 Eso le costaría enviar una notificación desde dentro de este servidor para que esta activación ocurra aquí en 16 00:01:20,300 --> 00:01:21,290 el servidor. 17 00:01:21,800 --> 00:01:23,840 Ahora, lo haré desde la aplicación y comenzaré. 18 00:01:23,940 --> 00:01:25,490 El atardecer es más fácil para nosotros aquí. 19 00:01:25,670 --> 00:01:27,890 Pero esa es solo una opción posible. 20 00:01:28,490 --> 00:01:34,730 Ahora, desde adentro, la aplicación enviará la notificación tal como lo hicimos antes aquí en orden adicional. 21 00:01:34,790 --> 00:01:36,020 Queremos enviarlo. 22 00:01:36,470 --> 00:01:39,020 Y ahí tenemos nuestros artículos de carrito. 23 00:01:39,680 --> 00:01:41,570 Ahora los artículos del carrito que estamos recibiendo. 24 00:01:41,660 --> 00:01:44,600 Veamos brevemente qué hay exactamente allí. 25 00:01:45,700 --> 00:01:52,510 Entonces, si vas a la tienda, a los pedidos a la pantalla de la tarjeta, ahí es donde enviamos su acción. 26 00:01:53,750 --> 00:01:56,360 La acción de agregar orden con los elementos de la tarjeta. 27 00:01:56,900 --> 00:02:05,180 Y si echamos un vistazo a los artículos de nuestro carrito, vemos que los artículos de tarjetas indios se obtienen de nuestra tienda 28 00:02:05,780 --> 00:02:13,400 redux y los artículos de tarjetas serán una matriz donde al final tenemos objetos donde cada objeto tiene un producto que 29 00:02:13,400 --> 00:02:16,550 el producto titulado Producto Precio Cantidad termina en 30 00:02:17,150 --> 00:02:23,000 Entonces, lo que necesitamos aquí es que también necesitamos el token de inserción del producto. 31 00:02:23,180 --> 00:02:29,090 Entonces, la muestra del creador de este producto al final y podemos obtener esto desde nuestro estado. 32 00:02:31,480 --> 00:02:32,800 Son del carro. 33 00:02:34,650 --> 00:02:36,570 De los artículos para esa clave. 34 00:02:36,590 --> 00:02:40,460 Entonces, básicamente, lo que hacemos allí y allá, busquemos un token de inserción. 35 00:02:40,860 --> 00:02:46,320 Ahora, este es un campo que todavía no estará allí porque, antes que nada, necesitamos hacer 36 00:02:46,320 --> 00:02:48,540 algunos cambios en nuestra tienda allí. 37 00:02:48,570 --> 00:02:50,790 Echemos un vistazo al reductor de tarjetas. 38 00:02:52,210 --> 00:02:56,800 Cuando se agrega un producto a la tarjeta, obtenemos información sobre este producto aquí. 39 00:02:57,250 --> 00:03:00,880 Y a partir de ahí, por ejemplo, extraemos el título y el precio. 40 00:03:04,600 --> 00:03:10,030 Y luego, al final, agregamos su precio y título a nuestro artículo del carrito. 41 00:03:10,630 --> 00:03:13,300 Ahora no solo necesitamos ponerle precio al título. 42 00:03:13,360 --> 00:03:15,070 También tenemos que presionar a Tolkan. 43 00:03:15,580 --> 00:03:18,760 Así que aquí, vamos a extraer el empuje, el token de este producto. 44 00:03:19,090 --> 00:03:22,060 Así que agregue un producto dot push Tolkan, por ejemplo. 45 00:03:22,540 --> 00:03:26,770 Este también es un campo que aún no existe en un producto, pero que cambiará tan pronto. 46 00:03:27,670 --> 00:03:28,900 Y luego podemos agregar este empuje. 47 00:03:28,900 --> 00:03:33,880 Tolkan, digamos, como un tercer argumento aquí para cargar el artículo. 48 00:03:34,390 --> 00:03:38,950 Y también aquí lo siento, es el cuarto argumento, por supuesto. 49 00:03:39,850 --> 00:03:43,300 Así que estoy agregando esto como un cuarto argumento para el constructor de elementos de la tarjeta. 50 00:03:43,890 --> 00:03:46,760 Ahora para papá, tenemos que cambiar al constructor de artículos de carrito. 51 00:03:47,080 --> 00:03:54,130 Entonces, aquí, un elemento de tarjeta no debería obtener este token de inserción como un cuarto argumento y luego se almacena 52 00:03:54,130 --> 00:03:54,490 aquí. 53 00:03:54,910 --> 00:03:57,640 Entonces, esta ficha de inserción es igual a la ficha de inserción. 54 00:04:00,580 --> 00:04:06,340 Pero todavía no estamos allí porque ahora estoy almacenando esto para cada elemento de la tarjeta, pero estoy obteniendo esto. 55 00:04:08,930 --> 00:04:13,460 De mi producto y un producto aún no tiene un token. 56 00:04:13,790 --> 00:04:20,780 Sí, tiene uno en Firebase, pero no estamos obteniendo esos datos o no estamos usando esos datos en la aplicación del sitio 57 00:04:20,780 --> 00:04:21,830 de nuestro cliente. 58 00:04:21,890 --> 00:04:25,640 En esta aplicación nativa reaccionar en su lugar aquí en el. 59 00:04:26,640 --> 00:04:36,120 El archivo de acciones de productos aquí, los productos persiguen en acciones donde buscamos todos los productos aquí, buscamos productos. 60 00:04:36,540 --> 00:04:42,720 Lo que hacemos es extraer cosas como la idea, el precio del título, etc., y crear un nuevo producto basado 61 00:04:42,720 --> 00:04:45,360 en nuestro modelo de producto con esa información. 62 00:04:46,050 --> 00:04:49,260 Ahora, aquí, también deberíamos obtener eso. 63 00:04:51,220 --> 00:04:52,600 Propietario Push Tolkan. 64 00:04:53,750 --> 00:05:01,460 Al igual que estamos extrayendo al propietario I. RE. , así que aquí queremos obtener el token de inserción del propietario para los 65 00:05:01,460 --> 00:05:02,000 productos individuales. 66 00:05:02,120 --> 00:05:07,070 Y agregue esto a nuestro modelo de producto, por ejemplo, como un tercer argumento. 67 00:05:08,760 --> 00:05:12,840 Entonces ahora es que tenemos que ir al modelo de productos, al modelo de producto aquí. 68 00:05:12,870 --> 00:05:14,630 Lo sentimos, producto y modelos. 69 00:05:15,270 --> 00:05:22,050 Y como tercer argumento, ahora tenemos que aceptar al propietario, presionar a Tolkan y almacenar esto. 70 00:05:22,770 --> 00:05:29,520 Y nombraré este campo, Push Tolkan y guardaré a mi propietario, Push Tolkan, porque Push 71 00:05:29,820 --> 00:05:36,940 Tolkan es el nombre del campo que ahora también utilicé aquí en el reductor de carro allí. 72 00:05:36,990 --> 00:05:40,000 Estoy accediendo al producto añadido dot push Tolkan. 73 00:05:40,530 --> 00:05:46,860 Entonces, si usa el nombre diferente aquí para recuperar un token para un producto determinado, también necesita un nombre de justicia 74 00:05:46,860 --> 00:05:48,780 aquí en el modelo del producto. 75 00:05:50,060 --> 00:05:56,000 Pero con todos esos cambios, nos aseguramos de recuperar el token que se almacena para cada 76 00:05:56,000 --> 00:05:56,450 producto. 77 00:05:56,990 --> 00:06:01,220 Y lo estamos usando y almacenando en el front-end, también en nuestros modelos. 78 00:06:01,700 --> 00:06:04,580 Y lo estamos almacenando en cada modelo de producto, que estamos creando. 79 00:06:04,610 --> 00:06:05,840 Cada instancia de producto. 80 00:06:06,200 --> 00:06:12,140 Y también lo estamos almacenando en nuestros artículos de carrito, que estamos agregando a nuestro carrito aquí en la tienda Redux. 81 00:06:12,980 --> 00:06:18,200 Así que ahora cada elemento de la tarjeta tendrá un token push y nuestro modelo de elemento de la tarjeta. 82 00:06:18,300 --> 00:06:26,600 Todas esas tiendas que en una clave llamada token de inserción y, por lo tanto, ahora finalmente podrán obtener esos datos cuando se 83 00:06:26,600 --> 00:06:28,100 realiza un pedido. 84 00:06:31,170 --> 00:06:37,560 Ahora, no solo necesitamos actualizar cómo creamos productos aquí en los productos G. S. caer en, las acciones caen, pero también en 85 00:06:37,560 --> 00:06:42,540 los reductores, en los productos, G. S. archivo en reductores. 86 00:06:42,910 --> 00:06:48,990 Allí tenemos que crear un caso de producto, que manejamos donde también instanciamos nuestro producto. 87 00:06:50,210 --> 00:06:57,620 Ahora, dado que cambiamos nuestro modelo de producto para impulsar a Tolkan como el tercer argumento aquí, también 88 00:06:57,620 --> 00:07:00,050 tenemos que actualizarlo, por supuesto. 89 00:07:00,530 --> 00:07:01,430 Entonces aquí. 90 00:07:03,020 --> 00:07:09,470 El tercer argumento, el título ya no debería ser el título, sino que debería provenir de los datos 91 00:07:09,470 --> 00:07:10,820 de nuestros productos. 92 00:07:11,510 --> 00:07:13,220 Y ahí debería estar para empujar a Tolkan. 93 00:07:14,600 --> 00:07:21,140 Ahora, para la deuda, por supuesto, a su vez, debemos verificar dónde enviamos el producto creado para asegurarnos de que la 94 00:07:21,140 --> 00:07:26,570 acción que agrega datos del producto también agregue un token de inserción a los datos del producto. 95 00:07:28,810 --> 00:07:32,560 También creamos un nuevo producto allí, un producto actualizado. 96 00:07:32,620 --> 00:07:33,850 Y ahí es lo mismo. 97 00:07:34,650 --> 00:07:41,740 El nuevo tercer argumento que obtenemos aquí en el constructor del producto debería ser en este caso productos de usuario de 98 00:07:41,740 --> 00:07:44,340 estado para el índice de producto dado. 99 00:07:45,100 --> 00:07:53,560 Y luego, de nuevo, es Push Tolkan, Push, Tolkan es para nombrar que tenemos aquí porque papá accederá a un producto 100 00:07:53,560 --> 00:08:00,430 almacenado en nuestro campo de productos de usuario y ese producto tendrá que formar nuestro modelo de 101 00:08:00,430 --> 00:08:00,880 producto. 102 00:08:01,180 --> 00:08:03,310 Y allí elegí Push Tolkan como nombre. 103 00:08:03,610 --> 00:08:06,570 Entonces también hay Push Tolkan como nombre aquí. 104 00:08:12,230 --> 00:08:18,620 Entonces, con eso de vuelta al caso de creación de productos, como dije, ahora tenemos que ir al 105 00:08:18,620 --> 00:08:23,270 lugar donde se envía esta acción para garantizar que los datos sean correctos. 106 00:08:23,330 --> 00:08:25,820 El token de inserción se agrega a la acción. 107 00:08:26,750 --> 00:08:32,990 Ahora son los productos G. S. archivo en la carpeta de acciones, y se crean creador de acciones del producto. 108 00:08:33,290 --> 00:08:37,130 Donde despachamos crea acción del producto al final. 109 00:08:37,550 --> 00:08:43,370 Y, por lo tanto, aquí para los datos del producto en cualquier parte de este objeto, debemos asegurarnos de que también agreguemos un 110 00:08:43,370 --> 00:08:44,360 token de inserción. 111 00:08:44,930 --> 00:08:50,360 Y ahora este valor de token de inserción es simplemente para impulsar Tolkan que ya estamos usando allí. 112 00:08:50,480 --> 00:08:52,190 Así que también deberíamos almacenar esto aquí. 113 00:08:54,380 --> 00:08:58,970 Y con papá, nos aseguramos de no recibir un error cuando creamos un nuevo producto. 114 00:08:59,600 --> 00:09:01,400 De lo contrario, obtendríamos uno. 115 00:09:03,650 --> 00:09:09,440 Así que de vuelta aquí en el archivo de acciones de órdenes en la acción de agregar órdenes aquí. 116 00:09:09,470 --> 00:09:17,480 Ahora queremos obtener nuestro token desde el interior de la tarjeta y enviar una solicitud de notificación push. 117 00:09:18,080 --> 00:09:25,220 Quizás después de agregar el pedido real en nuestro servidor, porque enviar la notificación push es menos importante que almacenar los 118 00:09:25,430 --> 00:09:27,170 datos en el servidor. 119 00:09:27,290 --> 00:09:28,550 Yo diría que sí. 120 00:09:28,610 --> 00:09:32,150 Dhafer, después de que esta solicitud fue enviada aquí. 121 00:09:33,520 --> 00:09:41,380 Después de agregar el pedido en nuestra tienda Redux, después de todo eso, queremos enviar nuestras notificaciones push. 122 00:09:44,050 --> 00:09:49,420 Ahora para papá, tendremos que revisar todos los artículos de la tarjeta que tenemos aquí y enviar una notificación por 123 00:09:49,420 --> 00:09:49,840 artículo. 124 00:09:50,110 --> 00:09:54,640 Esa es otra razón por la que es posible que desee considerar hacer esto en el lado del servicio. 125 00:09:54,910 --> 00:09:57,370 Si tiene muchos artículos, esto puede llevar algún tiempo. 126 00:09:57,640 --> 00:09:59,730 Y en este momento, papá estará trabajando. 127 00:09:59,770 --> 00:10:04,130 Eso sucede aquí en nuestra aplicación React Native en el cliente, no en el servidor. 128 00:10:05,390 --> 00:10:11,570 En el servidor podría ser mejor porque le quita el trabajo a su cliente, pero por dos razones mencionadas, ya que 129 00:10:11,660 --> 00:10:16,670 no tenemos nuestro propio servidor, ya que estamos usando Firebase y la nube, las funciones ya 130 00:10:16,670 --> 00:10:19,370 no son gratuitas debido a Todas esas razones. 131 00:10:19,730 --> 00:10:23,840 De hecho, utilizaré la solución subóptima de activar eso en el cliente. 132 00:10:24,050 --> 00:10:29,870 Entonces, en lugar de la aplicación React Native y tenerla durante un año, queremos revisar todos los elementos de descarte. 133 00:10:29,870 --> 00:10:39,110 Tenemos tan pocos todos nuestros elementos de tarjeta aquí y para cada elemento de tarjeta queremos obtener el token de inserción simplemente accediendo al 134 00:10:39,110 --> 00:10:41,840 elemento de tarjeta, punto, push, token. 135 00:10:43,470 --> 00:10:45,720 Y luego queremos enviar nuestra solicitud. 136 00:10:46,080 --> 00:10:51,150 Entonces, nuevamente, con la API Fetch aquí, queremos enviar la solicitud a HTP s .. 137 00:10:51,690 --> 00:11:01,080 Y luego papá fue ex DOD host slash dash, dash, slash, api slash, b2 slash, push, slash, send and add the 138 00:11:01,740 --> 00:11:10,350 second object donde configuramos esta solicitud para configurar su método de publicación y también agregar un par de encabezados 139 00:11:10,350 --> 00:11:11,460 aquí . 140 00:11:12,300 --> 00:11:16,530 Y queríamos aceptar el encabezado que debería ser la aplicación. 141 00:11:17,070 --> 00:11:29,040 Jason, queríamos aceptar y codificar el encabezado que debería ser Jessep desinflar y queremos el tipo de contenido Petyr aquí, que 142 00:11:29,640 --> 00:11:33,210 también debería ser la aplicación Jason. 143 00:11:33,840 --> 00:11:39,750 Pero ahora, aún más importante, queremos agregar nuestro cuerpo a la solicitud, que debería 144 00:11:39,750 --> 00:11:47,160 ser un objeto adyacente y fibroso en el que ahora señalamos este empuje Tolkan con los dos campos. 145 00:11:49,800 --> 00:11:56,340 Y luego podemos agregar información adicional, podríamos agregar metadatos adicionales sobre el artículo de la tarjeta, por ejemplo, para el 146 00:11:56,510 --> 00:11:58,270 cual se envía una notificación. 147 00:11:58,740 --> 00:12:02,430 Pero aquí todos simplemente agregan un título de pedido. 148 00:12:03,500 --> 00:12:12,800 Y luego el cuerpo de esta notificación push donde simplemente compartí, digamos, el título del producto que se 149 00:12:12,890 --> 00:12:13,940 ordenó. 150 00:12:14,480 --> 00:12:20,630 Tenga en cuenta que en el título de cada automóvil, almacenamos el título del producto en un campo de título del producto. 151 00:12:21,530 --> 00:12:29,210 Por lo tanto, aquí, en el archivo de acciones de pedidos, puedo acceder al título del producto DOT del elemento de la tarjeta para compartir 152 00:12:29,210 --> 00:12:33,800 ese título del producto como parte de la notificación push que se debe enviar. 153 00:12:36,250 --> 00:12:42,420 Y esto es al final con papá, vamos a programar un montón de solicitudes HTP. 154 00:12:42,730 --> 00:12:45,190 No estoy esperando sus respuestas. 155 00:12:45,220 --> 00:12:47,030 No estoy manejando las respuestas. 156 00:12:47,380 --> 00:12:51,610 Puede analizar esas respuestas e intentar manejar posibles errores. 157 00:12:52,090 --> 00:12:53,590 Pero al final, esto debería funcionar. 158 00:12:53,980 --> 00:12:59,920 Y si por alguna razón, las notificaciones automáticas no deben pasar en este caso, tampoco es el 159 00:12:59,920 --> 00:13:02,650 fin del mundo, pero realmente debería funcionar. 160 00:13:03,010 --> 00:13:04,840 Así que ahora vamos a la seguridad. 161 00:13:07,180 --> 00:13:08,350 Y vamos a intentarlo. 162 00:13:09,340 --> 00:13:13,030 Entonces, aquí en mi aplicación, agregaré un segundo producto. 163 00:13:16,550 --> 00:13:19,850 Simplemente para ver si podemos enviar notificaciones. 164 00:13:20,330 --> 00:13:21,890 Sin embargo, usaré la misma imagen. 165 00:13:23,160 --> 00:13:24,510 Ingrese mi precio. 166 00:13:25,830 --> 00:13:26,910 Y una descripcion. 167 00:13:28,340 --> 00:13:29,330 Confirmar esto. 168 00:13:30,340 --> 00:13:35,140 Y ahora vaya al área de productos y agregue ambos a mi carrito. 169 00:13:37,000 --> 00:13:38,290 Ahora, estos son mis propios productos. 170 00:13:38,320 --> 00:13:40,210 Pero en esta aplicación, todavía puedo ordenarlos. 171 00:13:40,600 --> 00:13:42,220 Así que ahora vamos a presionar ordenado 172 00:13:42,700 --> 00:13:43,960 Que debe hacer el pedido. 173 00:13:44,890 --> 00:13:46,420 Y no vemos nada. 174 00:13:47,260 --> 00:13:49,420 Ahora, ¿significa esto que tenemos un error? 175 00:13:50,230 --> 00:13:51,280 No necesariamente. 176 00:13:51,700 --> 00:13:53,020 No vemos nada 177 00:13:53,200 --> 00:13:57,490 Porque es posible que recuerde que la aplicación Ifti se ejecuta en primer plano de forma predeterminada. 178 00:13:57,580 --> 00:13:59,080 No se muestra ninguna notificación. 179 00:13:59,320 --> 00:14:06,130 Y eso es lo mismo para las notificaciones push porque, como también aprendiste, al final solo activan notificaciones 180 00:14:06,130 --> 00:14:06,580 locales. 181 00:14:08,870 --> 00:14:11,300 Así que arreglemos eso y asegurémonos de que podamos ver algo.