aplikace Wear OS může pracovat nezávisle na telefonu. Uživatelé mohou plnit úkoly na hodinkách bez přístupu k telefonu Android nebo iOS.
Odkazují na následující související zdroje:
- Ověřit Remote App Vzorek
- Plán vaše aplikace
- Identifikujte aplikaci jako samostatnou
- Definujte aplikaci jako aplikaci Wear
- Sdílený kód a data storage
- zjistěte aplikaci na jiném zařízení
- Zadejte schopnosti názvy pro detekci aplikací
- Aplikace detekce a otevírání URL z hodinky
- Detaily pro detekci typu spárovaného telefonu
- Kotlin
- Java
- detekce aplikací počínaje telefonem Android
- Lokalizační údaje pro hodinky spárovat iphone
- získejte pouze potřebná data
- další ukázky kódu
Plán vaše aplikace
můžete použít více APK (multi-APK) funkce Google Play publikovat více než jeden APK v rámci stejné aplikace výpis. Hodinky APK by měly být distribuovány pomocí této funkce; nevkládejte hodinky APK v telefonu APK. Informace o nastavení aplikace pro distribuci prostřednictvím Obchodu Google Play naleznete v části balení a distribuce aplikací Wear a jak funguje více APK.
Poznámka: Chcete-li získat nárok na propagaci v obchodě Google Play na Wear (tj. je vyžadována podpora iOS i Android.
Obecně platí, že minimální a cílová úroveň API pro samostatnou aplikaci a pro Wear 2.0 je úroveň 25. Minimální úroveň SDK může být 23 pouze v případě, že používáte stejný APK pro Wear 1.0 a 2.0 (a tedy mají vložený Wear 1.0 APK).
Poznámka: kvůli problému latence ovlivňujícímu dostupnost aplikace na Wear 1.x hodinky, pokud budete stavět samostatná Nosit 2.0 APK a bude i nadále Nosit 1.0 APK, obojí z následujících:
- Poskytují samostatná verze Opotřebení APK, a
- Pokračovat ve vkládání verzi Opotřebení APK v telefonu APK
Upozornění: Pokud publikujete aktualizaci svého stávajícího, production phone APK, který odstranil vložený Wear APK, produkční uživatelé, kteří aktualizují phone APK před instalací samostatného Wear APK, ztratí svou stávající aplikaci Wear a její data. Pokud publikujete aktualizaci svého stávajícího, produkční telefon APK, pokračujte v vkládání hodinek APK do tohoto telefonu APK.
pro samostatné aplikace jsou vyžadována oprávnění k běhu.
informace o požadavcích na síť a přístupu k síti s velkou šířkou pásma naleznete v části přístup k síti a synchronizace.
Identifikujte aplikaci jako samostatnou
aplikace Wear musí mít prvek meta-data
v souboru manifestu Android jako dítě prvku <application>
. Název prvku meta-data
je com.google.android.wearable.standalone
a hodnota musí být true
nebo false
. Prvek označuje, zda je aplikace watch samostatnou aplikací, a proto nevyžaduje k provozu aplikaci pro Android na straně telefonu. Pokud je nastavení prvku true
, může být vaše aplikace zpřístupněna v Obchodě Play na hodinkách spárovaných s iPhony, pokud vaše aktivní soubory apk ve všech kanálech (např. v beta kanálu) mají prvek nastaven na true
. Pokud ne všechny soubory APK (alpha, beta a production), které jsou aktuálně zobrazovány uživatelům, mají výše uvedené nastavení, vaše aplikace nebude k dispozici, když uživatel vyhledá hodinky spárované s iPhone.
watch aplikace může být považován za jeden z následujících:
- Zcela nezávislé na telefonní aplikace
- Semi-nezávislý (telefon app, není nutné, a by poskytovat pouze volitelné funkce)
- Závislé na telefonní aplikace
Pokud hodinky aplikace je zcela nezávislý nebo částečně nezávislý, je považována za samostatnou kategorii. Musíte uvést tato kategorizace na Google Play store nastavením hodnota meta-data
prvek true
:
<application>... <meta-data android:name="com.google.android.wearable.standalone" android:value="true" />...</application>
Od té doby samostatná aplikace (to je, nezávislý nebo částečně nezávislý na aplikaci) může být nainstalován uživateli iPhone nebo uživatele telefonu se systémem Android, který postrádá Play Store, aplikaci watch by měly být použitelné bez telefonní aplikace.
pokud aplikace hodinek závisí na aplikaci telefonu, nastavte hodnotu výše uvedeného prvku meta-data
na false
. Nastavení prvku na false
znamená, že aplikace watch by měla být nainstalována pouze na hodinky, které jsou spárovány s telefonem, který má Obchod Play.
poznámka: i když je hodnota false
, lze aplikaci watch nainstalovat před instalací aplikace telefon. Pokud tedy aplikace watch zjistí, že doprovodný telefon postrádá nezbytnou aplikaci pro telefon, aplikace watch by měla uživatele vyzvat k instalaci aplikace pro telefon.
Definujte aplikaci jako aplikaci Wear
musíte zajistit, aby značka <uses-feature>
byla definována v souboru manifestu Android ve vaší aplikaci. To musí znamenat, že to je watch
aplikace, například, android:name="android.hardware.type.watch"
takto:
<manifest>... <uses-feature android:name="android.hardware.type.watch" />...</manifest>
Sdílený kód a data storage
Kód může být sdíleny mezi Wear app a telefonní aplikace. Volitelně může být kód, který je specifický pro tvarový faktor, v samostatném modulu.
například společný kód pro vytváření sítí může být ve sdílené knihovně.
k místnímu ukládání dat můžete použít standardní rozhraní API úložiště Android, jako byste měli v telefonu. Můžete například použít rozhraní API SharedPreferences nebo knihovnu Persistence Room.
zjistěte aplikaci na jiném zařízení
vaše aplikace watch dokáže zjistit, zda je k dispozici odpovídající aplikace pro telefon a naopak.
aplikace pro telefon nebo hodinky mohou pomocí CapabilityClient
inzerovat přítomnost aplikace na spárovaném zařízení. Může tak činit staticky a dynamicky. V telefonu, spárovaných hodinkách nebo v cloudu), CapabilityClient
umožňuje jiné aplikaci zjistit, zda je nainstalována. Pro více informací, viz inzerovat schopnosti.
pokud jedna z vašich aplikací nemůže detekovat druhou, můžete povolit uživateli otevřít seznam Obchodu Play na svém vzdáleném zařízení. Toto je řešení pro aplikace watch, které vyžadují, aby jejich doprovodná telefonní aplikace správně fungovala. Předpokladem je zkontrolovat přítomnost Obchodu Play na vzdáleném zařízení.
Všimněte si, že ne všechny telefony podporují Obchod Play (například iPhony atd.).
tato část popisuje osvědčené postupy pro tyto scénáře:
- vaše samostatná aplikace pro hodinky potřebuje aplikaci pro telefon
- aplikace pro telefon potřebuje samostatnou aplikaci pro hodinky
zkontrolujte vzorek, který ukazuje tuto funkci. Další informace o níže popsaných třídách naleznete v odkazu Wear API. Také v tomto odkazu jsou informace o třídě PhoneDeviceType
, která obsahuje metodu getPhoneDeviceType()
, která umožňuje aplikaci Wear zkontrolovat, zda je doprovodný telefon zařízením Android nebo iOS.
Zadejte schopnosti názvy pro detekci aplikací
Pro aplikace, odpovídající každému typu zařízení (hodinky nebo telefonu), zadejte jedinečný řetězec pro schopnost názvem v res/values/wear.xml
soubor.
například ve vaší mobilní modul, wear.xml
soubor by mohl obsahovat následující:
nosit modul, wear.xml
soubor by zahrnovat různé hodnoty pro způsobilost název, jako je například následující:
Pro více informací, viz Inzerovat schopnosti.
Aplikace detekce a otevírání URL z hodinky
hodinky aplikace lze zjistit, zda uživatel je telefon má společník telefon app:
- Použijte
CapabilityClient
zkontrolujte, zda váš telefon je aplikace nainstalována na spárovaný telefon. Další informace naleznete v ukázce. - pokud není v telefonu nainstalována aplikace pro telefon, zkontrolujte typ telefonu pomocí metody
PhoneDeviceType.getPhoneDeviceType()
. - pokud je vrácen
PhoneDeviceType.DEVICE_TYPE_ANDROID
, je telefon telefonem Android. ZavolejteRemoteIntent.startRemoteActivity()
na zařízení Wear a otevřete app store v telefonu. Použijte uri market pro aplikaci telefonu (která se může lišit od URI telefonu). Například použijte tržní URI, jako například:market://details?id=com.example.android.wearable.wear.finddevices
- pokud je vráceno
PhoneDeviceType.DEVICE_TYPE_IOS
, znamená to, že telefon je telefon iOS (bez Obchodu Play). Otevřete App Store na iPhone volánímRemoteIntent.startRemoteActivity()
na zařízení Wear. Můžete zadat adresu URL iTunes vaší aplikace, například. Na iPhone, z Wear OS, nemůžete programově určit, zda je nainstalována aplikace pro telefon. Jako nejlepší postup poskytněte uživateli mechanismus (např. tlačítko) pro ruční spuštění otevření obchodu s aplikacemi.
Všimněte si, že pomocí výše popsaného API RemoteIntent
můžete určit, že se v telefonu z hodinek otevře jakákoli adresa URL a není vyžadována žádná aplikace pro telefon.
Detaily pro detekci typu spárovaného telefonu
Tady je úryvek, který používá getPhoneDeviceType()
metoda zkontrolujte typ telefonu, na které hodinky je spárováno:
Kotlin
var phoneDeviceType: Int = PhoneDeviceType.getPhoneDeviceType(context)
Java
int phoneDeviceType = PhoneDeviceType.getPhoneDeviceType(context);
hodnoty vrácené getPhoneDeviceType()
metoda je jedním z následujících:
návratová hodnota | Popis |
---|---|
DEVICE_TYPE_ANDROID |
společník telefon je zařízení se systémem Android. |
DEVICE_TYPE_IOS |
doprovodný telefon je zařízení iOS. |
DEVICE_TYPE_ERROR_UNKNOWN |
došlo K chybě v určení typu spárovaného telefonu, další kontrola by měla být provedena později. |
detekce aplikací počínaje telefonem Android
váš telefon Android dokáže zjistit, zda zařízení uživatele nosí vaše hodinky:
- pomocí
NodeClient
najděte VŠECHNY hodinky připojené k telefonu uživatele. Další informace naleznete v ukázce. - pomocí
CapabilityClient
zkontrolujte, které Hodinky uživatele mají nainstalovanou aplikaci. - Pokud vaše aplikace není nainstalována na všechny uživatele hodinky (porovnat výsledky z Kroku 1 s výsledky z Kroku 2), umožňují uživateli otevřít Play Store na zbývající Opotřebení zařízení, od telefonu přes
RemoteIntent.startRemoteActivity()
metoda. Konkrétně použijte uri market pro aplikaci Wear (která se může lišit od URI aplikace v telefonu). Například použijte tržní URI, jako například:market://details?id=com.example.android.wearable.wear.finddevices
Lokalizační údaje pro hodinky spárovat iphone
Pro hodinky spárovat iphone, vývojáři by měli využívat Poskytovatele Polohy (FLP), aby se údaje o poloze na hodinky. Viz detekce umístění na opotřebení.
pokud je k dispozici doprovodný telefon, FLP používá doprovodný telefon pro údaje o poloze.
získejte pouze potřebná data
Obecně platí, že při získávání dat z Internetu byste měli získat pouze potřebná data. V opačném případě můžete zavést zbytečnou latenci, využití paměti a použití baterie.
když jsou hodinky připojeny přes připojení Bluetooth LE, vaše aplikace může mít přístup k šířce pásma pouze 4 kilobajty za sekundu, v závislosti na hodinkách. Proto následující kroky jsou doporučené:
- Audit sítě požadavky a odpovědi, pro extra data, která je pouze pro telefonní aplikace
- Zmenšit velké obrázky, než si je poslat po síti do hodinky
Pro případy, kdy high-šířka pásma sítě je zapotřebí, vidět High-bandwidth přístup k síti.
další ukázky kódu
vzorek WearVerifyRemoteApp dále demonstruje použití API uvedených na této stránce.