Criar apps Wear OS para a China

Ao criar apps Wear OS para a China, você precisa contabilizar os celulares sem Google Play Services pré-instalado. Esta página contém alterações comuns que os desenvolvedores internacionais podem 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 compatibilidade mundial com a API Fused Location Provider e a API Data Layer. Os desenvolvedores precisam usar essa versão caso utilizem essas APIs. Em outros casos, essa dependência é opcional.

Embora o Google Play Services agora contenha novas APIs para apps Wear, os apps Wear OS para a China precisam continuar a usar APIs relacionadas ao GoogleApiClient. Consulte Acessar a API Wearable.

API Fused Location Provider

Se você usa a API Fused Location Provider, precisa incluir a seguinte dependência no arquivo build.gradle do módulo do Wear:

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

API Data Layer

Importante: o uso da API Data Layer não é mais recomendado desde o Wear 2.0. Isso porque agora os apps podem acessar a Internet diretamente, o que simplifica o desenvolvimento de código. Além disso, dispositivos Wear pareados com iOS não são compatíveis com a API Data Layer.

Caso seu app utilize a API Data Layer, adicione a linha a seguir ao arquivo build.gradle do módulo do Wear. A linha requer o uso da versão 10.2.0 da biblioteca de cliente:

    dependencies {
        ...

        compile 'com.google.android.gms:play-services-wearable:10.2.0'

        ...

    }
    

Além disso, você precisa adicionar a linha a seguir ao arquivo build.gradle do seu módulo móvel. Substitua a dependência do Google Play Services por uma referência à versão 10.2.0.

    dependencies {
        ...

        compile 'com.google.android.gms:play-services-wearable:10.2.0'

    }
    

Autenticação

Antes de implementar a autenticação, avalie seus casos de uso para ver se ela é mesmo necessária. Por exemplo, para um app que fornece a previsão do tempo, provavelmente não é necessário fazer login e, portanto, autenticar o usuário.

Se você precisar de autenticação, recomendamos usar o OAuth 2.0 ou, como medida alternativa, uma entrada no dispositivo. Você também tem a poção de passar um token de segurança com a Camada de dados. No entanto, usar a Camada de dados não é recomendado, já que ela não é compatível com dispositivos Wear OS pareados com dispositivos iOS.

Notificações com ponte

Notificações com ponte estão indisponíveis na China. As notificações por smartphone serão enviadas para o Wear OS apenas se o dispositivo Wear estiver conectado ao smartphone via Bluetooth.

Compatibilidade com coordenadas de localização e mapeamento

Use o FusedLocationProvider para detectar a localização do usuário na China, da mesma forma que no restante do mundo. Isso garante que seu app considere as melhores informações, independentemente do hardware do smartwatch e da plataforma do smartphone a que o smartwatch está pareado. Além disso, haverá benefícios de otimização de bateria incorporados na plataforma Wear OS.

Ao integrar FusedLocationProvider com SDKs de mapas de terceiros, considere a compatibilidade de coordenadas entre provedores. FusedLocationProvider informa a localização de acordo com o padrão WGS84. Converta os sistemas de coordenadas conforme apropriado.

Compatibilidade com o Google Fit

As funcionalidades 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á-las sem fornecer uma credencial de usuário.

Compatibilidade com emulador

Você pode usar a versão chinesa da imagem do emulador do Wear OS para testar seus apps. Ela é compatível com Android Studio 3.0 e posteriores.

Para testar seus apps na versão chinesa do emulador:

  1. Verifique se você instalou a versão 26.1.2 do Android Emulator.
  2. Faça o download das imagens do Wear OS para China no gerenciador do SDK.
  3. Escolha usar a imagem do Wear OS para China ao criar um perfil do AVD.
  4. Execute o emulador do Wear OS para China no desenvolvimento.

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.

Se um app solicitar um canal de Bluetooth e Wi-Fi específico para app na China, a solicitação falhará silenciosamente. Uma caixa de diálogo pop-up será exibida solicitando a confirmação do usuário. Se o usuário confirmar, o canal será aberto. Isso acontece toda vez (ou seja, não apenas no primeiro uso) que BluetoothAdapter.enable() ou WifiManager.setEnabled(true) é chamado.

Modo de revisão de permissão

Os dispositivos Wear OS para China são executados no Permission Review Mode, o que impõe alguns limites quanto ao modo como os apps com um targetApiLevel menor que 23 podem ser usados:

  • Embora as permissões sejam concedidas na instalação, quando um app com um targetApiLevel menor que 23 é aberto pela primeira vez, uma caixa de diálogo aparece, pedindo ao usuário para confirmar as permissões desse app.
  • Todos os componentes do app, como broadcast receivers, serviços, atividades etc., não responderiam aos eventos correspondentes antes do primeiro uso do app.

Como resultado, recomendamos que você use um targetApiLevel de 23 ou acima e adote as práticas recomendadas de permissões no tempo de execução.

Usar outras APIs Google Play Services

Caso seu app utilize APIs Google Play Services diferentes da API Wearable, ele precisa verificar se essas APIs estão disponíveis para uso durante o tempo de execução e responder adequadamente. Há duas formas de verificar a disponibilidade das APIs Google Play Services:

  1. Usar uma instância GoogleApiClient separada para conexão com outras APIs. Essa interface contém callbacks para alertar seu app sobre o sucesso ou a falha da conexão. Em caso de falha na conexão, o ConnectionResult exibirá a mensagem API_UNAVAILABLE. Para saber mais sobre como lidar com falhas na conexão, consulte Acessar as APIs do Google.
  2. Usar o método addApiIfAvailable() do GoogleApiClient.Builder para se conectar às APIs necessárias. Depois que o callback onConnected() for acionado, use o método hasConnectedApi() para garantir que cada uma das APIs necessárias esteja conectada corretamente.

Distribuir apps na China

Para alcançar com eficácia os usuários do Wear OS na China, você pode distribuir seus apps em app stores de terceiros para Wear OS: