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
- identifique um aplicativo como autônomo
- Defina um aplicativo como um aplicativo Wear
- código compartilhado e armazenamento de dados
- detecte o seu aplicativo em outro dispositivo
- especifique nomes de capacidades para detectar as suas aplicações
- app detection and opening a URL from a watch
- Detalhes para detectar o tipo de telefone emparelhado
- Kotlin
- Java
- detecção de App a partir de um telefone Android
- dados de localização para Relógios emparelhados com iPhones
- obter apenas os dados necessários
- amostras de código adicionais
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:
- Use o
CapabilityClient
para verificar se o seu aplicativo de telefone está instalado no telefone emparelhado. Para mais informações, consulte a amostra. - se o seu aplicativo de telefone não estiver instalado no telefone, use o método
PhoneDeviceType.getPhoneDeviceType()
para verificar o tipo de telefone. - If
PhoneDeviceType.DEVICE_TYPE_ANDROID
is returned, the phone is an Android phone. Ligue paraRemoteIntent.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
- se
PhoneDeviceType.DEVICE_TYPE_IOS
é devolvido, significa que o telefone é um telefone iOS (sem Play Store disponível). Abra a App Store no iPhone, chamandoRemoteIntent.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:
- usando o
NodeClient
, encontre todos os relógios ligados ao telefone do utilizador. Para mais informações, consulte a amostra. - usando o
CapabilityClient
, verifique qual dos relógios do utilizador tem o seu aplicativo instalado. - 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.