Standalone Wear apps

uma aplicação Wear OS pode funcionar independentemente de um telefone. Os usuários podem completar tarefas em um relógio, sem acesso a um telefone Android ou iOS.

Consulte os seguintes recursos relacionados:

  • Verifique Remoto Aplicativo de Exemplo

Plano de suas aplicações

Você pode usar os vários APK (multi-APK) recurso do Google Play para publicar mais de um APK sob a mesma listagem de aplicativos. Uma APK de relógio deve ser distribuída usando essa funcionalidade; não insira um relógio APK num telefone APK. Para obter informações sobre a configuração do seu aplicativo para distribuição através da Google Play Store, consulte a embalagem e distribuição de aplicativos de desgaste e como vários APKs funcionam.

Nota: para se qualificar para a promoção no Google Play Store on Wear (ou seja, na Play Store de relógio), o seu aplicativo precisa funcionar independentemente de um telefone. iOS, bem como suporte Android é necessário.

Geralmente, o nível mínimo e alvo de API para um aplicativo autônomo, e para Wear 2.0, é o nível 25. O nível mínimo de SDK só pode ser 23 Se você estiver usando a mesma APK para o Wear 1.0 e 2.0 (e, portanto, ter um Wear 1.0 APK incorporado).

Nota: Devido a um problema de latência que afeta a disponibilidade de uma aplicação no desgaste 1.x Relógios, se você construir um standalone Wear 2.0 APK e vai continuar a ter um Wear 1.0 APK, faça ambos os seguintes:

  • forneça uma versão independente do Wear APK, e
  • Continue incorporando uma versão do Wear APK no seu phone APK

atenção: Se você publicar uma atualização para o seu APK de produção de telefone existente que removeu um APK de desgaste incorporado, os usuários de produção que atualizar o apk de telefone antes de instalar o seu APK Wear standalone vai perder o seu aplicativo de desgaste existente e seus dados. Se você publicar uma atualização para o seu APK de telefone de produção existente, continue a incorporar o seu APK de relógio no apk de telefone.

permissões em tempo de execução são necessárias para aplicações independentes.

para informações sobre pedidos de rede e acesso à rede de alta largura de banda, consulte Acesso à rede e sincronização.

identifique um aplicativo como autônomo

os aplicativos de desgaste devem ter um elemento meta-data no arquivo manifesto Android, como uma criança do elemento <application>. O nome do elemento meta-data é com.google.android.wearable.standalone e o valor deve ser true ou false. O elemento indica se o seu aplicativo relógio é um aplicativo autônomo e, portanto, não requer um aplicativo Android lado do telefone para operar. Se a configuração para o elemento for true, o seu aplicativo pode ser disponibilizado na Play Store em relógios emparelhados com iPhones, desde que seus APKs ativos em todos os canais (por exemplo, no canal beta) tenham o elemento definido para true. Se nem todos os seus APKs (alpha, beta e produção) que atualmente são servidos aos usuários têm a configuração acima, o seu app não estará disponível quando um usuário procura em um relógio emparelhado a um iPhone.

Um relógio aplicativo pode ser considerado como um dos seguintes:

  • Completamente independente de um aplicativo de telefone
  • Semi-independente (um aplicativo de telefone não é obrigatório e deve fornecer apenas as funcionalidades opcionais)
  • depende de um aplicativo de telefone

Se um relógio aplicativo é completamente independente ou semi-independente, ele é considerado autônomo categoria. Você deve indicar esta categorização para a Google Play store, definindo o valor da esta meta-data elemento para true:

<application>... <meta-data android:name="com.google.android.wearable.standalone" android:value="true" />...</application>

Desde que um aplicativo independente (isto é, independentes ou semi-independentes app) pode ser instalado por um usuário do iPhone ou um usuário de um telefone Android que não possui a Loja do Jogo, assista o aplicativo deve ser usado sem o aplicativo de telefone.

se um aplicativo de relógio depender de um aplicativo de telefone, Defina o valor do elemento acima meta-data para false. Configurar o elemento para false significa que o aplicativo de relógio deve ser instalado apenas em um relógio que é pareado com um telefone que tem a Play Store.

Nota: Mesmo que o valor seja false, o aplicativo de vigia pode ser instalado antes do aplicativo de telefone ser instalado. Portanto, se um aplicativo de relógio detectar que um telefone companheiro não tem um aplicativo de telefone necessário, o aplicativo de relógio deve pedir ao Usuário para instalar o aplicativo de telefone.

Defina um aplicativo como um aplicativo Wear

você deve garantir que a marca <uses-feature> é definida no arquivo de manifesto Android em seu aplicativo. Deve indicar que se trata de uma aplicação watch, por exemplo, android:name="android.hardware.type.watch" como se segue::

<manifest>... <uses-feature android:name="android.hardware.type.watch" />...</manifest>

código compartilhado e armazenamento de dados

código pode ser compartilhado entre um aplicativo Wear e um aplicativo de telefone. Opcionalmente, o código que é específico para um fator de forma pode estar em um módulo separado.

por exemplo, o código comum para redes pode estar em uma biblioteca compartilhada.

você pode usar APIs padrão de armazenamento Android para armazenar dados localmente, como você faria em um telefone. Por exemplo, você pode usar a APIs SharedPreferences ou a biblioteca de persistência do quarto.

detecte o seu aplicativo em outro dispositivo

o seu aplicativo de relógio pode detectar se o aplicativo de telefone correspondente está disponível e vice-versa.

seu aplicativo de telefone ou relógio pode usar o CapabilityClient para anunciar a presença do aplicativo para um dispositivo emparelhado. Pode fazê-lo de forma estática e dinâmica. Quando um aplicativo está em um nó na rede de desgaste de um usuário (ou seja, em um telefone, relógio emparelhado, ou na nuvem), o CapabilityClient permite que outro aplicativo para detectar se ele está instalado. Para mais informações, consulte as capacidades de publicidade.

se um dos seus aplicativos não consegue detectar o outro, você pode permitir que um usuário abra a listagem da Play Store no seu dispositivo remoto. Esta é uma solução para aplicativos de relógio que requerem a presença de seu aplicativo de telefone companheiro para funcionar corretamente. Um pré-requisito é verificar a presença da Play Store no dispositivo remoto.

Note que nem todos os telefones suportam a Play Store (como iPhones, etc.). Esta secção descreve as melhores práticas para estes cenários:

  • o seu aplicativo de relógio independente precisa do seu aplicativo de telefone
  • o seu aplicativo de telefone precisa do seu aplicativo de relógio independente

reveja a amostra que mostra esta funcionalidade. Para mais informações sobre as classes descritas abaixo, consulte a referência da API Wear. Também nessa referência está a informação sobre a classe PhoneDeviceType, que contém um método getPhoneDeviceType() que permite ao seu aplicativo Wear verificar se um telefone companheiro é um dispositivo Android ou iOS.

especifique nomes de capacidades para detectar as suas aplicações

para a aplicação correspondente a cada tipo de dispositivo (relógio ou telefone), especifique uma cadeia de caracteres única para o nome da capacidade no ficheiro res/values/wear.xml.

Por exemplo, em seu módulo mobile, o wear.xml arquivo podem incluir o seguinte:

Em seu desgaste módulo, o wear.xml arquivo deverá incluir um valor diferente para o recurso de nome, tal como o seguinte:

Para mais informações, consulte Anunciar recursos.

app detection and opening a URL from a watch

Your watch app can detect if a user’s companion phone has your phone app:

  1. Use o CapabilityClient para verificar se o seu aplicativo de telefone está instalado no telefone emparelhado. Para mais informações, consulte a amostra.
  2. se o seu aplicativo de telefone não estiver instalado no telefone, use o método PhoneDeviceType.getPhoneDeviceType() para verificar o tipo de telefone.
  3. If PhoneDeviceType.DEVICE_TYPE_ANDROID is returned, the phone is an Android phone. Ligue para RemoteIntent.startRemoteActivity() no dispositivo de desgaste para abrir a app store no telefone. Use o URI de mercado para o seu aplicativo de telefone (que pode ser diferente do seu URI de telefone). Por exemplo, use um URI de mercado como: market://details?id=com.example.android.wearable.wear.finddevices
  4. se PhoneDeviceType.DEVICE_TYPE_IOS é devolvido, significa que o telefone é um telefone iOS (sem Play Store disponível). Abra a App Store no iPhone, chamando RemoteIntent.startRemoteActivity() no dispositivo de desgaste. Você pode especificar o URL do iTunes da sua aplicação, por exemplo, . Em um iPhone, do Wear OS, você não pode programaticamente determinar se seu aplicativo de telefone está instalado. Como uma boa prática, fornecer um mecanismo para o usuário (por exemplo, um botão) para ativar manualmente a abertura do App Store.

Note que usando a API RemoteIntent descrita acima, você pode especificar que qualquer URL a ser aberto no telefone a partir do relógio, e não é necessária nenhuma aplicação de telefone.

Detalhes para detectar o tipo de telefone emparelhado

Aqui está um trecho de código que usa o getPhoneDeviceType() método para verificar o tipo de telefone para o qual o relógio é emparelhado:

Kotlin

var phoneDeviceType: Int = PhoneDeviceType.getPhoneDeviceType(context)

Java

int phoneDeviceType = PhoneDeviceType.getPhoneDeviceType(context);

O valor retornado por getPhoneDeviceType() método é um dos seguintes:

valor de Retorno Descrição
DEVICE_TYPE_ANDROID O companheiro de telefone é um dispositivo Android.
DEVICE_TYPE_IOS o telefone companheiro é um dispositivo iOS.
DEVICE_TYPE_ERROR_UNKNOWN ocorreu Um erro na determinação do tipo de telemóvel emparelhado; outra verificação deve ser feita mais tarde.

detecção de App a partir de um telefone Android

o seu telefone Android pode detectar se os dispositivos de desgaste de um usuário têm o seu aplicativo relógio:

  1. usando o NodeClient, encontre todos os relógios ligados ao telefone do utilizador. Para mais informações, consulte a amostra.
  2. usando o CapabilityClient, verifique qual dos relógios do utilizador tem o seu aplicativo instalado.
  3. se o seu aplicativo não estiver instalado em todos os relógios do Usuário (compare os resultados do Passo 1 com os resultados do Passo 2), permita que o usuário abra a Play Store sobre os dispositivos de desgaste restantes do telefone através do método RemoteIntent.startRemoteActivity(). Especificamente, use o URI mercado para o aplicativo Wear (que pode ser diferente do URI do seu aplicativo de telefone). Por exemplo, use um URI de mercado como: market://details?id=com.example.android.wearable.wear.finddevices

dados de localização para Relógios emparelhados com iPhones

para Relógios emparelhados com iPhones, os desenvolvedores devem usar o fornecedor de localização fundida (FLP) para obter dados de localização em um relógio. Veja o local de detecção no desgaste.

se o telefone companheiro está disponível, FLP usa o telefone companheiro para dados de localização.

obter apenas os dados necessários

geralmente, ao obter dados a partir da internet, você deve obter apenas os dados necessários. Caso contrário, você pode introduzir latência desnecessária, uso de memória e uso de bateria.

quando um relógio está ligado por uma ligação Bluetooth LE, o seu aplicativo pode ter acesso a uma largura de banda de apenas 4 kilobytes por segundo, dependendo do relógio. Portanto, os seguintes passos são recomendados:

  • Auditoria de sua rede de pedidos e respostas para dados extra que só é para um aplicativo de telefone
  • Encolhem os grandes imagens antes de enviá-los através de uma rede para um relógio

Para os casos onde uma alta largura de banda de rede é necessária, Alta largura de banda de acesso à rede.

amostras de código adicionais

a amostra de WearVerifyRemoteApp demonstra ainda a utilização das API cobertas nesta página.

You might also like

Deixe uma resposta

O seu endereço de email não será publicado.