Creare app Wear OS per la Cina

Quando crei app per Wear OS per la Cina, devi tenere conto degli smartphone senza i servizi Google Play preinstallati. Questa pagina contiene modifiche comuni che gli sviluppatori potrebbero dover adottare per il mercato cinese.

Utilizzare la versione corretta di Google Play Services

La versione 10.2.0 di Google Play Services fornisce supporto in tutto il mondo per l' API Fused Location Provider e l' API Data Layer. Devi utilizzare questa versione di Google Play Services se utilizzi queste API per garantire il supporto di una gamma più ampia di dispositivi Wear OS in Cina. In altri casi questa dipendenza è facoltativa.

Nota: sebbene Google Play Services contenga API per le app per Wear OS, le app per Wear OS per la Cina dovrebbero continuare a utilizzare le API relative a GoogleApiClient; consulta la pagina Accedere all'API Wearable.

API Fused Location Provider

Se utilizzi l'API Fused Location Provider, includi la seguente dipendenza nel file build.gradle del tuo modulo Wear OS:

Alla moda

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-location:10.2.0'
}

Kotlin

dependencies {
    ...
    implementation("com.google.android.gms:play-services-location:10.2.0")
}

API Data Layer

Se la tua app utilizza l'API Data Layer, devi aggiungere la riga seguente al file build.gradle del modulo Wear OS. La riga richiede l'utilizzo della versione 10.2.0 della libreria client.

Groovy

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-wearable:10.2.0'
    ...
}

Kotlin

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:10.2.0")
    ...
}

Aggiungi la seguente riga al file build.gradle del tuo modulo mobile. Sostituisci la dipendenza da Google Play Services con un riferimento alla versione 10.2.0.

Alla moda

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-wearable:10.2.0'
}

Kotlin

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:10.2.0")
}

Autenticazione

Prima di implementare l'autenticazione, esamina i tuoi casi d'uso per capire se l'autenticazione è effettivamente necessaria. Ad esempio, per un'app che fornisce le previsioni meteo, probabilmente non è necessario accedere e quindi autenticarsi.

Se richiedi l'autenticazione, ti consigliamo di utilizzare la libreria AndroidX OAuth. Per farlo, è necessario utilizzare il flusso Concessione del codice di autorizzazione con PKCE. Puoi anche utilizzare uno degli altri metodi descritti in Autenticazione sui dispositivi indossabili. L'utilizzo della libreria di assistenza per i dispositivi indossabili non è consigliato.

Per maggiori informazioni, consulta l'esempio OAuth per Wear OS su GitHub.

Notifiche collegate

Le notifiche collegate non sono supportate in Cina. Le notifiche dello smartphone vengono collegate a Wear OS solo se il dispositivo Wear OS è connesso allo smartphone tramite Bluetooth.

Compatibilità delle coordinate di posizione e mappatura

Utilizza FusedLocationProvider (FLP) per rilevare la posizione dell'utente in Cina, come faresti per il resto del mondo. In questo modo, la tua app prende in considerazione le informazioni migliori, indipendentemente dall'hardware dello smartwatch e dalla piattaforma dello smartphone a cui è accoppiato. L'utilizzo del FLP aggiunge anche l'ottimizzazione della batteria integrata nella piattaforma Wear OS.

Quando integri FusedLocationProvider con SDK per le mappe di terze parti, tieni conto della compatibilità delle coordinate tra i provider. FusedLocationProvider registra la posizione in base allo standard WGS84. Assicurati di convertire i sistemi di coordinate, se necessario.

Assistenza di Google Fit

Il contatore dei passi accumulati, i minuti di movimento e i punti cardio di Google Fit sono supportati in Cina e possono contare fino a sette giorni di dati storici. Puoi accedere senza fornire le credenziali di un utente.

Supporto delle azioni vocali

La piattaforma Wear OS fornisce diversi intent vocali basati sulle azioni dell'utente, ad esempio _"Mostra pulsi"_ o _"Imposta una sveglia"_. In questo modo, gli utenti possono dire cosa vogliono fare e il sistema può capire quale attività avviare.

Quando gli utenti pronunciano un'azione vocale, la tua app può filtrare in base all'intent attivato per avviare un'attività. Per avviare un servizio in background, mostra un'attività come suggerimento visivo e avvia il servizio nell'attività. Assicurati di chiamare finish() per rimuovere l'indicatore visivo.

Di seguito è riportato un elenco degli intent vocali supportati dalla piattaforma Wear OS:

Categoria Esempio Specifiche dell'intenzione
Chiamate in auto 打车去三里屯 Azione

com.google.android.gms.actions.RESERVE_TAXI_RESERVATION

Extra

to: la destinazione riconosciuta

L'extra è facoltativo.

Imposta sveglia 设元闹钟 明早七点的闹钟 Azione

android.intent.action.SET_ALARM

Extra

android.provider.AlarmClock.EXTRA_HOUR: un numero intero con l'ora della sveglia

android.provider.AlarmClock.EXTRA_MINUTES: un numero intero con il minuto della sveglia

Questi extra sono facoltativi. Fornisci uno, entrambi o nessuno di questi extra.

Imposta il timer 设置一个三分钟的倒计时 Azione

android.intent.action.SET_TIMER

Extra

android.provider.AlarmClock.EXTRA_LENGTH: un numero intero compreso tra 1 e 86400 (il numero di secondi in 24 ore), che rappresenta la durata del timer

Avvia cronometro 开始计时 Azione

com.google.android.wearable.action.STOPWATCH

Avviare o interrompere una corsa in bici 开始骑车 Azione

vnd.google.fitness.TRACK

Tipo MIME

vnd.google.fitness.activity/biking

Extra

actionStatus: una stringa con il valore ActiveActionStatus all'avvio e CompletedActionStatus all'arresto

Avviare o interrompere una corsa 开始跑步 Azione

vnd.google.fitness.TRACK

Tipo MIME

vnd.google.fitness.activity/running

Extra

actionStatus: una stringa con il valore ActiveActionStatus all'avvio e CompletedActionStatus all'arresto

Avviare o interrompere un'attività fisica 开始锻炼 Azione

vnd.google.fitness.TRACK

Tipo MIME

vnd.google.fitness.activity/other

Extra

actionStatus: una stringa con il valore ActiveActionStatus all'avvio e CompletedActionStatus all'arresto

Mostra battito cardiaco 查看心率 Azione

vnd.google.fitness.VIEW

Tipo MIME

vnd.google.fitness.data_type/com.google.heart_rate.bpm

Mostra numero di passi 查看步数 Azione

vnd.google.fitness.VIEW

Tipo MIME

vnd.google.fitness.data_type/com.google.step_count.cumulative

Navigazione 导航去三里屯 Azione

android.intent.action.VIEW

Dati

geo:latitude,longitude?q=融科资讯中心

L'assistente vocale può anche usare gli intent comuni di Android esistenti per attivare determinati comportamenti, ove applicabile.

Supporto dell'emulatore

Puoi utilizzare la versione cinese dell'immagine dell'emulatore Wear OS per testare le tue app. Questa funzionalità è supportata da Android Studio 3.0 e versioni successive.

Per testare le tue app sulla versione cinese dell'emulatore, segui questi passaggi:

  1. Installa l'emulatore Android.
  2. Scarica le immagini Wear OS per la Cina dal gestore SDK. Utilizza la versione per Wear OS 3.5 (livello API 30).
  3. Scegli l'immagine Wear OS per la Cina quando crei un profilo AVD.
  4. Esegui l'emulatore Wear OS per la Cina per lo sviluppo.
  5. Figura 1. Esempi della versione cinese dell'emulatore Wear OS.

Questa versione dell'emulatore Wear OS include diverse app preinstallate:

  • Modalità Ambient
  • Contatti
  • Input di scrittura a mano libera di Google
  • Google Play Services
  • Servizi sanitari per Wear OS
  • Riconoscimento hotword per i dispositivi LE
  • Pinyin
  • Play Store (adattato per i dispositivi in Cina)
  • Orologio da taschino
  • TalkBack
  • Quadranti (versioni analogiche e digitali)
  • Servizi principali di Wear

Avviare un canale Bluetooth e Wi-Fi specifico per l'app

Wear OS inoltra automaticamente le richieste di rete. Nella maggior parte dei casi, non è necessario che l'app apra un canale Bluetooth e Wi-Fi specifico per l'app.

Se un'app richiede un canale Bluetooth e Wi-Fi specifico per l'app in Cina, la richiesta non va a buon fine in silenzio. Viene invece visualizzata una finestra di dialogo che chiede all'utente la conferma. Se l'utente conferma, il canale si apre. Questo accade ogni volta, non solo al primo utilizzo. viene chiamato BluetoothAdapter.enable() o WifiManager.setEnabled(true).

Nota: perché un'app che ha come target Android 10 (livello API 29) o versioni successive possa chiamare WifiManager.setEnabled(), deve essere un'app di sistema o un controller dei criteri del dispositivo (DPC).

Modalità di revisione delle autorizzazioni

In Cina, i dispositivi Wear OS per la Cina vengono eseguiti in modalità di revisione delle autorizzazioni, che impone alcuni limiti su come usare le app con un valore targetApiLevel inferiore a 23. Esamina i seguenti limiti:

  • Anche se le autorizzazioni vengono concesse al momento dell'installazione, quando un'app con targetApiLevel inferiore a 23 viene avviata per la prima volta, viene visualizzata una finestra di dialogo che chiede all'utente di confermare le autorizzazioni per questa app.
  • I componenti dell'app, come i broadcast receiver, i servizi e le attività, non rispondono agli eventi corrispondenti prima che l'app venga utilizzata per la prima volta.

Di conseguenza, ti consigliamo di utilizzare targetApiLevel 23 o versioni successive e di adottare le best practice per le autorizzazioni delle app.

Utilizzare altre API di Google Play Services

Se la tua app utilizza API di Google Play Services diverse dall'API Wearable, deve verificare se queste API sono disponibili per l'utilizzo durante l'esecuzione e rispondere di conseguenza. Esistono due modi per verificare la disponibilità delle API di Google Play Services:

  1. Utilizza un'istanza GoogleApiClient separata per la connessione ad altre API. Questa interfaccia contiene i callback per informare la tua app dell'esito positivo o dell'esito negativo della connessione. In caso di connessione non riuscita, ConnectionResult mostra API_UNAVAILABLE. Per scoprire come gestire gli errori di connessione, consulta Accedere alle API Google.
  2. Utilizza il metodo addApiIfAvailable() di GoogleApiClient.Builder per connetterti alle API richieste. Dopo l'attivazione del callback onConnected(), utilizza il metodo hasConnectedApi() per assicurarti che ciascuna delle API richieste sia collegata correttamente.

Distribuire app in Cina

Per raggiungere efficacemente gli utenti di Wear OS per la Cina, puoi distribuire le tue app tramite store di terze parti per Wear OS, ad esempio: