Creare app Wear OS per la Cina

Quando crei app Wear OS per la Cina, devi tenere conto dei dispositivi mobili senza Google Play Services 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 a livello mondiale 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:anche se Google Play Services contiene API per le app Wear OS, le app Wear OS per la Cina devono continuare a utilizzare le API correlate a GoogleApiClient. Consulta Accedere all'API Wearable.

API Fused Location Provider

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

Groovy

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 seguente riga 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.

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")
}

Autenticazione

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

Se è necessaria l'autenticazione, ti consigliamo di utilizzare la libreria AndroidX OAuth. Ciò richiede l'utilizzo del flusso concessione del codice di autorizzazione con PKCE. Puoi anche utilizzare uno degli altri metodi descritti in Autenticazione su indossabili. L'utilizzo della libreria di supporto per indossabili non è consigliato.

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

Notifiche collegate

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

Compatibilità delle coordinate di posizione e mappatura

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

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

Assistenza Google Fit

Il contapassi cumulativo, i minuti di movimento e i punti cardio di Google Fit sono supportati in Cina, con una cronologia fino a sette giorni. Puoi accedervi senza fornire le credenziali utente.

Supporto per le azioni vocali

La piattaforma Wear OS fornisce diversi intent vocali basati su azioni dell'utente, ad esempio _"Mostra la frequenza cardiaca"_ o _"Imposta una sveglia"_. In questo modo, gli utenti possono dire cosa vogliono fare e il sistema determina l'attività migliore da avviare.

Quando gli utenti pronunciano un comando vocale, la tua app può filtrare l'intent attivato per avviare un'attività. Per avviare un servizio in background, mostra un'attività come spunto visivo e avvia il servizio nell'attività. Assicurati di chiamare finish() per eliminare il segnale visivo.

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

Categoria Esempio Specifica dell'intent
Servizi di trasporto con conducente Prendi un taxi per Sanlitun Azione

com.google.android.gms.actions.RESERVE_TAXI_RESERVATION

Extra

to: la destinazione riconosciuta

L'extra è facoltativo.

Imposta sveglia Imposta una sveglia per le 7:00 di domani mattina 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 Imposta un conto alla rovescia di tre minuti 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 un giro 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 Inizia a correre 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 allenamento 开始锻炼 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 conteggio 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 utilizzare gli intent comuni di Android 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 di Wear OS per la Cina da SDK Manager. 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
  • Google Handwriting Input
  • Google Play Services
  • Servizi per la salute per Wear OS
  • Riconoscimento dell'hotword per i dispositivi LE
  • Pinyin
  • Play Store (adattato per i dispositivi in Cina)
  • Pocketwatch
  • TalkBack
  • Quadranti (versioni analogiche e digitali)
  • Servizi principali di Wear

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

Wear OS instrada 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. Viene invece visualizzata una finestra di dialogo che chiede all'utente di confermare. Se l'utente conferma, il canale si apre. Questo accade ogni volta, non solo al primo utilizzo. BluetoothAdapter.enable() o WifiManager.setEnabled(true) viene chiamato.

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

Modalità di revisione delle autorizzazioni

In Cina, Wear OS per i dispositivi cinesi viene eseguito in modalità di revisione delle autorizzazioni, che impone alcuni limiti all'utilizzo delle app con un targetApiLevel inferiore a 23. Esamina i seguenti limiti:

  • Anche se le autorizzazioni vengono concesse al momento dell'installazione, quando un'app con un 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 ricevitori di trasmissione, 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 app.

Utilizzare altre API di Google Play Services

Se la tua app utilizza API Google Play Services diverse dall'API Wearable, deve verificare se queste API sono disponibili per l'uso durante l'runtime e rispondere in modo appropriato. 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 callback per avvisare la tua app dell' esito positivo o 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 di 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 ogni API richiesta sia connessa correttamente.

Distribuire app in Cina

Per raggiungere in modo efficace gli utenti di Wear OS per la Cina, puoi distribuire le app tramite store di app Wear OS di terze parti come i seguenti: