1 00:00:02,070 --> 00:00:06,250 Felizmente, o manuseio de notificações push é facilitado com o expl. 2 00:00:06,450 --> 00:00:12,480 E existem várias etapas que já implementamos, as quais também precisaremos implementar se estivermos procurando 3 00:00:12,480 --> 00:00:16,530 por um manipulador de notificações por push, por exemplo. 4 00:00:16,650 --> 00:00:21,600 Também precisamos pedir permissão se quisermos receber notificações por push. 5 00:00:21,930 --> 00:00:28,080 Portanto, essa permissão, que estamos recebendo aqui para receber notificações que, no final, 6 00:00:28,080 --> 00:00:30,660 habilitará notificações locais e push. 7 00:00:30,720 --> 00:00:31,800 Você poderia dizer isso. 8 00:00:31,800 --> 00:00:32,640 Código de dados. 9 00:00:32,670 --> 00:00:36,660 Absolutamente precisamos apenas do ISIS, mas eles precisam. 10 00:00:37,840 --> 00:00:44,310 Também precisaremos de nossos manipuladores para lidar com as notificações recebidas quando o aplicativo estiver em primeiro plano. 11 00:00:44,500 --> 00:00:52,030 E quando o aplicativo está em segundo plano porque, na verdade, as notificações por push ainda causam uma notificação local 12 00:00:52,030 --> 00:00:53,170 assim que chegam. 13 00:00:53,470 --> 00:00:59,290 Portanto, para manipular a mensagem, uma vez que ela esteja em nosso dispositivo, nosso código é exatamente o mesmo. 14 00:00:59,470 --> 00:01:01,210 Então isso não muda. 15 00:01:01,810 --> 00:01:06,670 Mas o que vai mudar, é claro, é como nós fraudamos uma regra de notificação. 16 00:01:06,970 --> 00:01:09,580 Não vamos mais fazer isso com esse código. 17 00:01:09,850 --> 00:01:15,640 Em vez disso, antes de tudo, quero começar mostrando como uma mensagem pode ser enviada totalmente de 18 00:01:15,700 --> 00:01:16,990 fora do dispositivo. 19 00:01:17,290 --> 00:01:24,520 E então, como uma segunda etapa, mostrarei como nosso aplicativo aqui pode enviar uma notificação para si mesmo, mas para si mesmo, 20 00:01:24,520 --> 00:01:28,180 para execução em um dispositivo diferente, em um usuário diferente. 21 00:01:29,690 --> 00:01:35,420 Esse seria o cenário que você tem em um aplicativo de bate-papo, por exemplo, para o qual seu aplicativo deseja enviar uma 22 00:01:35,420 --> 00:01:35,690 notificação. 23 00:01:35,720 --> 00:01:41,810 Bem, o mesmo aplicativo, mas o mesmo aplicativo em um dispositivo diferente, o dispositivo do usuário para quem você acabou de enviar 24 00:01:41,810 --> 00:01:43,250 uma mensagem de bate-papo. 25 00:01:43,580 --> 00:01:44,910 Esse será o segundo passo. 26 00:01:44,930 --> 00:01:49,340 Primeiro, mostrarei como enviar uma notificação totalmente de fora do aplicativo. 27 00:01:49,850 --> 00:01:52,220 Mas, para isso, falta um passo importante. 28 00:01:52,640 --> 00:01:59,420 E essa é a identificação com os servidores push do Google e da Apple, porque, como mencionei, precisaremos 29 00:01:59,420 --> 00:02:00,560 fazer isso. 30 00:02:00,920 --> 00:02:08,720 E esses servidores nos fornecerão esse token, esse eu. D. , que em última análise, precisamos enviar notificações push e 31 00:02:09,370 --> 00:02:10,480 carimbo morto para código. 32 00:02:10,490 --> 00:02:18,230 Temos que adicionar aqui, além de pedir permissão aqui, se pretendemos receber notificações por push. 33 00:02:18,500 --> 00:02:25,370 Também precisamos assinar esta instalação do aplicativo com os servidores de envio oficiais. 34 00:02:25,610 --> 00:02:32,900 Portanto, este aplicativo em execução em um dispositivo de nosso usuário precisa se registrar nos serviços de envio oficiais. 35 00:02:33,340 --> 00:02:35,120 E para o pai, precisamos adicionar algum código. 36 00:02:35,600 --> 00:02:42,710 Agora, precisaremos fazer algumas alterações aqui em nossas permissões, porém, ou não, as permissões ainda 37 00:02:42,770 --> 00:02:44,180 precisarão delas. 38 00:02:44,720 --> 00:02:52,460 Mas depois que tivermos essas permissões, será necessário obter esse token, que eu. D. Precisamos assinar nosso aplicativo com os servidores oficiais 39 00:02:52,460 --> 00:02:59,630 de notificação por push e obtê-lo. D. , o que nos permite 40 00:02:59,630 --> 00:03:04,550 usar o I. D. para enviar notificações para esta instalação do aplicativo neste dispositivo. 41 00:03:05,120 --> 00:03:09,920 Agora, felizmente, a EXPL torna isso super, super fácil. 42 00:03:09,940 --> 00:03:17,660 Isso torna muito simples, porque a equipe por trás do XPO basicamente não nos deu todas essas boas funções JavaScript e a 43 00:03:17,660 --> 00:03:21,650 API é para criar aplicativos nativos reativos de uma maneira conveniente. 44 00:03:22,040 --> 00:03:28,580 Eles também têm seu próprio servidor e costas com os quais você pode conversar através de algumas funções nas quais 45 00:03:28,700 --> 00:03:34,910 eles têm toda a lógica para inscrever um aplicativo nesses servidores de envio oficiais e obter essa permissão. 46 00:03:35,810 --> 00:03:42,050 Na verdade, para ser mais preciso, o XPO não assina nosso aplicativo com esses serviços. 47 00:03:42,350 --> 00:03:50,420 Em vez disso, o Xposed se inscreveu nesses serviços e nos permite usar sua inscrição. 48 00:03:50,450 --> 00:03:56,840 Você poderia dizer que x tanto a equipe quanto o software fazem todo o trabalho 49 00:03:57,080 --> 00:04:03,860 pesado nos bastidores para que não precisemos assinar manualmente nosso aplicativo, mas que podemos aproveitar o servidor 50 00:04:04,070 --> 00:04:13,220 existente da Expo para enviar notificações por meio da assinatura da Expo com esses servidores oficiais para nossas diferentes instalações, usuários e 51 00:04:13,310 --> 00:04:14,960 dispositivos de aplicativos. 52 00:04:15,350 --> 00:04:17,240 É assim que você pode pensar sobre isso. 53 00:04:17,660 --> 00:04:23,510 E papai tornará a implementação de notificações push com EXPL muito, muito fácil. 54 00:04:24,140 --> 00:04:30,020 Posso lhe dizer que, se você precisar se inscrever manualmente, isso representaria muitas etapas, muito trabalho. 55 00:04:30,470 --> 00:04:35,090 E a XPO está lidando com isso de uma maneira muito, muito elegante. 56 00:04:35,420 --> 00:04:41,090 O XPO facilita muito a entrega de notificações por push aos seus aplicativos. 57 00:04:43,450 --> 00:04:44,350 O que você precisa fazer? 58 00:04:44,680 --> 00:04:53,230 Bem, depois de obtermos nossas permissões aqui no próximo bloco, queremos informar ao XPO e seu próprio servidor, o que 59 00:04:53,290 --> 00:04:59,050 eles têm para assinar nosso aplicativo com esses servidores de envio oficiais. 60 00:04:59,920 --> 00:05:05,230 Precisamos dizer ao XPO que basicamente assine nosso aplicativo, por assim dizer nos bastidores. 61 00:05:05,230 --> 00:05:07,330 O Expert fará tudo isso nos bastidores. 62 00:05:07,360 --> 00:05:13,450 A EXPL se inscreverá e, em seguida, nosso aplicativo aproveitará a EXPL para enviar notificações push. 63 00:05:14,110 --> 00:05:19,440 Agora, precisamos garantir que apenas cheguemos a esse bloco e, se tivermos uma permissão ativa. 64 00:05:20,120 --> 00:05:20,920 Darfor aqui. 65 00:05:20,980 --> 00:05:26,860 Se a permissão não foi concedida, não queremos realmente retornar, porque o próximo bloco ainda será 66 00:05:26,890 --> 00:05:29,560 acionado, mesmo que não tenhamos permissão. 67 00:05:29,980 --> 00:05:32,020 Em vez disso, aqui quero lançar um novo erro. 68 00:05:33,160 --> 00:05:35,590 Permissão não concedida. 69 00:05:38,650 --> 00:05:43,150 Com isso, garantirá que esse código seja executado apenas se tivermos permissões. 70 00:05:43,510 --> 00:05:46,810 Você verá que agora recebo um aviso de que as permissões não foram concedidas. 71 00:05:46,960 --> 00:05:49,600 Mesmo que tenhamos concedido permissões antes aqui. 72 00:05:50,200 --> 00:05:55,990 A razão para isso simplesmente pode ser vista se o console bloquear esse objeto de status aqui. 73 00:05:56,650 --> 00:05:58,210 Se fizermos isso, vemos. 74 00:05:58,290 --> 00:06:00,640 Na verdade, eu tenho um status de concedido aqui. 75 00:06:03,940 --> 00:06:06,670 Mas antes disso, temos um status indeterminado. 76 00:06:08,560 --> 00:06:12,490 O que simplesmente significa que ainda está descobrindo se temos permissão ou não. 77 00:06:13,610 --> 00:06:18,350 Tudo bem, porque, em última análise, deve-se verificar que os temos, para que possamos simplesmente nos livrar desse 78 00:06:18,350 --> 00:06:20,240 aviso adicionando um bloco de captura aqui. 79 00:06:22,410 --> 00:06:25,260 E então aqui, por enquanto, não retornarei nada. 80 00:06:27,300 --> 00:06:30,660 Mas com o pai, não temos mais uma rejeição de promessa sem tratamento. 81 00:06:31,020 --> 00:06:34,860 E, portanto, esse aviso desaparece novamente, obtendo a permissão deve funcionar. 82 00:06:35,610 --> 00:06:37,290 Agora, essas permissões estão fora do caminho. 83 00:06:37,320 --> 00:06:42,450 Vamos ver como podemos obter esse token de envio, que precisamos entregar mensagens.