Local blog for Italian speaking developers
Presentazione di Android Q Beta
29 marzo 2019
Pubblicato da Dave Burke, vicepresidente Engineering
Nel 2019, l’innovazione nei dispositivi mobili è più attiva che mai, con l’introduzione di nuove tecnologie, dal 5G ai display edge-to-edge e persino agli schermi pieghevoli.
Android è al centro di questo ciclo di innovazione
e, grazie all’ampio ecosistema di partner su miliardi di dispositivi, sta contribuendo ad ampliare i limiti dell’hardware e del software fornendo agli utenti esperienze e funzionalità innovative.
Con l’evoluzione dell’ecosistema mobile, Android si concentra principalmente sull’aiutare gli utenti a trarre vantaggio dalle ultime innovazioni, garantendone al tempo stesso la sicurezza e la privacy. Oltre a Google Play Protect e alle autorizzazioni di runtime, Android Q offre agli utenti ulteriori funzioni di privacy e sicurezza, oltre a miglioramenti per foldable, nuove API per la connettività, nuovi codec multimediali e funzionalità della fotocamera, estensioni NNAPI, supporto per Vulkan 1.1, avvio più veloce delle app e molto altro.
Oggi rilasciamo la Beta 1 di Android Q per i primi utenti e un SDK di anteprima per gli sviluppatori. Puoi iniziare a usare la Beta 1 oggi stesso
iscrivendo qualsiasi dispositivo Pixel
(compresi gli originali Pixel e Pixel XL, per i quali a grande richiesta abbiamo esteso il supporto!)
Facci sapere cosa ne pensi
! Continua a leggere per avere un assaggio delle novità di Android Q. Ci vediamo al
Google I/O a maggio
, con tante altre informazioni da condividere.
Aggiunta di ulteriori protezioni della privacy in Android
Android è stato progettato con al centro sicurezza e privacy. Con la sua evoluzione, abbiamo aggiunto un’ampia gamma di funzioni per proteggere gli utenti, come ad esempio
crittografia basata su file
, controlli del sistema operativo in base ai quali le app devono
richiedere l’autorizzazione prima di accedere a risorse sensibili
, blocco dell’
accesso in background a fotocamera/microfono
,
modalità di blocco
,
backup criptati
,
Google Play Protect
(che analizza oltre 50 miliardi di app al giorno per identificare app potenzialmente dannose e rimuoverle) e molto altro ancora. In Android Q, abbiamo apportato ulteriori miglioramenti per proteggere i nostri utenti. Molti di questi miglioramenti fanno parte del nostro lavoro in
Project Strobe
.
Maggiore controllo degli utenti sulla localizzazione
Con Android Q, il sistema operativo consente agli utenti di avere un maggiore controllo su quando le app possono ottenere la loro posizione. Come nelle versioni precedenti del sistema operativo, le app possono ottenere la posizione solo dopo aver chiesto e ottenuto l’autorizzazione dell’utente.
Un aspetto particolarmente sensibile è l’accesso delle app alla posizione mentre non sono in uso (in background). Android Q consente agli utenti di scegliere quando concedere alle app l’autorizzazione di vedere la loro posizione: mai, solo quando l’app è in uso (in esecuzione) o sempre (quando è in background).
Ad esempio, ha senso che un’app richieda la posizione di un utente per una consegna di cibo a domicilio, quindi l’utente potrebbe ragionevolmente fornire la sua autorizzazione. Tuttavia, dal momento che l’app potrebbe non aver bisogno di acquisire la posizione quando non è in uso, l’utente potrebbe non voler concedere tale accesso. Android Q ora offre questo maggiore livello di controllo. Leggi la
guida per gli sviluppatori
per i dettagli su come adattare la tua app per questo nuovo controllo. Scopri altri miglioramenti incentrati sull’utente presto disponibili nelle prossime beta. Allo stesso tempo, il nostro obiettivo è dare sempre agli sviluppatori preavviso e supporto massimi in relazione a queste modifiche.
Più protezioni della privacy in Android Q
Oltre alle modifiche alla localizzazione, abbiamo apportato ulteriori aggiornamenti per garantire la trasparenza, fornire agli utenti il controllo e proteggere i dati personali.
In Android Q, il sistema operativo offre agli utenti un controllo ancora maggiore sulle app, verificando l’accesso ai file condivisi. Gli utenti saranno in grado di controllare l’accesso delle app a Foto e Video o alle raccolte Audio tramite nuove autorizzazioni di runtime. Per i Download, le app devono utilizzare il selettore di file di sistema, che consente all’utente di decidere a quali file di Download l’app può accedere. Per gli sviluppatori, sono state apportate modifiche al modo in cui le app possono utilizzare le aree condivise sullo spazio di archiviazione esterno. Assicurati di leggere le
Modifiche relative allo spazio di archiviazione
per maggiori dettagli.
Abbiamo anche visto che gli utenti (e gli sviluppatori!) non amano affatto quando un’app passa inaspettatamente in primo piano e prende il sopravvento. Per ridurre queste interruzioni, Android Q impedirà alle app di avviare una Activity in background. Se la tua app è in background e deve attirare rapidamente l’attenzione dell’utente, ad esempio per chiamate in arrivo o allarmi, puoi utilizzare una notifica ad alta priorità e fornire un intent a schermo intero. Consulta la
documentazione
per ulteriori informazioni.
Stiamo limitando l’accesso a identificatori di dispositivi non reimpostabili, inclusi IMEI, numero di serie e identificatori simili. Leggi le
best practice
per scegliere gli identificatori giusti per il tuo caso d’uso e consulta i dettagli
qui
. Stiamo anche randomizzando per impostazione predefinita il MAC Address del dispositivo quando ci si collega a reti Wi-Fi diverse (un’impostazione facoltativa in Android 9 Pie).
Queste modifiche sono a tua disposizione in anticipo, quindi hai tutto il tempo necessario per prepararti. Abbiamo anche lavorato sodo per fornire agli sviluppatori informazioni dettagliate in anteprima; ti consigliamo di rivedere i
documenti dettagliati
sulle modifiche alla privacy e iniziare subito con i test.
Nuovi modi per interagire con gli utenti
In Android Q, stiamo introducendo nuovi modi per portare gli utenti nelle tue app e ottimizzare l’esperienza nella transizione da altre app.
Foldable e nuovi schermi innovativi
I dispositivi foldable hanno aperto la strada a esperienze e casi d’uso innovativi. Per consentire alle tue app di trarre vantaggio da questi e altri dispositivi con schermi di grandi dimensioni, abbiamo apportato una serie di miglioramenti ad Android Q, incluse le modifiche a
onResume
e
onPause
per supportare la funzionalità Multi-Resume e avvisare la tua app quando è attiva. Abbiamo anche modificato il funzionamento dell’attributo manifest
resizeableActivity
, per aiutarti a gestire il modo in cui la tua app viene visualizzata su schermi di grandi dimensioni e foldable. Per iniziare a creare e testare su questi nuovi dispositivi, abbiamo lavorato sodo all’aggiornamento di Android Emulator per supportare la commutazione multidisplay. Maggiori dettagli presto disponibili!
Condivisione di scorciatoie
Quando un utente desidera condividere contenuti, come una foto, con un altro utente in un’altra app, il processo dovrebbe essere veloce. In Android Q lo rendiamo più semplice e veloce con la condivisione delle scorciatoie, che consente agli utenti di passare direttamente a un’altra app per condividere contenuti. Gli sviluppatori possono pubblicare obiettivi di condivisione che avviano un’attività specifica nelle proprie app con i contenuti allegati e questi vengono mostrati agli utenti nella UI di condivisione. Poiché vengono pubblicati in anticipo, l’UI di condivisione può essere caricata istantaneamente al momento del lancio.
Il meccanismo di condivisione delle scorciatoie è simile alle Scorciatoie applicazioni, quindi abbiamo ampliato l’
API ShortcutInfo
per rendere più semplice l’integrazione di entrambe le funzionalità. Questa nuova API è supportata anche nella nuova libreria ShareTarget AndroidX. Ciò permette alle app di utilizzare la nuova funzionalità, consentendo al tempo stesso ai dispositivi pre-Q di utilizzare la condivisione diretta. Puoi trovare un’app di esempio con
codice sorgente qui
.
Settings Panels
Ora puoi anche mostrare le principali impostazioni di sistema direttamente nel contesto della tua app, attraverso una nuova
API Settings Panels
che sfrutta la funzionalità Slices introdotta in Android 9 Pie.
Un pannello delle impostazioni è una UI mobile richiamata dall’app per visualizzare le impostazioni di sistema di cui gli utenti potrebbero aver bisogno, ad esempio la connettività Internet, NFC e il volume audio. Ad esempio, un browser può visualizzare un pannello con impostazioni di connettività come Modalità aereo, Wi-Fi (comprese le reti vicine) e Dati mobili. Non è necessario uscire dall’app; gli utenti possono gestire le impostazioni secondo necessità dal pannello. Per visualizzare un pannello delle impostazioni, basta lanciare un intent con una delle nuove action
Settings.Panel
.
Connettività
In Android Q, abbiamo ampliato ciò che le tue app possono fare con lo stack di connettività di Android e aggiunto nuove API di connettività.
Autorizzazioni di connettività, privacy e sicurezza
La maggior parte delle nostre API per la ricerca delle reti richiede già un’autorizzazione di localizzazione COARSE, ma in Android Q, per Bluetooth, dati e Wi-Fi, abbiamo aumentato la protezione attorno a tali API richiedendo invece l’autorizzazione di localizzazione FINE. Se l’app deve solo effettuare connessioni peer-to-peer o suggerire reti, consulta le API Wi-Fi migliorate di seguito: semplificano le connessioni e non richiedono l’autorizzazione di localizzazione.
Oltre ai MAC Address randomizzati forniti da Android Q quando si è connessi a reti Wi-Fi diverse, stiamo aggiungendo nuovo supporto Wi-Fi standard, WPA3 ed Enhanced Open, per migliorare la sicurezza per le reti domestiche e di lavoro, nonché per le reti aperte/pubbliche.
Connettività peer-to-peer e Internet migliorata
In Android Q abbiamo rifattorizzato lo stack Wi-Fi per migliorare la privacy e le prestazioni, ma anche per migliorare i casi di utilizzo comuni come la gestione dei dispositivi IoT e la visualizzazione di suggerimenti per connessioni Internet, senza richiedere l’autorizzazione di localizzazione.
Le API per la connessione di rete semplificano la gestione dei dispositivi IoT tramite Wi-Fi locale, per funzioni peer-to-peer come la configurazione, il download o la stampa. Le app avviano indirettamente le richieste di connessione specificando SSID e BSSID preferiti come
WiFiNetworkSpecifiers
. La piattaforma gestisce la ricerca Wi-Fi e visualizza le reti corrispondenti in un selettore Wi-Fi. Quando l’utente effettua la selezione, la piattaforma imposta automaticamente la connessione.
Le
API di suggerimento delle reti consentono alle app di individuare le reti Wi-Fi preferite dall’utente per la connettività Internet. Le app avviano le connessioni indirettamente fornendo un elenco classificato di reti e credenziali come
WifiNetworkSuggestions
. La piattaforma si connette in base alle prestazioni precedenti quando si trova nel raggio d’azione di tali reti.
Modalità prestazioni Wi-Fi
Ora in Android Q è possibile richiedere il Wi-Fi adattativo abilitando le modalità ad alte prestazioni e bassa latenza. Queste saranno molto utili nei casi in cui la bassa latenza è importante per l’esperienza dell’utente, come nel caso di giochi in tempo reale, chiamate vocali attive e casi d’uso simili.
Per utilizzare le nuove modalità di prestazione, chiama
WifiManager.WifiLock.createWifiLock()
con
WIFI_MODE_FULL_LOW_LATENCY
o
WIFI_MODE_FULL_HIGH_PERF
. In queste modalità, la piattaforma funziona con il firmware del dispositivo per soddisfare il requisito con il minor consumo energetico possibile.
Fotocamera, contenuti multimediali, grafica
Formato Dynamic Depth per le foto
Molte fotocamere su dispositivi mobili sono in grado di simulare una ridotta profondità di campo sfocando il primo piano o lo sfondo rispetto al soggetto. Catturano i metadati di profondità per vari punti dell’immagine e applicano una sfocatura statica, quindi eliminano i metadati di profondità.
A partire da Android Q, le app possono richiedere un’immagine Dynamic Depth costituita da un JPEG, metadati XMP relativi a elementi di profondità e una mappa di profondità e affidabilità incorporata nello stesso file su dispositivi che pubblicizzano il supporto.
La richiesta di un’immagine JPEG + Dynamic Depth consente di offrire sfocature e opzioni bokeh speciali nella tua app. In futuro, puoi anche utilizzare i dati per creare immagini 3D o supportare casi d’uso con fotografia AR. Stiamo rendendo Dynamic Depth un formato aperto per l’ecosistema e stiamo lavorando con i nostri partner produttori di dispositivi per renderlo disponibile su tutti i dispositivi con Android Q e versioni successive.
Con l’immagine Dynamic Depth puoi offrire sfocature e opzioni bokeh speciali nella tua app.
Nuovi codec audio e video
Android Q introduce il supporto per il codec video open source
AV1
. Ciò consente ai fornitori di contenuti multimediali di trasmettere contenuti video di alta qualità ai dispositivi Android
utilizzando meno larghezza di banda
. Inoltre, Android Q supporta la codifica audio utilizzando
Opus
, un codec ottimizzato per lo streaming vocale e musicale e
HDR10 +
per video HDR sui dispositivi che lo supportano.
L’
API MediaCodecInfo
introduce un modo più semplice per determinare le capacità di rendering video di un dispositivo Android. Per ogni codec, è possibile ottenere un elenco di dimensioni e frame rate supportati utilizzando VideoCodecCapabilities.getSupportedPerformancePoints(). Ciò consente di scegliere i contenuti video di migliore qualità da visualizzare sul dispositivo specifico.
API MIDI nativa
Per le app che eseguono l’elaborazione audio in C++, Android Q presenta un’
API MIDI nativa
per comunicare con dispositivi MIDI tramite l’NDK. Questa API consente di recuperare i dati MIDI all’interno di una callback audio utilizzando una lettura senza blocco, consentendo l’elaborazione a bassa latenza dei messaggi MIDI. Fai un tentativo con l’app di esempio e il
codice sorgente qui
.
ANGLE su Vulkan
Per consentire una maggiore coerenza per gli sviluppatori di giochi e grafica, stiamo lavorando a un driver OpenGL standard aggiornabile per tutti i dispositivi creati su Vulkan. In Android Q stiamo aggiungendo il supporto sperimentale per
ANGLE
in aggiunta a Vulkan sui dispositivi Android. ANGLE è un livello di astrazione grafica progettato per la compatibilità OpenGL ad alte prestazioni nelle varie implementazioni. Attraverso ANGLE, le numerose app e i giochi che utilizzano OpenGL ES possono sfruttare le prestazioni e la stabilità di Vulkan e beneficiare di un’implementazione di ES coerente e indipendente dal produttore sui dispositivi Android. In Android Q, stiamo pianificando il supporto di OpenGL ES 2.0, a cui seguirà quello per ES 3.0.
Estenderemo l’implementazione con più funzionalità OpenGL, correzioni di bug e ottimizzazioni delle prestazioni. Consulta
i documenti
per i dettagli sul supporto ANGLE attuale in Android, su come utilizzarlo e sui nostri piani futuri. Puoi iniziare a testare con il nostro supporto iniziale attivando le opzioni per sviluppatore nelle Impostazioni. Provalo oggi stesso!
Vulkan ovunque
Stiamo continuando a espandere l’impatto di
Vulkan
su Android,
la nostra implementazione
dell’API multipiattaforma e a basso overhead per la grafica 3D ad alte prestazioni. Il nostro obiettivo è rendere Vulkan su Android un’API di sviluppo per la grafica ampiamente supportata e coerente. Stiamo collaborando con i nostri partner produttori di dispositivi per rendere Vulkan 1.1 un requisito per tutti i dispositivi a 64 bit con Android Q e versioni successive e una raccomandazione per tutti i dispositivi a 32 bit. In futuro, ciò contribuirà a fornire un’API per la grafica uniforme ad alte prestazioni da utilizzare per app e giochi.
API Neural Networks 1.2
Dall’introduzione dell’API Neural Networks (NNAPI) nel 2017, abbiamo continuato ad ampliare il numero di operazioni supportate e a migliorare le funzionalità esistenti. In Android Q, abbiamo aggiunto 60 nuove operazioni tra cui ARGMAX, ARGMIN, LSTM quantizzato, oltre a un’ampia gamma di ottimizzazioni delle prestazioni. Ciò pone le basi per accelerare una gamma molto più ampia di modelli, come quelli per il rilevamento di oggetti e la segmentazione delle immagini. Stiamo collaborando con fornitori di hardware e framework popolari di machine learning come
TensorFlow
per ottimizzare e distribuire il supporto per NNAPI 1.2.
Rafforzamento delle basi di Android
Prestazioni di ART
Android Q introduce numerosi nuovi miglioramenti al runtime di ART che accelerano i tempi di avvio delle app e consentono di ridurre l’uso di memoria, senza richiedere alcun intervento da parte degli sviluppatori.
Da Android Nougat, ART ha offerto
Profile Guided Optimization
(PGO), che accelera l’avvio delle app nel tempo identificando e precompilando parti del codice eseguite di frequente. Per facilitare l’avvio iniziale dell’app, Google Play ora fornisce profili basati su cloud unitamente agli APK. Si tratta di profili ART anonimi e aggregati che consentono ad ART di eseguire la precompilazione di parti dell’app ancor prima che venga eseguita, accelerando significativamente tutto il processo di ottimizzazione. I profili basati su cloud sono vantaggiosi per tutte le app e sono già disponibili per i dispositivi con Android P e versioni successive.
Stiamo anche continuando a migliorare ART. Ad esempio, in Android Q abbiamo ottimizzato il processo Zygote avviando prima il processo dell’app e spostandolo in un container di sicurezza, in modo che sia pronto per essere lanciato immediatamente. Stiamo memorizzando maggiori informazioni nell’immagine heap dell’app, come le classi, e utilizzando il threading per caricare l’immagine più velocemente. Stiamo inoltre aggiungendo la Generational Garbage Collection al Garbage Collector Concurrent Copy (CC) di ART. La CC generazionale è più efficiente poiché raccoglie oggetti di generazioni più recenti separatamente, con costi molto più bassi rispetto alla GC full-heap, pur continuando a recuperare una buona quantità di spazio. Ciò rende la garbage collection in generale più efficiente in termini di tempo e CPU, riducendo gli elementi superflui e aiutando le app a funzionare meglio su dispositivi di fascia bassa.
Sicurezza per le app
BiometricPrompt
è il nostro framework di autenticazione unificato per supportare la biometria a livello di sistema. In Android Q stiamo ampliando il supporto per i metodi di autenticazione passiva come il viso e aggiungendo flussi di autenticazione impliciti ed espliciti. Nel flusso esplicito, l’utente deve confermare esplicitamente la transazione nel TEE durante l’autenticazione. Il flusso implicito è progettato come alternativa più leggera per le transazioni con autenticazione passiva. Abbiamo anche migliorato il fallback per le credenziali del dispositivo quando necessario.
Android Q aggiunge il supporto per
TLS 1.3
, una revisione maggiore dello standard TLS che include vantaggi prestazionali e sicurezza avanzata. I nostri benchmark indicano che le connessioni sicure possono essere stabilite fino al 40% più velocemente con TLS 1.3 rispetto a TLS 1.2. TLS 1.3 è abilitato per impostazione predefinita per tutte le connessioni TLS. Consulta i
documenti
per i dettagli.
Compatibilità nelle API pubbliche
Un altro aspetto che riteniamo molto importante è garantire che le app funzionino senza intoppi mentre il sistema operativo cambia e si evolve. Le app che utilizzano API non SDK possono arrestarsi in maniera anomala durante l’uso da parte degli utenti e dover essere sottoposte a rollout di emergenza da parte degli sviluppatori. In Android Q proseguiamo con il nostro impegno a lungo termine
iniziato in Android P
di migrazione delle app verso l’uso esclusivo di API pubbliche. Sappiamo che allontanare l’app dalle API non SDK richiederà del tempo e per questo ti stiamo
informando
in anticipo
.
In Android Q abbiamo limitato l’accesso a
più interfacce non SDK
e ti chiediamo di usare gli equivalenti pubblici. Per facilitare la transizione ed evitare che le tue app smettano di funzionare, stiamo abilitando le restrizioni solo quando la tua app ha come target Android Q. Continueremo ad aggiungere API alternative pubbliche in base alle tue richieste; se non dovessero esserci API pubbliche che soddisfano il tuo caso d’uso,
faccelo sapere
.
È importante
provare le tue app
nel caso di utilizzi di interfacce non SDK. Ti consigliamo di utilizzare il metodo StrictMode
detectNonSdkApiUsage()
per essere informato quando la tua app accede ad API non SDK tramite reflection o JNI. Anche se le API sono esenti (disattivate) in questo momento, è meglio iniziare a pianificare ed eliminarne l’uso per ridurre problemi di compatibilità futuri. Per maggiori dettagli sulle restrizioni in Android Q, consulta la
guida per gli sviluppatori
.
Android moderno
Stiamo espandendo i nostri sforzi per consentire a tutte le app di sfruttare a pieno le funzionalità di sicurezza e prestazioni dell’ultima versione di Android. Nella seconda metà dell’anno, Google Play richiederà di
impostare la targetSdkVersion della tua app su 28
(Android 9 Pie) nelle nuove app e nei nuovi aggiornamenti. In linea con queste modifiche, Android Q avviserà gli utenti con una finestra di dialogo quando eseguono per la prima volta un’app che ha come target una piattaforma precedente all’API level 23 (Android Marshmallow). Ecco una
lista di controllo delle risorse
per aiutarti a migrare la tua app.
Stiamo anche indirizzando l’ecosistema verso la compatibilità per i dispositivi a 64 bit. Nella seconda metà dell’anno, Google Play richiederà il
supporto a 64 bit in tutte le app
. Se la tua app utilizza SDK o librerie native, tieni presente che dovrai fornire versioni conformi a 64 bit di questi SDK o librerie. Consulta la
guida per gli sviluppatori
per dettagli su come prepararti.
Primi passi con Android Q Beta
Poiché ci sono importanti funzioni per la privacy che potrebbero influire sulle tue app, ti consigliamo di iniziare subito con i test. In particolare, ti consigliamo di abilitare e testare le modifiche allo spazio di archiviazione di Android Q, i nuovi stati relativi alle autorizzazioni per la localizzazione, le restrizioni sull’avvio dell’app in background e quelle sugli identificatori del dispositivo. Consulta la
documentazione sulla privacy
per ulteriori dettagli.
Per iniziare, installa la tua app corrente da Google Play su un dispositivo o
Android Virtual Device
che esegue Android Q Beta e analizza i flussi utente. L’app dovrebbe funzionare e apparire alla grande e gestire correttamente le
modifiche ai comportamenti di Android Q per tutte le app
. Se riscontri problemi, ti consigliamo di risolverli nell’app corrente, senza modificare il livello di targeting. Dai un’occhiata alla
guida alla migrazione
per i passaggi e le tempistiche consigliate.
Successivamente, aggiorna la targetSdkVersion dell’app su “Q” il prima possibile. Ciò ti consente di testare la tua app con tutte le funzionalità di privacy e sicurezza in Android Q e con tutte le altre
modifiche comportamentali per le app che hanno come target Q
.
Esplora le nuove funzionalità e le nuove API
Quando sei pronto, tuffati in Android Q e scopri le
nuove funzionalità e API
che puoi usare nelle tue app. Per iniziare, dai un’occhiata al
rapporto sulle differenze delle API
, al
riferimento API
di Android Q Beta e alle guide per gli sviluppatori. Inoltre, sul
sito per sviluppatori Android Q Beta
, troverai
note di rilascio
e
risorse di supporto
per segnalare eventuali problemi.
Per creare con Android Q, scarica l’SDK di Android Q Beta e gli strumenti in Android Studio 3.3 o versioni successive e segui
queste
istruzioni per configurare il tuo ambiente. Se desideri le ultime correzioni per modifiche relative ad Android Q, ti consigliamo di utilizzare
Android Studio 3.5
o versione successiva.
Come posso ottenere Android Q Beta?
È facile:
iscriviti qui
per ottenere gli aggiornamenti di Android Q Beta in modalità OTA, su qualsiasi dispositivo Pixel (e quest’anno supportiamo tutte e tre le generazioni di Pixel - Pixel 3, Pixel 2 e persino il Pixel originale!). Sono anche
disponibili
immagini di sistema scaricabili per tali dispositivi. Se non disponi di un dispositivo Pixel, puoi utilizzare Android Emulator e scaricare le ultime immagini del sistema di emulazione tramite l’SDK Manager in Android Studio.
Abbiamo in programma di aggiornare regolarmente immagini di anteprima del sistema e di SDK per tutta la durata dell’anteprima. Condivideremo maggiori funzionalità con l’avanzare del programma Beta.
Come sempre, il tuo feedback è fondamentale quindi
facci sapere cosa ne pensi
. Prima ci invierai le tue opinioni, maggiori saranno le integrazioni che potremo inserire nella versione finale. Eventuali problemi possono essere
segnalati qui
. Abbiamo a disposizione delle hotlist per l’invio di
problemi relativi alla piattaforma
,
alla compatibilità delle app
e
a SDK di terzi
.
Etichette
Android
Firebase
machine learning
Google Cloud Platform
GDL
Eventi
Google Developers Live
Google Play
TensorFlow
App
Chrome
Cloud
api
GDLItalia
GDE
GDG
Google Assistant
iOS
Kotlin
Actions on Google
Deep Learning
AppEngine
AMP
BigQuery
Cloud Functions
Flutter
Android Studio
Google Developers Expert
Università
Google AppEngine
JavaScript
AI
Android Wear
GAE
Google Play Store
HTML5
Maps
security
Android App Development
AngularJS
IoT
Kubernetes
Annunci
Cloud Firestore
Cloud Machine Learning
Google I/O
Polymer
Android Things
Community
DevTools
Google App Engine
intelligenza artificiale
Entrepreneurship
Firebase Analytics
GSoC
Games
Google Cast
ML
open source
Crashlytics
Dart
Diversity
Drive
Google Data Studio
Google Play Games
TensorFlow Lite
Android Developers
Android O
Cloud Spanner
Cloud TPU
Compute Engine
DevFest
Google Compute Engine
Google Developers
Material Design
Mobile
PWA
Python
Startup
AIY Project
ARCore
Android Jetpack
AndroidDev
Androidq
Apps Script
Artificial Intelligence
Augmented Reality
Firebase Cloud Messaging
Google Cloud
Google Maps
Gsuite
IO19
ML kit
Research
VR
coding
unity
#io19
AR
Android Dev Summit
Android Developer
Android Q
Cardboard
Cloud AI
Coral
Developers
Dialogflow
Firebase Realtime Database
Gmail
Google AI
Google Cloud Messaging
Google ContainerEngine
Google Play Console
Kotlin Coroutines
NLP
Programming
Responsive Design
TensorFlowjs
Testing
WTM
Women
beacons
cloud storage
developer
node JS
student programs
women techmakers
API Cloud Vision
Add-ons
Android P
AndroidDevStory
Animation
AutoML
Brillo
Classroom
DSC
Database
Developer Student Clubs
Edge TPU
Fabric
Featured
Flutter Web
G Suite
GWT
GoLang
Google
Google Brain
Google Cloud Next
Google Container Engine
Google Developer Groups
Google I/O Extended
Graph
Hosting
Instant Apps
Keras
Livedata
Mobile Sites
Prediction
Privacy
Project Tango
SDK
Stackdriver
Tales
UI
Udacity
Virtual Reality
Web
Web Development
YouTube
analytics
android security
api.ai
courses
google io
indies
natural language processing
reti neurali
sign-in
young developers
2d Animation
3d
AIY
ARkit
Adversarial Learning
Alpha
Android App
Android App Developmen
Android App bundle
Android Architecture
Android Architecture Components
Android Auto
Android Automotive OS
Android Dev Summit Android Developer
Android Developer Challenge
Android Developers GooglePlayAwards
Android Development
Android Go
Android Instant App
Android Pie
Android Q Scoped Storage
Android Q audio
Android Styles
Android audio playback capture
Android codelabs
AndroidTV
AndroidX
Angular
Aogdevs
Api Design
App Development
App Distribution
Apps
Architecture
Architecture Components
Arduino
Best Practices
Betatesting
Bugs
C++
Certification
Cloud Anchors
Cloud Next
Cloud Run
Cloud Service Platform
Cloud Shell
Cloud Study Jam
Coached Conversational Preference Elicitation
Commerce
Community Connector
Computer Science
Consistency
Containers
Converge
Conversation Design
Crash Reporting
DLS Design
Dagger
Data Science
Databases
Dependency Injection
Design
Developer Communities
Developer Community
Developer Culture
Developer Story
Developing Media Apps
Development
Eager
Edge TPU Dev Board
Education
Emulatore Android
Error Message
Eslint
Europe
Firebase Extensions
Firebase Summit 2019
Firebasehosting
Flutter 1.5
Flutter at IO
FlutterDark
GCE
GDD
Game Development
Gboard
Gesture Navigation
Glass
Go
Google AI Quantum
Google App Script
Google Cloud Functions
Google Cloud billing
Google Coral
Google Developer Days
Google Home Hub
Google IOS Android
Google Identity Platform
Google Launchpad
Google Lens
Google Now
Google Photos
Google Play Devs
Google Play Indie Games Festival
Google Play Instant
Google Plus
Google codelabs
Google+
GoogleDevWeekly
GoogleLaunchpad
GooglePlay
Graphics
Healthcare
I/O
IO
IO19 Flutter
In-app Billing
Indie Games
Indie Games Festival
Indie games showcase
Indie showcase
Ingress
Instant Games
Issues
Java
Jetpack
Knative
Kotlin Beginners
Kotlin Everywhere
Kotlin codelabs
Lighthouse
Live Caption
Live Streaming
Localization
Location
M-Theory
Mondaygram
Monetization
NYT
NativeScript
Navigation
Neural Graph Learning
Neural Structured
Nodejs
OS
OS Updates
Olivex
One Time Codes
Online Education
PHA
Performance Monitoring
Policy
Posenet
Project Mainline
Project Treble
Quantum Computing Theory
Reactive Programming
Regression
Remote Config
Resonance Audio
Room
Scoped Storage
Semantics
Semi Supervised Learning
Serverless
Sms Retriever Api
Sms Verification
Speech Recognition
Swift
Tensorflow Core
Tensorflow Hub
Test Lab
Text
Tokenizer
Tpu
Transformers
UX
UX Design
UX Research
Universal Sentence Encoder
Unsupervised Data Augmentation
Unsupervised Learning
User Experience
Viewmodel
Voice
WWW
Wear OS
WebAssembly
Widget
Women in Tech
WomenTechmakers
android kotlin
app stability
assistant
audio recording
augmented faces
authsub
best practices and updates
billing
botnet
business
c++ games
cancer
chatbot
chrome privacy
codelab
codelabs
competition
daydream
designer
dominio .dev
error handling
event
firebase games
firebase gdc
firebase hosting
firebase unity
game center authentication
game testing
games authentication
gdc
google summer of code
googledevelopers
grow
hashcode
indie
indie developers
internship
kids
machine intelligence
machine learning accelerator
maker
multi-platform
nearby
oauth
openid
performance
persistent AR
privacy sandbox
prizes
prototype
purchase flows
queries
realtime
responsible AI
security rules
showcase
solutions challenge
startup africa roadtrip
startup times
students
summer of code
unity crashlytics
verify apps
win
Archivio Blog
2020
feb
gen
2019
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2018
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2017
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2016
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2015
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2014
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
2013
dic
nov
ott
set
ago
lug
giu
mag
apr
mar
feb
gen
Feed
Follow @GoogleDevsItaly