Ao criar apps do Wear OS para a China, é necessário considerar celulares que não têm o Google Play Services já instalado. Esta página apresenta as modificações mais comuns que os desenvolvedores internacionais podem precisar adotar para o mercado chinês.
Usar a versão correta do Google Play Services
A versão 10.2.0 do Google Play Services oferece suporte mundial à API Fused Location Provider e à API Data Layer. É necessário usar essa versão do Google Play Services ao implementar essas APIs para garantir suporte a uma maior variedade de dispositivos Wear OS na China. Em outros casos, essa dependência é opcional.
Observação: embora o Google Play Services contenha
APIs para apps do Wear OS, os apps direcionados ao mercado chinês precisam continuar
usando APIs relacionadas a GoogleApiClient
. Consulte
Acessar a API Wearable.
API do provedor de localização combinada
Se você usa a API do provedor de localização combinada, é necessário incluir a dependência abaixo no
arquivo build.gradle
do módulo do 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
Caso seu app use a API Data Layer, adicione a linha abaixo ao
arquivo build.gradle
do módulo do Wear OS. Essa linha requer o uso da versão 10.2.0 da biblioteca
de cliente:
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") ... }
Adicione a seguinte linha ao arquivo build.gradle
do
módulo para dispositivos móveis do app: Substitua a dependência do Google Play Services por uma referência à
versão 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") }
Autenticação
Antes de implementar a autenticação, avalie os casos de uso do seu app para conferir se ela é mesmo necessária. Por exemplo, para um app de previsão do tempo, provavelmente não é necessário fazer login e nem autenticar o usuário.
Caso o app precise de autenticação, recomendamos o uso da biblioteca AndroidX Oauth. Nesse caso, é necessário implementar o fluxo de concessão de código de autorização com PKCE. Você também pode usar um dos outros métodos descritos em Autenticação em wearables. Não recomendamos o uso da Biblioteca de Suporte de Wearables.
Para mais informações, consulte o exemplo de OAuth do Wear OS (em inglês) no GitHub.
Notificações com ponte
As notificações com ponte não são permitidas na China. Só é possível transmitir notificações de um smartphone para o Wear OS se o dispositivo wearable estiver conectado ao smartphone via Bluetooth.
Compatibilidade com coordenadas de localização e mapeamento
Use o
FusedLocationProvider
(FLP) para detectar a localização do usuário na China, da mesma maneira que
no restante do mundo. Isso garante que seu app considere as melhores informações disponíveis,
independente do hardware do relógio e da plataforma do smartphone a que o relógio está pareado.
O uso do FLP também proporciona otimização de bateria integrada à plataforma Wear OS.
Ao integrar FusedLocationProvider
com SDKs de mapas de terceiros,
considere a compatibilidade das coordenadas entre os provedores.
O FusedLocationProvider
informa a localização de acordo com o padrão
WGS84 (link em inglês).
Converta os sistemas de coordenadas, conforme necessário.
Suporte para o Google Fit
Os recursos contador de passos acumulados, Minutos em movimento e Pontos cardio do Google Fit estão disponíveis na China, com até sete dias de histórico. Você pode acessá-los sem uma credencial de usuário.
Suporte para comandos de voz
A plataforma Wear OS disponibiliza várias intents de voz baseadas em ações de usuários, como _"Mostrar frequência cardíaca"_ ou _"Definir um alarme"_. Com elas, os usuários podem falar o que querem fazer e o sistema decide qual é a melhor atividade a ser iniciada.
Quando o usuário solicita uma ação por voz, o app filtra a intent acionada para iniciar uma
atividade. Para iniciar um serviço em segundo plano, mostre um indicador visual que represente a atividade e inicie o
serviço na atividade. Chame
finish()
para remover o indicador visual.
Apresentamos a seguir uma lista de intents de voz com suporte na plataforma Wear OS:
Categorias | Exemplo | Especificações da intent |
Chamar um carro | 打车去三里屯 | Ação
Extra
O extra é opcional. |
Definir alarme | 设置一个明早七点的闹钟 | Ação
Extras
Os extras são opcionais. Informe ambos ou nenhum deles. |
Definir timer | 设置一个三分钟的倒计时 | Ação
Extras
|
Iniciar cronômetro | 开始计时 | Ação
|
Começar ou parar um passeio de bicicleta | 开始骑车 | Ação
Tipo MIME
Extras
|
Começar ou parar uma corrida | 开始跑步 | Ação
Tipo MIME
Extras
|
Começar ou parar um treino | 开始锻炼 | Ação
Tipo MIME
Extras
|
Mostrar frequência cardíaca | 查看心率 | Ação
Tipo MIME
|
Mostrar contador de passos | 查看步数 | Ação
Tipo MIME
|
Navegação | 导航去三里屯 | Ação
Dados geo:latitude,longitude?q=融科资讯中心 |
O Assistente por voz também pode usar intents comuns do Android para acionar alguns comportamentos, quando for o caso.
Suporte para emulador
Você pode usar a versão chinesa da imagem do emulador do Wear OS para testar seus apps. Ela oferece suporte para o Android Studio 3.0 e versões mais recentes.
Para testar seus apps na versão chinesa do emulador, siga estas etapas:
- Instale o Android Emulator.
- Faça o download das imagens do Wear OS para China no gerenciador do SDK. Use a versão para Wear OS 3.5 (nível 30 da API).
- Selecione a imagem do Wear OS para China ao criar um perfil do AVD.
- Execute o emulador do Wear OS para China enquanto desenvolve o app.
Esta versão do emulador do Wear OS vem com vários apps pré-instalados:
- Modo de som ambiente
- Contatos
- Google Handwriting Input
- Google Play Services
- Recursos de saúde para Wear OS
- Reconhecimento de hotword para dispositivos LE
- Pinyin
- Play Store (adaptada para dispositivos na China)
- Pocketwatch
- TalkBack
- Telas do relógio (versões analógicas e digitais)
- Principais serviços do Wear
Iniciar um canal Bluetooth e Wi-Fi específico para app
O Wear OS roteia automaticamente solicitações de rede. Na maioria dos casos, não é necessário abrir um canal de Bluetooth e Wi-Fi específico para o app.
Quando um app solicita um canal Bluetooth e Wi-Fi específico na China, a solicitação
falha silenciosamente. Nesse caso, uma caixa de diálogo aparece
pedindo a confirmação do usuário. Se o usuário confirmar, o canal será aberto. Isso acontece todas
as vezes, e não apenas no primeiro uso. BluetoothAdapter.enable()
ou
WifiManager.setEnabled(true)
é
chamado.
Observação: para que um app destinado
ao Android 10 (nível 29 da API) ou versões mais recentes possa chamar
WifiManager.setEnabled()
, ele precisa ser um app do sistema ou um
controlador de política de dispositivo (DPC).
Modo de análise de permissão
Os dispositivos Wear OS na China são executados no modo de análise de permissão, o que
impõe alguns limites para o uso de apps com o elemento targetApiLevel
definido 23 ou anterior: Considere os seguintes limites:
- Embora as permissões sejam concedidas na instalação, quando um app com um
targetApiLevel
anterior ao 23 é inicializado pela primeira vez, uma caixa de diálogo aparece, pedindo ao usuário para confirmar as permissões desse app. - Os componente do app, como broadcast receivers, serviços e atividades, não respondem aos respectivos eventos antes do primeiro uso do app.
Por esse motivo, recomendamos que você use o targetApiLevel
23 ou mais recente
e adote as
práticas recomendadas de
permissões do app.
Usar outras APIs do Google Play Services
Se o app usa outras APIs Google Play Services, e não a API Wearable, ele precisa conferir se essas APIs estão disponíveis para uso durante a execução e responder corretamente. Há duas formas de verificar a disponibilidade das APIs Google Play Services:
- Use uma instância de
GoogleApiClient
separada para se conectar a outras APIs. Essa interface contém callbacks para informar ao app se a conexão funcionou ou falhou. Em caso de falha na conexão, oConnectionResult
mostraAPI_UNAVAILABLE
. Para saber mais sobre como processar falhas de conexão, consulte Acessar APIs do Google. - Use o método
addApiIfAvailable()
doGoogleApiClient.Builder
para se conectar às APIs necessárias. Depois que o callbackonConnected()
for acionado, use o métodohasConnectedApi()
para garantir que cada uma das APIs necessárias esteja conectada corretamente.
Distribuir apps na China
Para um melhor alcance de usuários do Wear OS na China, você pode distribuir seus apps em app stores para Wear OS de terceiros (links em chinês):
- Galaxy Store para dispositivos Samsung
- Xiaomi Store para dispositivos Xiaomi
- Mobvoi para todos os demais dispositivos