1 00:00:02,070 --> 00:00:06,250 Per fortuna, la gestione delle notifiche push è semplificata con expl. 2 00:00:06,450 --> 00:00:12,480 E ci sono vari passaggi che abbiamo già implementato, che dovremo anche implementare se 3 00:00:12,480 --> 00:00:16,530 stiamo cercando di gestire le notifiche push, ad esempio. 4 00:00:16,650 --> 00:00:21,600 Dobbiamo anche chiedere l'autorizzazione se vogliamo ricevere notifiche push. 5 00:00:21,930 --> 00:00:28,080 Quindi quell'autorizzazione, che stiamo ottenendo qui per ricevere notifiche che alla fine abiliterà sia le 6 00:00:28,080 --> 00:00:30,660 notifiche locali che quelle push. 7 00:00:30,720 --> 00:00:31,800 Si potrebbe dire così. 8 00:00:31,800 --> 00:00:32,640 Codice dati. 9 00:00:32,670 --> 00:00:36,660 Abbiamo assolutamente bisogno solo dell'ISIS, ma ne hanno bisogno. 10 00:00:37,840 --> 00:00:44,310 Avremo anche bisogno dei nostri gestori per gestire le notifiche in arrivo quando l'app è in primo piano. 11 00:00:44,500 --> 00:00:52,030 E quando l'app è in background perché effettivamente le notifiche push causeranno comunque una notifica locale al 12 00:00:52,030 --> 00:00:53,170 loro arrivo. 13 00:00:53,470 --> 00:00:59,290 Quindi, per gestire il messaggio, una volta che è sul nostro dispositivo, il nostro codice è esattamente lo stesso. 14 00:00:59,470 --> 00:01:01,210 Quindi questo non cambia. 15 00:01:01,810 --> 00:01:06,670 Ma ciò che cambierà, ovviamente, è il modo in cui scadiamo la regola di una notifica. 16 00:01:06,970 --> 00:01:09,580 Non lo faremo più con questo codice. 17 00:01:09,850 --> 00:01:15,640 Invece, prima di tutto, voglio iniziare mostrandoti come un messaggio potrebbe essere inviato totalmente 18 00:01:15,700 --> 00:01:16,990 dall'esterno del dispositivo. 19 00:01:17,290 --> 00:01:24,520 E poi come secondo passo, ti mostrerò come la nostra app qui potrebbe inviare una notifica a se stessa, ma a se 20 00:01:24,520 --> 00:01:28,180 stessa per l'esecuzione su un dispositivo diverso, su un utente diverso. 21 00:01:29,690 --> 00:01:35,690 Questo sarebbe lo scenario che hai in un'app di chat, ad esempio, a cui l'app vuole inviare una notifica. 22 00:01:35,720 --> 00:01:41,810 Bene, la stessa app, ma la stessa app su un dispositivo diverso, il dispositivo dell'utente a cui hai appena inviato 23 00:01:41,810 --> 00:01:43,250 il messaggio di chat. 24 00:01:43,580 --> 00:01:44,910 Questo sarà il secondo passo. 25 00:01:44,930 --> 00:01:49,340 Prima di tutto, ti mostrerò come inviare una notifica totalmente dall'esterno dell'app. 26 00:01:49,850 --> 00:01:52,220 Ma per questo manca un passo importante. 27 00:01:52,640 --> 00:01:59,420 E questa è l'identificazione con i server push di Google e Apple, perché, come ho già detto, 28 00:01:59,420 --> 00:02:00,560 dovremo farlo. 29 00:02:00,920 --> 00:02:08,720 E quei server ci daranno quindi questo token, questo I. D. , che alla fine dobbiamo inviare notifiche push e dead 30 00:02:09,370 --> 00:02:10,480 stamp per il codice. 31 00:02:10,490 --> 00:02:18,230 Dobbiamo aggiungere qui, oltre a chiedere l'autorizzazione qui, se intendiamo ricevere notifiche push. 32 00:02:18,500 --> 00:02:25,370 Dobbiamo anche firmare questa installazione dell'app con quei server push ufficiali. 33 00:02:25,610 --> 00:02:32,900 Quindi questa app in esecuzione su un dispositivo del nostro utente deve registrarsi con quel servizio push ufficiale. 34 00:02:33,340 --> 00:02:35,120 E per papà, dobbiamo aggiungere un po 'di codice. 35 00:02:35,600 --> 00:02:42,710 Ora, dovremo apportare alcune modifiche alle nostre autorizzazioni, tuttavia, o comunque le autorizzazioni avranno ancora bisogno 36 00:02:42,770 --> 00:02:44,180 di quelle. 37 00:02:44,720 --> 00:02:52,460 Ma dopo che avremo quelle autorizzazioni ora avremo bisogno di quel token, quello I. D. Dovremo firmare la nostra app con quei server di 38 00:02:52,460 --> 00:02:59,630 notifica push ufficiali e ottenere quello I. D. , che ci consente quindi 39 00:02:59,630 --> 00:03:04,550 di utilizzare I. D. per inviare notifiche a questa installazione dell'app su questo dispositivo. 40 00:03:05,120 --> 00:03:09,920 Ora, per fortuna, EXPL lo rende super, super facile. 41 00:03:09,940 --> 00:03:17,660 Lo rende molto semplice perché il team dietro XPO fondamentalmente non ci ha semplicemente fornito tutte queste belle funzioni JavaScript e l'API 42 00:03:17,660 --> 00:03:21,650 è per la creazione di app native reattive in modo conveniente. 43 00:03:22,040 --> 00:03:28,580 Hanno anche il proprio back e server con cui è possibile parlare attraverso alcune funzioni in cui hanno 44 00:03:28,700 --> 00:03:34,910 tutta la logica per iscriversi a un'app con quei server push ufficiali e ottenere tale autorizzazione. 45 00:03:35,810 --> 00:03:42,050 In realtà, per essere precisi, XPO non registra la nostra app con quei servizi. 46 00:03:42,350 --> 00:03:50,420 Invece, Xposed si è registrato con questi servizi e ci consente di utilizzare la sua iscrizione. 47 00:03:50,450 --> 00:03:56,840 Potresti dire che x sia il team che il software fanno tutto il lavoro pesante dietro 48 00:03:57,080 --> 00:04:03,860 le quinte per noi in modo che non abbiamo bisogno di iscrivere manualmente la nostra app, ma che 49 00:04:04,070 --> 00:04:13,220 possiamo sfruttare il server esistente di Expo per inviare le notifiche attraverso l'abbonamento di Expo con quei server ufficiali per le nostre diverse installazioni di 50 00:04:13,310 --> 00:04:14,960 app, utenti e dispositivi. 51 00:04:15,350 --> 00:04:17,240 È così che puoi pensarci. 52 00:04:17,660 --> 00:04:23,510 E papà renderà molto semplice l'implementazione delle notifiche push con EXPL. 53 00:04:24,140 --> 00:04:30,020 Posso dirti che se avessi bisogno di iscriverti manualmente, sarebbe un sacco di passaggi, molto lavoro. 54 00:04:30,470 --> 00:04:35,090 E XPO lo sta gestendo per te in un modo molto, molto elegante. 55 00:04:35,420 --> 00:04:41,090 XPO semplifica davvero l'invio di notifiche push alle tue applicazioni. 56 00:04:43,450 --> 00:04:44,350 Che cosa devi fare? 57 00:04:44,680 --> 00:04:53,230 Bene, dopo che abbiamo ottenuto le nostre autorizzazioni qui nel prossimo blocco, vogliamo dire a XPO e al loro server, che 58 00:04:53,290 --> 00:04:59,050 hanno per noi di firmare la nostra app con quei server push ufficiali. 59 00:04:59,920 --> 00:05:05,230 Dovremo dire a XPO di iscrivere sostanzialmente la nostra app, per così dire dietro le quinte. 60 00:05:05,230 --> 00:05:07,330 Expert farà tutto questo dietro le quinte. 61 00:05:07,360 --> 00:05:13,450 EXPL si iscriverà e quindi la nostra app sfrutterà EXPL per inviare notifiche push. 62 00:05:14,110 --> 00:05:19,440 Ora, per questo, dobbiamo assicurarci di raggiungere questo obiettivo e bloccarlo solo se disponiamo di un'autorizzazione attiva. 63 00:05:20,120 --> 00:05:20,920 Darfor qui. 64 00:05:20,980 --> 00:05:26,860 Se l'autorizzazione non è stata concessa, non vogliamo davvero tornare, perché il successivo blocco sarebbe comunque 65 00:05:26,890 --> 00:05:29,560 attivato, anche se non abbiamo l'autorizzazione. 66 00:05:29,980 --> 00:05:32,020 Invece, qui voglio lanciare un nuovo errore. 67 00:05:33,160 --> 00:05:35,590 Autorizzazione non concessa. 68 00:05:38,650 --> 00:05:43,150 In questo modo, questo codice verrà eseguito solo se disponiamo di autorizzazioni. 69 00:05:43,510 --> 00:05:46,810 Vedrai che ora ricevo un avviso che le autorizzazioni non sono state concesse. 70 00:05:46,960 --> 00:05:49,600 Anche se abbiamo concesso autorizzazioni prima qui. 71 00:05:50,200 --> 00:05:55,990 La ragione di ciò può essere semplicemente vista se la console blocca qui questo oggetto di stato. 72 00:05:56,650 --> 00:05:58,210 Se lo facciamo, vediamo. 73 00:05:58,290 --> 00:06:00,640 In effetti, ho uno status di concesso qui. 74 00:06:03,940 --> 00:06:06,670 Ma prima di ciò, abbiamo uno status di indeterminato. 75 00:06:08,560 --> 00:06:12,490 Il che significa semplicemente che sta ancora capendo se abbiamo il permesso o no. 76 00:06:13,610 --> 00:06:18,350 Va bene, perché alla fine dovrebbe vedere che li abbiamo in modo da poter semplicemente sbarazzarci di 77 00:06:18,350 --> 00:06:20,240 quell'avvertimento aggiungendo un blocco catch qui. 78 00:06:22,410 --> 00:06:25,260 E poi qui per il momento, non restituirò nulla. 79 00:06:27,300 --> 00:06:30,660 Ma con papà, non abbiamo più un rifiuto non gestito della promessa. 80 00:06:31,020 --> 00:06:34,860 E quindi questo avviso scompare di nuovo, ottenere l'autorizzazione dovrebbe funzionare. 81 00:06:35,610 --> 00:06:37,290 Ora, di quei permessi fuori mano. 82 00:06:37,320 --> 00:06:42,450 Vediamo come possiamo ottenere questo token push, di cui abbiamo bisogno per recapitare i messaggi.