1 00:00:02,240 --> 00:00:09,890 Ahora, apliquemos lo que aprendimos en las últimas conferencias en nuestro proyecto de tienda que creamos para todo este curso. 2 00:00:10,430 --> 00:00:17,870 Aquí obtuve ese proyecto con React Navigation cinco integrado que tan a menudo lo hace en una sección donde muestro cómo 3 00:00:17,870 --> 00:00:20,670 actualizar para reaccionar a la navegación cinco. 4 00:00:21,260 --> 00:00:23,480 Y no he cambiado nada más. 5 00:00:23,750 --> 00:00:27,530 Así que esta es la aplicación tal como la conocemos, que se ejecuta en los simuladores. 6 00:00:27,890 --> 00:00:34,040 Y querido, por supuesto, podemos crear una cuenta con algunas credenciales aquí. 7 00:00:34,640 --> 00:00:36,410 En primer lugar, necesito registrarme. 8 00:00:37,380 --> 00:00:41,460 Y ahora aquí podemos agregar productos, etc. 9 00:00:41,730 --> 00:00:46,350 Ahora mi idea está muerta cuando agregamos un producto aquí. 10 00:00:46,710 --> 00:00:54,120 En realidad, no solo almacenamos el producto con todos los datos que estamos cargando hasta el momento, cuando 11 00:00:54,120 --> 00:00:57,960 creamos un producto, estamos compartiendo título, descripción, imagen. 12 00:00:57,990 --> 00:01:05,970 Eres El Price y el dueño I. RE. Pero en cambio, además de compartir todo eso, 13 00:01:05,970 --> 00:01:10,530 también quiero agregar el token push del dispositivo del usuario que agregó su producto. 14 00:01:10,770 --> 00:01:15,750 Entonces, para alejar a Tolkan del vendedor, también quiero agregar eso al producto. 15 00:01:16,170 --> 00:01:16,710 ¿Por qué? 16 00:01:17,060 --> 00:01:23,700 Para que cuando obtengamos los datos del producto, también podamos descargar el token de inserción que pertenece a un producto. 17 00:01:24,270 --> 00:01:30,960 Y aunque no lo mostraremos a los demás usuarios, lo usaremos en código para asegurarnos de que cuando 18 00:01:30,960 --> 00:01:35,280 se realiza un pedido, cuando agregamos un pedido, no solo almacenamos. 19 00:01:35,280 --> 00:01:44,100 Papá ordenó datos en la base de datos, pero también enviamos una notificación automática al propietario del producto 20 00:01:44,130 --> 00:01:49,740 que acaba de ordenar para informarle que el producto fue ordenado. 21 00:01:50,100 --> 00:01:51,570 Esa es mi idea aquí. 22 00:01:53,060 --> 00:01:58,820 Eso, por supuesto, significa que tendremos que analizar los artículos que están en el carrito y luego 23 00:01:58,880 --> 00:02:01,750 enviaremos una notificación push para cada producto, básicamente. 24 00:02:01,910 --> 00:02:02,840 Esa es mi idea 25 00:02:03,780 --> 00:02:09,740 Entonces, para que la deuda garantice que esto funcione, primero debemos prepararnos. 26 00:02:09,810 --> 00:02:12,120 Realiza proyectos para notificaciones push. 27 00:02:14,240 --> 00:02:22,100 Eso significa que, en primer lugar, deberíamos ir a la aplicación Jason y agregar esa entrada de Android 28 00:02:22,100 --> 00:02:28,030 aquí, donde dijimos que use la siguiente API de notificaciones como verdadera. 29 00:02:28,400 --> 00:02:31,430 Eso es lo que te mostré antes en las otras conferencias también. 30 00:02:32,030 --> 00:02:35,090 Todos necesitamos pedirle permiso al usuario. 31 00:02:35,600 --> 00:02:38,210 Entonces, la pregunta es dónde queremos hacer eso. 32 00:02:38,210 --> 00:02:40,600 Por supuesto, ya que es Steve. 33 00:02:40,640 --> 00:02:44,690 Creador de un producto que debería recibir notificaciones push. 34 00:02:45,110 --> 00:02:50,270 Pediré permiso justo antes de crear un nuevo producto. 35 00:02:50,750 --> 00:02:57,260 Entonces tenemos nuestro usuario, nuestra pantalla de producto agregado, donde creamos un nuevo producto. 36 00:03:00,100 --> 00:03:07,660 Y allí, al final, activamos una acción en los productos que el archivo de James activará crea una acción 37 00:03:07,660 --> 00:03:08,650 del producto. 38 00:03:09,220 --> 00:03:12,550 Y ahora mis ideas que pido permiso aquí. 39 00:03:12,940 --> 00:03:19,600 Luego también busco el token aquí y luego podemos agregar un token a los datos salientes que se envían 40 00:03:19,600 --> 00:03:20,470 al servidor. 41 00:03:21,540 --> 00:03:31,380 Por lo tanto, primero que nada, Expo instala el paquete de notificaciones de Expo y también los permisos de Expo. 42 00:03:32,190 --> 00:03:36,420 Y luego usemos ambos tal como aprendimos en las conferencias de este módulo. 43 00:03:38,870 --> 00:03:44,090 Entonces con eso instalado aquí y crear producto antes de hacer cualquier otra cosa. 44 00:03:45,160 --> 00:03:53,320 Queremos usar la API de notificaciones, y para eso tenemos que importar todo como notificaciones. 45 00:03:54,580 --> 00:03:55,240 De. 46 00:03:57,070 --> 00:04:05,110 Notificaciones de Expo, y eso también ya importa todo como permisos de permisos de Expo. 47 00:04:05,680 --> 00:04:15,300 Y con estos dos, la API se importa en el producto de creación, podemos usar notificaciones para obtener nuestro token push de exposición. 48 00:04:15,700 --> 00:04:18,850 Sin embargo, como saben, no queremos hacer eso directamente. 49 00:04:18,970 --> 00:04:26,170 En cambio, nosotros, en primer lugar, queremos verificar el estado de los permisos, por lo que debemos usar los permisos 50 00:04:26,560 --> 00:04:30,610 y obtener la información sobre el permiso de estas notificaciones. 51 00:04:31,150 --> 00:04:32,350 Esto devuelve una promesa. 52 00:04:32,440 --> 00:04:35,980 Y dado que estamos aquí en la función asíncrona, simplemente podemos esperarla. 53 00:04:36,880 --> 00:04:44,140 Ahora, lo que recuperaremos es un objeto de estado muerto, que tiene esa propiedad de estado que nos dice si se 54 00:04:44,140 --> 00:04:46,180 otorgó un permiso o no. 55 00:04:46,810 --> 00:04:49,570 Entonces podemos verificar si el objeto de estado. 56 00:04:50,430 --> 00:04:56,190 Es posible que el estado del DOT no se otorgue, lo que significa que todavía no tenemos permisos. 57 00:04:56,760 --> 00:05:03,450 Luego, queremos usar nuevamente la API de permisos para solicitar el permiso de estas notificaciones. 58 00:05:03,540 --> 00:05:04,440 Con este código 59 00:05:04,830 --> 00:05:06,660 Y eso es todo lo que teníamos antes. 60 00:05:06,780 --> 00:05:09,740 Ahora, solo con async esperar en lugar de entonces. 61 00:05:09,990 --> 00:05:11,700 Pero aparte de eso, es lo mismo. 62 00:05:12,570 --> 00:05:16,470 Y aquí nuevamente obtendremos nuestro estado. 63 00:05:16,890 --> 00:05:17,490 Objeto. 64 00:05:18,690 --> 00:05:22,100 Ahora, dado que tendríamos un choque de nombres, todos se nombran este año. 65 00:05:22,230 --> 00:05:23,970 Objeto de estado actualizado. 66 00:05:25,630 --> 00:05:31,000 Y, por supuesto, aquí también debemos esperar, porque papá es síncrono y devuelve una promesa. 67 00:05:31,840 --> 00:05:40,210 Entonces, en este punto de tiempo aquí, ahora podemos verificar si el objeto de estado actualizado tiene un estado. 68 00:05:41,190 --> 00:05:42,780 Eso no es igual a lo otorgado. 69 00:05:42,930 --> 00:05:47,910 Y si ese es el caso, sabemos que no podremos enviar notificaciones push. 70 00:05:50,190 --> 00:05:52,050 Y papá está absolutamente bien. 71 00:05:52,410 --> 00:06:01,440 Simplemente crearé una variable de token aquí y estableceré un token igual a Knol aquí para dejar muy claro que simplemente no 72 00:06:01,440 --> 00:06:03,180 tenemos un token aquí. 73 00:06:03,390 --> 00:06:06,780 En realidad, no nombremos su token porque ya usamos ese nombre. 74 00:06:06,990 --> 00:06:07,560 Vamos a nombrarlo. 75 00:06:08,010 --> 00:06:08,970 Empuje token. 76 00:06:09,150 --> 00:06:11,190 Porque papá es lo que queremos recuperar al final. 77 00:06:12,090 --> 00:06:17,610 Así que nos ponemos nulos aquí si no obtuvimos permiso porque no hay nada que podamos hacer 78 00:06:17,610 --> 00:06:21,840 en ese caso, porque simplemente no tenemos permiso para enviar notificaciones push. 79 00:06:22,110 --> 00:06:23,070 Es lo que es. 80 00:06:24,220 --> 00:06:27,570 Pero en el caso del ELT, papá lo hace. 81 00:06:28,000 --> 00:06:36,970 En ese caso, podemos configurar nuestro token push igual a la notificación Stotz get XPO Push, Tolkan async y, por supuesto, eso 82 00:06:36,970 --> 00:06:38,530 es una promesa. 83 00:06:38,830 --> 00:06:40,570 Entonces deberíamos esperar esto. 84 00:06:40,960 --> 00:06:43,780 Y, por supuesto, no obtenemos directamente el token. 85 00:06:44,560 --> 00:06:47,980 En cambio, obtenemos un objeto que tiene un campo de datos, si recuerdas. 86 00:06:48,370 --> 00:06:52,360 Y así podríamos envolver esto aquí entre paréntesis y llamar a los datos sobre eso. 87 00:06:53,050 --> 00:06:56,080 Eso simplemente significa que, en primer lugar, esta promesa está resuelta. 88 00:06:56,230 --> 00:07:02,680 Luego, llamamos a los datos del objeto resuelto después de esperar a que se prometan y ver el valor en los datos, que luego 89 00:07:02,680 --> 00:07:05,020 almacenamos en la variable de token de inserción. 90 00:07:05,710 --> 00:07:08,680 Así que aquí tendremos nuestro token push, que necesitamos. 91 00:07:09,370 --> 00:07:12,130 Ahora, cuando tenemos eso, podemos continuar. 92 00:07:12,400 --> 00:07:13,420 Y como estábamos esperando. 93 00:07:13,450 --> 00:07:16,780 Este código solo se ejecutará una vez que papá haya terminado. 94 00:07:17,170 --> 00:07:19,170 Esta línea, por supuesto, debería eliminarse ahora. 95 00:07:19,810 --> 00:07:26,050 Y ahora, con los datos que enviamos al servidor, no solo enviamos la descripción del título, al 96 00:07:26,050 --> 00:07:29,130 propietario I. RE. , pero también el token de inserción del propietario. 97 00:07:29,800 --> 00:07:31,840 Y ese será nuestro token de empuje aquí. 98 00:07:34,480 --> 00:07:38,990 Y eso es ahora o es nuestro token que obtuvimos de XPO. 99 00:07:40,860 --> 00:07:47,790 Entonces, cada vez que creamos un nuevo producto, idealmente podemos enviar nuestro token de inserción. 100 00:07:48,210 --> 00:07:53,220 Ahora entendiendo que es Tolkan y todo eso no funcionará en simuladores, como aprendiste. 101 00:07:53,450 --> 00:07:57,420 Entonces, Dan, para todas las seguridades y nuevamente, la prueba está en mi iPhone real. 102 00:07:57,900 --> 00:08:03,090 Entonces, nuevamente, obtuve mi aplicación arrancando aquí y acabo de iniciar sesión con el usuario que creamos. 103 00:08:03,570 --> 00:08:09,120 Y ahora, bajo Admon, crearé un nuevo impulso de producto. 104 00:08:10,230 --> 00:08:10,890 Tolkan 105 00:08:17,570 --> 00:08:19,520 Ahora necesitamos imaginar que eres el. 106 00:08:21,430 --> 00:08:23,560 Y acabo de tomar alguna imagen al azar. 107 00:08:24,550 --> 00:08:26,080 Y Ellender, un premio aquí. 108 00:08:27,350 --> 00:08:28,340 Y una descripcion. 109 00:08:30,540 --> 00:08:36,870 Y confirmó esto y recibo un error, papá, no se encontró el objeto de estado actualizado y la deuda tiene sentido 110 00:08:36,870 --> 00:08:42,810 porque en realidad estoy configurando esto aquí es un cheque, pero luego lo estoy usando fuera del cheque seguro 111 00:08:42,810 --> 00:08:43,270 . 112 00:08:43,270 --> 00:08:47,430 Entonces, por supuesto, esto tiene un alcance incorrecto, poca supervisión de mi parte. 113 00:08:47,820 --> 00:08:53,820 Podemos solucionar esto reutilizando realmente el objeto de estado aquí arriba, convirtiéndolo en una variable con 114 00:08:53,820 --> 00:08:54,300 let. 115 00:08:54,870 --> 00:09:02,040 Luego, aquí simplemente establecemos nuestro objeto de estado en un nuevo valor y luego usamos el estado como objeto nuevamente. 116 00:09:02,040 --> 00:09:03,090 Aquí está si verifica. 117 00:09:03,390 --> 00:09:05,600 Ahora el alcance es correcto y esto funcionará. 118 00:09:07,950 --> 00:09:09,090 Entonces intentemos esto de nuevo. 119 00:09:13,390 --> 00:09:20,560 Empuje, pruebe la imagen insertada que eligió, inserte un precio y una descripción. 120 00:09:21,370 --> 00:09:23,770 Esto es una prueba. 121 00:09:24,460 --> 00:09:26,290 Luego cerrar es confirmar esto. 122 00:09:26,860 --> 00:09:28,480 Y ahora esto parece funcionar. 123 00:09:28,540 --> 00:09:29,770 Agregué mi producto. 124 00:09:30,810 --> 00:09:34,350 Y lo que será interesante ahora es nuestra base de datos. 125 00:09:35,030 --> 00:09:36,940 Aquí está mi base de datos FIREBASE. 126 00:09:37,020 --> 00:09:40,840 Así que el back-end que estamos usando y un nuevo producto fue agregado aquí. 127 00:09:41,160 --> 00:09:44,170 Y, de hecho, aquí vemos nuestra ficha de empuje nuevamente. 128 00:09:44,490 --> 00:09:47,640 Agregué una superposición sobre mi token de dispositivo real. 129 00:09:47,880 --> 00:09:55,050 Pero ahora es un token de inserción que nos permite enviar una notificación al usuario que creó este producto. 130 00:09:55,530 --> 00:10:02,460 Así que ahora trabajemos en esa otra parte y asegurémonos de enviar una notificación una vez que 131 00:10:02,490 --> 00:10:04,470 hayamos pedido un producto.