Frittstående Wear apps

En Wear OS-app kan fungere uavhengig av en telefon. Brukere kan fullføre oppgaver på en klokke, uten tilgang Til En Android-eller iOS-telefon.

Se følgende relaterte ressurser:

  • Bekreft Remote App-Prøve

Planlegg appene dine

du kan bruke flere APK (multi-APK) – funksjonen I Google Play til å publisere mer enn EN APK under samme programoppføring. En klokke APK skal distribueres ved hjelp av denne funksjonen; ikke legg inn en klokke APK i en TELEFON APK. Hvis du vil ha informasjon om hvordan du konfigurerer appen din for distribusjon Via Google Play-Butikken, Kan Du Se Pakke Inn Og Distribuere Wear-Apper og Hvordan Flere Apper Fungerer.

Merk: for å kvalifisere for opprykk I Google Play-Butikken på Wear (det vil si I play-Butikken på klokken), må appen din fungere uavhengig av en telefon. iOS samt Android støtte er nødvendig.

generelt er MINIMUMS-OG MÅL-API-nivået for en frittstående app, og For Wear 2.0, nivå 25. Minste SDK-nivå kan bare være 23 hvis du bruker samme APK for Wear 1.0 og 2.0 (og dermed har en innebygd Wear 1.0 APK).

Merk: på grunn av et ventetid problem som påvirker en app tilgjengelighet På Wear 1.x klokker, hvis du bygger en frittstående Wear 2.0 APK OG vil fortsette Å Ha En Wear 1.0 APK, gjør begge av følgende:

  • Gi en frittstående versjon Av Wear APK, og
  • Fortsett å bygge inn en versjon Av Wear APK i telefonen APK

Forsiktig: Hvis du publiserer en oppdatering til din eksisterende, produksjon telefon APK som har fjernet en innebygd Slitasje APK, produksjon brukere som oppdaterer telefonen APK før du installerer frittstående Slitasje APK vil miste sin eksisterende Wear app og dens data. Hvis du publiserer en oppdatering til din eksisterende, produksjon telefon APK, fortsette å bygge klokken APK i telefonen APK.

Kjøretidstillatelser kreves for frittstående apper.

hvis du vil ha informasjon om nettverksforespørsler og nettverkstilgang med høy båndbredde, kan Du se Nettverkstilgang og Synkronisering.

Identifiser en app som frittstående

Wear apps må ha et meta-data – element i Android Manifest-filen, som et barn av <application> – elementet. Navnet på elementet meta-data er com.google.android.wearable.standalone og verdien må være true eller false. Elementet indikerer om watch app er en frittstående app og dermed ikke krever en telefon-Side Android app å operere. Hvis innstillingen for elementet er true, kan appen din gjøres tilgjengelig i Play-Butikken på klokker som er sammenkoblet med iphone, så lenge de aktive Apkene i alle kanaler (f.eks. i betakanalen) har elementet satt til true. Hvis ikke alle Apk-Ene (alfa, beta og produksjon) som for øyeblikket leveres til brukere, har innstillingen ovenfor, vil appen være utilgjengelig når en bruker søker på en klokke som er sammenkoblet med en iPhone.

en klokke app kan betraktes som en av følgende:

  • Helt uavhengig av en telefonapp
  • Semi-uavhengig (en telefonapp er ikke nødvendig og vil bare gi valgfrie funksjoner)
  • Avhengig av en telefonapp

hvis en klokke-app er helt uavhengig eller semi-uavhengig, anses den å være i den frittstående kategorien. Du må angi denne kategoriseringen Til Google Play-butikken ved å angi verdien for dette meta-data – elementet til true:

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

siden en frittstående app (det vil si en uavhengig eller semi-uavhengig app) kan installeres av en iPhone-bruker eller en Bruker Av En Android-telefon som mangler Play-Butikken, bør watch-appen være brukbar uten telefonappen.

hvis en klokkeapp er avhengig av en telefonapp, setter du verdien for elementet meta-data til false. Hvis du setter elementet til false, betyr det at klokkeappen bare skal installeres på en klokke som er sammenkoblet med en telefon som har Play-Butikken.

Merk: selv om verdien er false, kan watch app installeres før telefonen app er installert. Derfor, hvis en klokke app oppdager at en ledsager telefon mangler en nødvendig telefon app, watch app bør be brukeren om å installere telefonen app.

Definer en app som En Wear-app

du må sørge for at <uses-feature> – taggen er definert I Android Manifest-filen i appen din. Det må indikere at det er en watch app, for eksempel android:name="android.hardware.type.watch" som følger:

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

Delt kode og datalagring

Kode kan deles mellom En Wear-app og en telefon-app. Eventuelt kan kode som er spesifikk for en formfaktor være i en egen modul.

for eksempel kan felles kode for nettverk være i et delt bibliotek.

du kan bruke standard Android storage Apier til å lagre data lokalt, som du ville gjort på en telefon. Du kan for eksempel bruke SharedPreferences-Apiene eller Room persistence-biblioteket.

Oppdag appen din på en annen enhet

klokkeappen din kan oppdage om den tilsvarende telefonappen er tilgjengelig og omvendt.

telefonappen eller watch-appen kan bruke CapabilityClient til å annonsere appens tilstedeværelse på en sammenkoblet enhet. Det kan gjøre det statisk og dynamisk. Når en app er på en node i brukerens Wear-nettverk (dvs. på en telefon, sammenkoblet klokke eller i skyen), gjør CapabilityClient det mulig for en annen app å oppdage om den er installert. Hvis du vil Ha mer informasjon, kan Du se Annonsere evner.

hvis en av appene dine ikke kan oppdage den andre, kan du la en bruker åpne Play Store-oppføringen på den eksterne enheten. Dette er en løsning for watch apps som krever deres følgesvenn telefon app tilstedeværelse for å fungere skikkelig. En forutsetning er å sjekke Om Play-Butikkens tilstedeværelse på den eksterne enheten.

Merk at Ikke alle telefoner støtter Play-Butikken (for eksempel iphone, etc.).

denne delen beskriver anbefalte fremgangsmåter for disse scenariene:

  • den frittstående klokkeappen din trenger telefonappen din
  • telefonappen din trenger den frittstående klokkeappen din

Se gjennom prøven som viser denne funksjonaliteten. For mer informasjon om klassene beskrevet nedenfor, se Wear API-Referansen. Også i den referansen er informasjon om klassen PhoneDeviceType, som inneholder en getPhoneDeviceType() – metode som gjør At Wear-appen din kan sjekke om en følgesvenn er En Android – eller iOS-enhet.

Angi funksjonsnavn for å oppdage appene dine

for appen som svarer til hver enhetstype (klokke eller telefon), angi en unik streng for funksjonsnavnet i filen res/values/wear.xml.

for eksempel i mobilmodulen kan wear.xml – filen inneholde følgende:

i wear-modulen vil wear.xml – filen inneholde en annen verdi for funksjonsnavnet, for eksempel følgende:

Hvis du vil ha mer informasjon, kan Du se Annonsere funksjoner.

appgjenkjenning og åpning AV EN NETTADRESSE fra en klokke

klokkeappen din kan oppdage om en brukers ledsagertelefon har telefonappen din:

  1. Bruk CapabilityClient for å sjekke om telefonappen er installert på den sammenkoblede telefonen. For mer informasjon, se prøven.
  2. hvis telefonappen din ikke er installert på telefonen, bruker du metoden PhoneDeviceType.getPhoneDeviceType() for å kontrollere telefonens type.
  3. hvis PhoneDeviceType.DEVICE_TYPE_ANDROID returneres, er telefonen En Android-telefon. Ring RemoteIntent.startRemoteActivity() på Wear-enheten for å åpne app store på telefonen. Bruk market URI for telefonen app(som kan være forskjellig fra telefonen URI). Bruk for eksempel et MARKED URI som: market://details?id=com.example.android.wearable.wear.finddevices
  4. hvis PhoneDeviceType.DEVICE_TYPE_IOS returneres, betyr det at telefonen er en iOS-telefon(Uten Play Store tilgjengelig). Åpne App Store på iPhone ved å ringe RemoteIntent.startRemoteActivity() på Wear-enheten. Du kan angi appens iTunes-URL, for eksempel . På en iPhone, Fra Wear OS, kan du ikke programmatisk avgjøre om telefonappen din er installert. Som en god praksis, gi en mekanisme til brukeren (f.eks. en knapp) for å utløse åpningen av App Store manuelt.

Merk at VED å bruke API-EN RemoteIntent beskrevet ovenfor, kan du angi at EN URL skal åpnes på telefonen fra klokken, og ingen telefonapp er nødvendig.

Detaljer for å oppdage typen sammenkoblet telefon

Her er en utdrag som bruker metoden getPhoneDeviceType() for å sjekke hvilken type telefon klokken er koblet til:

Kotlin

var phoneDeviceType: Int = PhoneDeviceType.getPhoneDeviceType(context)

Java

int phoneDeviceType = PhoneDeviceType.getPhoneDeviceType(context);

verdien som returneres av getPhoneDeviceType() – metoden, er ett av følgende:

Returverdi Beskrivelse
DEVICE_TYPE_ANDROID følgesvenn telefonen er En Android-enhet.
DEVICE_TYPE_IOS ledsagertelefonen er en iOS-enhet.
DEVICE_TYPE_ERROR_UNKNOWN Det oppstod en feil ved å bestemme typen av den sammenkoblede telefonen; en annen sjekk bør gjøres senere.

fra En Android-telefon

Android-telefonen din kan oppdage om En brukers Slitasjeenheter har klokkeappen din:

  1. Bruk NodeClient, finn alle klokker som er koblet til brukerens telefon. For mer informasjon, se prøven.
  2. Ved hjelp av CapabilityClient, sjekk hvilke av brukerens klokker som har appen installert.
  3. hvis appen din ikke er installert på alle brukerens klokker (sammenlign resultatene Fra Trinn 1 med resultatene Fra Trinn 2), la brukeren åpne Play-Butikken på de gjenværende Wear-enhetene fra telefonen via metoden RemoteIntent.startRemoteActivity(). Bruk spesielt market-URI for Wear-appen(som kan være forskjellig FRA telefonappens URI). Bruk for eksempel et MARKED URI som: market://details?id=com.example.android.wearable.wear.finddevices

Posisjonsdata for klokker som er koblet til iphone

for klokker som er koblet til iphone, bør utviklere bruke Fused Location Provider (FLP) til å hente posisjonsdata på en klokke. Se Oppdage plassering på Slitasje.

HVIS ledsagertelefonen er tilgjengelig, bruker FLP ledsagertelefonen til posisjonsdata.

Hent bare de nødvendige dataene

Generelt, når du henter data fra internett, bør du bare få de nødvendige dataene. Ellers kan du introdusere unødvendig ventetid, minnebruk og batteribruk.

når en klokke er koblet til Via En Bluetooth LE-tilkobling, kan appen ha tilgang til en båndbredde på bare 4 kilobyte per sekund, avhengig av klokken. Derfor anbefales følgende trinn:

  • Overvåk nettverksforespørsler og-svar for ekstra data som bare er for en telefonapp
  • Krymp store bilder før du sender dem over et nettverk til en klokke

hvis det er behov for et nettverk med høy båndbredde, kan Du se nettverkstilgang Med høy båndbredde.

Ytterligere kodeeksempler

wearverifyremoteapp-prøven viser videre bruken av Api-ene som er dekket på denne siden.

You might also like

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.