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
- Identificer en app som standalone
- Definer en app som en slid-app
- delt kode og datalagring
- Registrer din app på en anden enhed
- Angiv kapacitetsnavne til registrering af dine apps
- appdetektering og åbning af en URL fra et ur
- detaljer til detektering af typen af parret telefon
- Kotlin
- Java
- appdetektering startende fra en Android-telefon
- placeringsdata for ure parret med iPhones
- Hent kun de nødvendige data
- yderligere kodeprøver
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 true
eller 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-data
element 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.
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:
- brug
CapabilityClient
til at kontrollere, om din telefonapp er installeret på den parrede telefon. For mere information, se prøven. - hvis din telefonapp ikke er installeret på telefonen, skal du bruge metoden
PhoneDeviceType.getPhoneDeviceType()
til at kontrollere telefonens type. - hvis
PhoneDeviceType.DEVICE_TYPE_ANDROID
returneres, er telefonen en Android-telefon. RingRemoteIntent.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
- 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 ringeRemoteIntent.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:
- brug
NodeClient
til at finde alle ure, der er tilsluttet brugerens telefon. For mere information, se prøven. - brug
CapabilityClient
til at kontrollere, hvilke af brugerens ure der har din app installeret. - 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.