Standalone slid apps

en slid OS app kan arbejde uafhængigt af en telefon. Brugere kan udføre opgaver på et ur uden adgang til en Android-eller iOS-telefon.

henvis til følgende relaterede ressourcer:

  • Bekræft Remote App prøve

Planlæg dine apps

du kan bruge funktionen multiple APK (multi-APK) i Google Play til at offentliggøre mere end en APK under den samme applikationsliste. Et ur APK skal distribueres ved hjælp af denne funktion; må ikke integrere et ur APK i en telefon APK. Du kan finde oplysninger om opsætning af din app til distribution via Google Play Butik i emballage og distribution af Slidapps, og hvordan flere Apk ‘ er fungerer.

Bemærk: For at kvalificere dig til forfremmelse i Google Play Butik på slid (det vil sige i Play Butik på uret), skal din app fungere uafhængigt af en telefon. iOS samt Android support er påkrævet.

generelt er minimums-og mål-API-niveauet for en enkeltstående app og for slid 2.0 niveau 25. Det mindste SDK-niveau kan kun være 23, hvis du bruger den samme APK til slid 1.0 og 2.0 (og dermed har en indlejret slid 1.0 APK).

Bemærk: På grund af et latensproblem, der påvirker en apps tilgængelighed på slid 1.hvis du bygger en standalone slid 2.0 APK og vil fortsætte med at have en slid 1.0 APK, skal du gøre begge følgende:

  • Giv en standalone version af slid APK, og
  • Fortsæt indlejring af en version af slid APK i din telefon APK

forsigtig: Hvis du offentliggør en opdatering til din eksisterende, PRODUKTIONSTELEFON-APK, der har fjernet en indlejret slid-APK, produktionsbrugere, der opdaterer telefon-APK, før du installerer din enkeltstående slid-APK, mister deres eksisterende slid-app og dens data. Hvis du udgiver en opdatering til din eksisterende, produktion telefon APK, fortsætte med at integrere dit ur APK i denne telefon APK.

Kørselstilladelser er nødvendige for enkeltstående apps.

du kan finde oplysninger om netværksanmodninger og netværksadgang med høj båndbredde i netværksadgang og synkronisering.

Identificer en app som standalone

bær apps skal have et meta-data element i Android Manifest-filen som barn af <application> elementet. Navnet på meta-data elementet er com.google.android.wearable.standalone og værdien skal være trueeller false. Elementet angiver, om din ur-app er en selvstændig app og derfor ikke kræver en Android-app på telefonsiden for at fungere. Hvis indstillingen for elementet er true, kan din app gøres tilgængelig i Play Butik på ure parret med iPhones, så længe dine aktive Apk ‘ er i alle kanaler (f.eks. Hvis ikke alle dine Apk ‘ er (alfa, beta og produktion), der i øjeblikket serveres til brugere, har ovenstående indstilling, vil din app ikke være tilgængelig, når en bruger søger på et ur parret til en iPhone.

et ur app kan betragtes som en af følgende:

  • helt uafhængig af en telefonapp
  • Semi-uafhængig (en telefonapp er ikke påkrævet og giver kun valgfrie funktioner)
  • afhængig af en telefonapp

hvis en urapp er helt uafhængig eller semi-uafhængig, anses den for at være i den uafhængige kategori. Du skal angive denne kategorisering til Google Play Butik ved at indstille værdien af dette meta-data element til true:

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

da en enkeltstående app (det vil sige en uafhængig eller semi-uafhængig app) kan installeres af en iPhone-bruger eller en bruger af en Android-telefon, der mangler Play Store, skal ur-appen være anvendelig uden telefonappen.

hvis en urapp afhænger af en telefonapp, skal du indstille værdien af ovenstående meta-dataelement til false. Indstilling af elementet til false betyder, at ur-appen kun skal installeres på et ur, der er parret med en telefon, der har Play Butik.

Bemærk: selvom værdien er false, kan ur-appen installeres, før telefonappen er installeret. Derfor, hvis en ur-app registrerer, at en ledsagertelefon mangler en nødvendig telefonapp, ur-appen skal bede brugeren om at installere telefonappen.

Definer en app som en slid-app

du skal sikre dig, at <uses-feature> tagget er defineret i Android Manifest-filen i din app. Det skal angive, 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 mellem en slid-app og en telefonapp. Eventuelt kan kode, der er specifik for en formfaktor, være i et separat modul.

for eksempel kan fælles kode til netværk være i et delt bibliotek.

du kan bruge standard Android storage API ‘ er til at gemme data lokalt, som du ville gøre på en telefon. For eksempel kan du bruge SharedPreferences API ‘ er eller biblioteket Room persistence.

Registrer din app på en anden enhed

din urapp kan registrere, om den tilsvarende telefonapp er tilgængelig og omvendt.

din telefonapp eller urapp kan bruge CapabilityClient til at annoncere appens tilstedeværelse til en parret enhed. Det kan gøres statisk og dynamisk. Når en app er på en node i en brugers Slidnetværk (dvs.på en telefon, parret ur eller i skyen), giver CapabilityClient en anden app mulighed for at registrere, om den er installeret. For mere information, se annoncer kapaciteter.

hvis en af dine apps ikke kan registrere den anden, kan du aktivere en bruger til at åbne Play Butik notering på deres eksterne enhed. Dette er en løsning til ur apps, der kræver deres følgesvend telefon app tilstedeværelse til at fungere korrekt. En forudsætning er at kontrollere, om Play Store er til stede på den eksterne enhed.

Bemærk, at ikke alle telefoner understøtter Play butik (såsom iPhones osv.).

dette afsnit beskriver bedste praksis for disse scenarier:

  • din standalone ur app har brug for din telefon app
  • din telefon app har brug for din standalone ur app

gennemgå prøven, der viser denne funktionalitet. For mere information om de klasser, der er beskrevet nedenfor, se slid API Reference. Også i denne reference er oplysninger om PhoneDeviceType klassen, som indeholder en getPhoneDeviceType() metode, der gør det muligt for din slid-app at kontrollere, om en ledsagende telefon er en Android-eller iOS-enhed.

Angiv kapacitetsnavne til registrering af dine apps

for den app, der svarer til hver enhedstype (ur eller telefon), angiv en unik streng for kapacitetsnavnet i filen res/values/wear.xml.

i dit mobilmodul kan filen wear.xml f.eks. indeholde følgende:

i dit slidmodul vil filen wear.xml indeholde en anden værdi for kapacitetsnavnet, f. eks. følgende:

du kan finde flere oplysninger under annonceringsfunktioner.

appdetektering og åbning af en URL fra et ur

din urapp kan registrere, om en brugers ledsagertelefon har din telefonapp:

  1. brug CapabilityClient til at kontrollere, om din telefonapp er installeret på den parrede telefon. For mere information, se prøven.
  2. hvis din telefonapp ikke er installeret på telefonen, skal du bruge metoden PhoneDeviceType.getPhoneDeviceType() til at kontrollere telefonens type.
  3. hvis PhoneDeviceType.DEVICE_TYPE_ANDROID returneres, er telefonen en Android-telefon. Ring RemoteIntent.startRemoteActivity() på Slidenheden for at åbne app store på telefonen. Brug markedet URI til din telefon app (som kan være forskellig fra din telefon URI). Brug for eksempel et marked URI som: market://details?id=com.example.android.wearable.wear.finddevices
  4. hvis PhoneDeviceType.DEVICE_TYPE_IOS returneres, betyder det, at telefonen er en iOS-telefon (uden Play Butik tilgængelig). Åbn App Store på iPhone ved at ringe RemoteIntent.startRemoteActivity() på Slidenheden. Du kan angive din apps iTunes-URL, f.eks. . På en iPhone fra slid OS kan du ikke programmatisk afgøre, om din telefonapp er installeret. En knap) for manuelt at udløse åbningen af App Store.

Bemærk, at ved hjælp af RemoteIntent API beskrevet ovenfor kan du angive, at enhver URL åbnes på telefonen fra uret, og der kræves ingen telefonapp.

detaljer til detektering af typen af parret telefon

her er et uddrag, der bruger metoden getPhoneDeviceType() til at kontrollere den type telefon, som uret er parret til:

Kotlin

var phoneDeviceType: Int = PhoneDeviceType.getPhoneDeviceType(context)

Java

int phoneDeviceType = PhoneDeviceType.getPhoneDeviceType(context);

værdien returneret af getPhoneDeviceType() – metoden er en af følgende:

returværdi beskrivelse
DEVICE_TYPE_ANDROID den ledsagende telefon er en Android-enhed.
DEVICE_TYPE_IOS ledsagertelefonen er en iOS-enhed.
DEVICE_TYPE_ERROR_UNKNOWN der opstod en fejl ved bestemmelsen af typen af den parrede telefon; en anden kontrol skal foretages senere.

appdetektering startende fra en Android-telefon

din Android-telefon kan registrere, om en brugers Slidenheder har din ur-app:

  1. brug NodeClient til at finde alle ure, der er tilsluttet brugerens telefon. For mere information, se prøven.
  2. brug CapabilityClient til at kontrollere, hvilke af brugerens ure der har din app installeret.
  3. hvis din app ikke er installeret på alle brugerens ure (sammenlign resultaterne fra Trin 1 med resultaterne fra Trin 2), skal du lade brugeren åbne Play Butik på de resterende Slidenheder fra telefonen via RemoteIntent.startRemoteActivity() – metoden. Brug specifikt markedet URI til slid-appen (som kan være forskellig fra din telefonapps URI). Brug for eksempel et marked URI som: market://details?id=com.example.android.wearable.wear.finddevices

placeringsdata for ure parret med iPhones

for ure parret med iPhones skal udviklere bruge Fused Location Provider (FLP) til at få placeringsdata på et ur. Se detektering placering på slid.

hvis ledsagertelefonen er tilgængelig, bruger FLP ledsagertelefonen til placeringsdata.

Hent kun de nødvendige data

Generelt skal du kun få de nødvendige data, når du henter data fra internettet. Ellers kan du introducere unødvendig latenstid, hukommelsesbrug og batteribrug.

når et ur er tilsluttet via en Bluetooth LE-forbindelse, kan din app have adgang til en båndbredde på kun 4 kilobyte per sekund, afhængigt af uret. Derfor anbefales følgende trin:

  • gennemgå dine netværksanmodninger og-svar for ekstra data, der kun er til en telefonapp
  • skrumpe store billeder, før du sender dem over et netværk til et ur

i tilfælde, hvor der er behov for et netværk med høj båndbredde, se adgang til netværk med høj båndbredde.

yderligere kodeprøver

Slidverifyremoteapp-prøven demonstrerer yderligere brugen af API ‘ erne, der er dækket på denne side.

You might also like

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.