Creare app Wear OS per la Cina

Durante la creazione di app Wear OS per la Cina, devi tenere conto degli smartphone in cui Google Play Services non è preinstallato. 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 assistenza in tutto il mondo per l' API Fused Location Provider e l' API Data Layer. Devi usare questa versione di Google Play Services se usi 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 per Wear OS per la Cina dovrebbero continuare a utilizzare API relative a GoogleApiClient. Consulta la pagina relativa all' accesso 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:

trendy

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 del livello dati, 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.

trendy

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 modulo per dispositivi mobili. Sostituisci la dipendenza di Google Play Services con un riferimento alla versione 10.2.0.

trendy

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 l'autenticazione è effettivamente necessaria. Ad esempio, per un'app che fornisce le previsioni meteo, probabilmente non è necessario eseguire l'accesso e quindi l'autenticazione.

Se richiedi l'autenticazione, ti consigliamo di utilizzare la libreria OAuth di AndroidX. A questo scopo, è necessario utilizzare il flusso Concessione del codice di autorizzazione con PKCE. Puoi anche utilizzare uno degli altri metodi descritti nella sezione Autenticazione sugli indossabili. L'utilizzo della libreria di supporto per dispositivi indossabili non è consigliato.

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

Notifiche in modalità bridge

Le notifiche in modalità bridge 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à con le coordinate di posizione e mappatura

Utilizza FusedLocationProvider (FLP) per rilevare la posizione dell'utente in Cina, come faresti per il resto del mondo. Ciò garantisce che la tua app prenda in considerazione le informazioni migliori, indipendentemente dall'hardware dello smartwatch e dalla piattaforma dello smartphone a cui è associato lo smartwatch. L'utilizzo dell'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 fornitori. FusedLocationProvider segnala la località in base allo standard WGS84. Assicurati di convertire i sistemi di coordinate, come opportuno.

Assistenza per Google Fit

Contatore di passi accumulati, minuti di movimento e Punti cardio di Google Fit sono supportati in Cina, con una cronologia di un massimo di 7 giorni. Puoi accedere a questa opzione senza fornire una credenziale utente.

Supporto per le azioni vocali

La piattaforma Wear OS fornisce diversi intent vocali basati sulle azioni dell'utente, ad esempio _"Mostra battito cardiaco"_ o _"Imposta una sveglia"_. In questo modo gli utenti possono dire cosa vogliono fare e il sistema può stabilire l'attività migliore da iniziare.

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 segnale 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 di intent
Chiamata dall'auto 打车去三里屯 Azione

com.google.android.gms.actions.RESERVE_TAXI_RESERVATION

Extra

to: la destinazione riconosciuta

Il 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 i minuti della sveglia

Questi extra sono facoltativi. Fornisci una delle due opzioni o nessuna di queste opzioni.

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

android.intent.action.SET_TIMER

Extra

android.provider.AlarmClock.EXTRA_LENGTH: un numero intero compreso tra 1 e 86.400 (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 allenamento 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 esercizio 开始锻炼 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:latitudine,longitudine?q=融科资讯 aggiorneremoCosa

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

Supporto emulatore

Per testare le tue app, puoi usare la versione cinese dell'immagine dell'emulatore Wear OS. Questa funzionalità è supportata da Android Studio 3.0 e versioni successive.

Per testare le tue app nella versione cinese dell'emulatore, procedi nel seguente modo:

  1. Installa l'emulatore Android.
  2. Scarica le immagini di Wear OS per la Cina da Gestione SDK. Utilizza la versione per Wear OS 3.5 (livello API 30).
  3. Quando crei un profilo AVD, scegli l'immagine di Wear OS per la Cina.
  4. Esegui l'emulatore di Wear OS for China per lo sviluppo.
  5. Figura 1. Esempi di versione cinese dell'emulatore Wear OS.

In questa versione dell'emulatore Wear OS sono preinstallate diverse app preinstallate:

  • Modalità Ambient
  • Contatti
  • Google Scrittura a mano libera
  • Google Play Services
  • Health Services per Wear OS
  • Riconoscimento hotword per dispositivi LE
  • Pinyin
  • Play Store (adatto per i dispositivi in Cina)
  • Da taschino
  • TalkBack
  • Quadranti (versioni analogiche e digitali)
  • Servizi principali di Wear

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

Wear OS indirizza automaticamente le richieste di rete. Nella maggior parte dei casi, l'app non deve aprire 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 andrà a buon fine. Viene invece visualizzata una finestra di dialogo che chiede all'utente una conferma. Se l'utente conferma, si apre il canale. Ciò si verifica ogni volta, non solo al primo utilizzo. Viene chiamato BluetoothAdapter.enable() o WifiManager.setEnabled(true).

Nota : per poter chiamare WifiManager.setEnabled() un'app che ha come target Android 10 (livello API 29) o versioni successive, deve essere un'app di sistema o un controller dei criteri dei dispositivi (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 sull'utilizzo delle 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, ad esempio ricevitori di trasmissioni, servizi e attività, non rispondono agli eventi corrispondenti prima del primo utilizzo dell'app.

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

Utilizzare altre API 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 il runtime e rispondere in modo appropriato. Esistono due modi per verificare la disponibilità delle API di servizio di Google Play:

  1. Utilizza un'istanza GoogleApiClient separata per la connessione ad altre API. Questa interfaccia contiene callback per avvisare la tua app dell' riuscita o dell' errore 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 ciascuna delle API richieste sia connessa correttamente.

Distribuzione di app in Cina

Per raggiungere in modo efficace gli utenti di Wear OS per la Cina, puoi distribuire app per Wear OS di terze parti, ad esempio: