1 00:00:02,410 --> 00:00:04,900 Ci sono anche altre cose che puoi 2 00:00:04,900 --> 00:00:11,170 impostare ovviamente, una cosa su cui voglio immergermi sono gli aggiornamenti over-the-air, ma che controlli con il tasto degli 3 00:00:11,170 --> 00:00:12,610 aggiornamenti nell'app. file json. 4 00:00:12,620 --> 00:00:19,600 Ora questa è una funzionalità accurata, il che significa che le persone che eseguono la tua app sul proprio dispositivo non 5 00:00:19,600 --> 00:00:24,970 importa se è solo in esecuzione nel client expo perché scansionano un codice a barre 6 00:00:25,390 --> 00:00:28,040 che, come ho detto, non è troppo utile 7 00:00:28,090 --> 00:00:33,700 o se l'hanno scaricato davvero dall'app negozi, finché crei la tua app nel flusso di lavoro dell'expo 8 00:00:33,700 --> 00:00:38,830 gestito, ottieni la funzionalità di aggiornamento over-the-air integrata e ciò significa che se modifichi qualcosa 9 00:00:38,830 --> 00:00:44,230 nel tuo codice, diciamo che qui in questa schermata cambiamo qualcosa, cambiamo alcuni titoli, alcune funzionalità 10 00:00:44,230 --> 00:00:52,900 o aggiungiamo persino un nuovissimo modulo nativo, qualunque cosa tu faccia, ogni volta che pubblichi questo aggiornamento con il comando expo publishing, tutti i tuoi utenti, 11 00:00:53,050 --> 00:00:58,810 anche se hanno installato l'app dagli app store, riceveranno questo aggiornamento in la loro app la prossima 12 00:00:58,810 --> 00:01:00,160 volta che apriranno 13 00:01:00,160 --> 00:01:06,160 l'app e questo è importante. È possibile configurare la funzionalità qui nella chiave degli aggiornamenti. Ancora nei documenti ufficiali, hai imparato di più 14 00:01:06,160 --> 00:01:11,560 su questa chiave di aggiornamento e su cosa puoi impostare lì. Quello che puoi impostare, ad 15 00:01:11,560 --> 00:01:15,790 esempio, è se è generalmente abilitato quale per impostazione predefinita 16 00:01:15,790 --> 00:01:22,600 è e con questo fallback per memorizzare nella cache il timeout, puoi configurare per quanto tempo 17 00:01:22,630 --> 00:01:29,620 l'app quando gli utenti la avviano sul loro dispositivo dovrebbe controllare gli aggiornamenti e provare a 18 00:01:29,710 --> 00:01:35,620 caricarli prima visualizza la versione recente disponibile. Impostando questo su zero, stai dicendo ogni volta 19 00:01:35,620 --> 00:01:41,830 che l'app si avvia, mostra immediatamente quello che ha. Cerca aggiornamenti dietro le quinte e per il prossimo 20 00:01:42,190 --> 00:01:47,500 lancio, potrebbe quindi tenerne conto ma non cerca di cercare aggiornamenti e scaricarli prima di caricare effettivamente l'app. 21 00:01:47,510 --> 00:01:50,420 Ora potresti cambiare questo per dire cinque 22 00:01:50,440 --> 00:01:55,790 secondi, questo è un valore in millisecondi, quindi cinquemila millisecondi che sono cinque secondi. 23 00:01:55,810 --> 00:02:01,360 Ciò significherebbe che quando le persone lanciano l'app, vedranno la schermata di avvio per un massimo di 24 00:02:02,020 --> 00:02:08,920 cinque secondi, che ovviamente è piuttosto lungo perché dopo aver caricato tutto il resto, expo o la tua app tenta di cercare 25 00:02:08,920 --> 00:02:13,870 un aggiornamento e se trova un aggiornamento, prova a scaricarlo e tenerlo in considerazione. 26 00:02:13,990 --> 00:02:19,150 Ciò potrebbe avvenire in cinque secondi, potrebbe essere più veloce, nel qual caso la tua app si 27 00:02:19,150 --> 00:02:24,700 avvierà più velocemente, ma se impiega più di cinque secondi, continuerà con l'aggiornamento ma non lo caricherà immediatamente 28 00:02:24,710 --> 00:02:30,370 ma caricherà invece il più recente versione disponibile. Ora spetta ovviamente a te quello 29 00:02:30,370 --> 00:02:31,690 che preferisci, 30 00:02:31,690 --> 00:02:37,510 questo approccio garantisce agli utenti l'esperienza di avvio più rapida possibile, ma ottengono il 31 00:02:37,510 --> 00:02:40,830 tuo codice aggiornato solo al successivo avvio dell'app. 32 00:02:40,990 --> 00:02:48,010 Questo approccio o l'impostazione su un valore ancora più elevato come 10 secondi significa che gli utenti ottengono versioni più recenti più frequentemente o 33 00:02:48,130 --> 00:02:53,710 più rapidamente perché lo ottengono già al prossimo avvio dell'app, ma il rovescio della medaglia è che il lancio 34 00:02:53,800 --> 00:02:58,990 dell'app potrebbe richiedere un po 'più di tempo, il che potrebbe essere non quello che vuoi. 35 00:02:58,990 --> 00:03:03,760 Quindi dipende davvero dal tipo di app che stai costruendo e dal tipo di utenti che stai prendendo di mira, 36 00:03:03,760 --> 00:03:04,840 cosa vuoi impostare lì. 37 00:03:04,840 --> 00:03:10,780 Se si tratta di un'app aziendale, diciamo che distribuisci ai tuoi dipendenti che deve essere aggiornata 38 00:03:10,780 --> 00:03:14,620 continuamente e in cui l'esperienza utente non è così importante, 39 00:03:14,620 --> 00:03:17,710 potresti voler prendere un valore come 10 40 00:03:17,710 --> 00:03:25,880 secondi qui, se è un'app con cui condividi normali utenti finali in tutto il mondo, potresti voler andare per un tempo di avvio 41 00:03:25,880 --> 00:03:31,220 più veloce per fornire una buona esperienza utente e sacrificare la velocità di aggiornamento per 42 00:03:31,390 --> 00:03:36,190 questo, quindi gli utenti otterrebbero l'aggiornamento solo al prossimo lancio dopo questo lancio. 43 00:03:36,190 --> 00:03:43,300 Con tutto ciò fuori mano, diamo davvero un'occhiata a tutto questo e anche a questa funzionalità di aggiornamento 44 00:03:43,300 --> 00:03:44,260 via etere. 45 00:03:44,260 --> 00:03:48,990 Ho cambiato un paio di impostazioni qui e quindi quello che farò ora è che eseguirò 46 00:03:49,120 --> 00:03:53,840 di nuovo expo publishing, tuttavia questo è il comando che non lo otterrà negli app store 47 00:03:53,890 --> 00:04:02,620 ma che lo condividerà qui in questa pagina expo, per così dire . Quindi eseguo questo comando e avremmo potuto comunque ottimizzare le nostre risorse con 48 00:04:02,620 --> 00:04:04,610 Expo Expo ma dal momento 49 00:04:04,660 --> 00:04:09,010 che non abbiamo immagini incluse nell'app diverse dalle icone qui generate e comunque 50 00:04:09,040 --> 00:04:12,850 ottimizzate da Expo, questo non dovrebbe essere un problema , quindi 51 00:04:13,000 --> 00:04:18,460 posso semplicemente eseguirlo in questo modo e attendere che venga completato, quindi lo proverò su un dispositivo 52 00:04:18,460 --> 00:04:23,420 Android perché lì, il vantaggio ovviamente è che possiamo usare questo codice a barre qui. 53 00:04:24,370 --> 00:04:30,490 Quindi, una volta terminato, la cosa interessante è che avremo immediatamente questa nuova app disponibile scansionando questo codice a barre 54 00:04:30,490 --> 00:04:36,370 e, successivamente, ti mostrerò come possiamo ottenere gli aggiornamenti via aerea senza nemmeno scansionare di nuovo il codice a 55 00:04:36,370 --> 00:04:41,280 barre dell'app perché è il idea, riceviamo aggiornamenti senza eseguire nuovamente la scansione, viene inviato alla 56 00:04:41,320 --> 00:04:46,720 nostra app la prossima volta che lanciamo l'app. Quindi aspettiamo che questo processo di pubblicazione finisca e 57 00:04:46,720 --> 00:04:52,240 l'URL sia sempre lo stesso di prima perché non ho cambiato nulla della mia lumaca qui che 58 00:04:52,270 --> 00:04:54,570 fa parte di quell'URL o qualcos'altro. 59 00:04:55,540 --> 00:05:00,730 Quindi ora ecco l'app expo sul mio dispositivo Android dove ora posso scansionare questo 60 00:05:00,730 --> 00:05:10,330 codice a barre e quindi ora l'app si avvia qui su Android. Ora vedi che ho la schermata iniziale, ho l'app in esecuzione qui e ovviamente 61 00:05:10,330 --> 00:05:16,600 posso anche usarla, ad esempio posso scattare un'immagine qui. In modo che tutto funzioni come dovrebbe funzionare sul 62 00:05:16,720 --> 00:05:18,730 mio dispositivo qui e ora 63 00:05:18,820 --> 00:05:22,210 lascia che ti mostri questa funzionalità di aggiornamento via etere. 64 00:05:22,270 --> 00:05:24,940 Vedi che aggiungi il titolo del luogo qui in alto? 65 00:05:24,940 --> 00:05:27,060 Ora cambiamo questo nel nostro codice. 66 00:05:27,070 --> 00:05:28,470 Quindi andiamo al 67 00:05:28,630 --> 00:05:33,460 codice qui e sullo schermo qui nella schermata del nuovo posto in cui 68 00:05:33,580 --> 00:05:37,460 impostiamo questo titolo, cambiamo questo per aggiungere un nuovo posto, 69 00:05:37,500 --> 00:05:40,170 è un piccolo cambiamento ma ancora. 70 00:05:40,170 --> 00:05:45,540 Quindi ora se eseguo di nuovo expo publishing, questa app verrà raggruppata e verrà 71 00:05:45,660 --> 00:05:47,800 nuovamente pubblicata sui server expo. 72 00:05:47,880 --> 00:05:52,770 Quindi aspettiamo che questo processo finisca ed è fatto e ora lascia che ti 73 00:05:52,770 --> 00:05:54,590 mostri questo aggiornamento dal vivo. 74 00:05:54,600 --> 00:05:55,880 Ho ancora l'app in 75 00:05:55,890 --> 00:06:01,670 esecuzione qui, quindi ovviamente questo non cambia mentre l'app è in esecuzione, quindi ovviamente qui abbiamo ancora il vecchio titolo. 76 00:06:02,040 --> 00:06:04,390 Ma ora diciamo che sono stato via 77 00:06:04,400 --> 00:06:08,380 un bel po 'di tempo, l'ho chiuso qui e ora ho riavviato l'app. 78 00:06:08,610 --> 00:06:14,720 Se ora vado alla schermata dei nuovi luoghi, vedo ancora il vecchio titolo. 79 00:06:14,920 --> 00:06:18,780 Ora ha senso se pensi alla strategia di aggiornamento che abbiamo usato. 80 00:06:18,780 --> 00:06:24,500 Mi sono assicurato che l'app si avviasse il più rapidamente possibile e scaricasse un nuovo aggiornamento dietro le 81 00:06:24,510 --> 00:06:25,470 quinte, quindi 82 00:06:25,470 --> 00:06:30,980 è quello che è successo ora, questo è stato il primo riavvio dell'app sul mio dispositivo dopo l'aggiornamento. 83 00:06:31,050 --> 00:06:36,330 Quindi diciamo che sono di nuovo via un po 'di tempo e lo riavvio di nuovo, a 84 00:06:36,330 --> 00:06:38,930 proposito qui puoi vedere l'icona adattiva in azione. 85 00:06:39,080 --> 00:06:44,600 Ora, se vado a quella schermata, vedrai aggiungere un nuovo posto come testo perché ora questo è il 86 00:06:44,600 --> 00:06:47,210 secondo lancio dopo l'aggiornamento. Nel primo lancio, 87 00:06:47,210 --> 00:06:52,020 abbiamo scaricato l'aggiornamento e installato per così dire, nel secondo lancio lo stiamo usando. 88 00:06:52,160 --> 00:06:57,800 Ora l'app sul dispositivo tecnicamente non è cambiata, è cambiato solo quello che c'è dentro, il nostro 89 00:06:57,800 --> 00:07:04,670 codice Javascript è cambiato e poiché abbiamo questo wrapper expo, ciò significa che expo può tenerne conto e utilizzare questo nuovo 90 00:07:04,670 --> 00:07:05,290 codice e 91 00:07:05,810 --> 00:07:10,730 funzionerà anche se pubblichi la tua app negli app store perché lì mentre costruirai un'app 92 00:07:10,730 --> 00:07:16,800 standalone e le persone non avranno bisogno del client expo, includerai comunque quell'app client expo nella tua app standalone 93 00:07:16,800 --> 00:07:17,800 come ho già 94 00:07:17,810 --> 00:07:18,860 detto in precedenza, 95 00:07:18,920 --> 00:07:24,710 quindi la tua app standalone ha il wrapper thin expo integrato nel client expo e avvolto la tua 96 00:07:24,710 --> 00:07:25,220 app, 97 00:07:25,250 --> 00:07:28,030 ecco perché gli aggiornamenti over-the-air funzioneranno anche lì. 98 00:07:28,070 --> 00:07:30,440 E a proposito di questo, ora 99 00:07:30,440 --> 00:07:36,150 lo testiamo molto, lo abbiamo testato solo con Expo e con la scansione del codice a barre. 100 00:07:36,170 --> 00:07:41,180 Ora tuffiamoci nel modo in cui possiamo davvero costruire questa app e pubblicare questa app per gli app store.