samostatné aplikace Wear

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

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:

  1. Použijte CapabilityClient zkontrolujte, zda váš telefon je aplikace nainstalována na spárovaný telefon. Další informace naleznete v ukázce.
  2. pokud není v telefonu nainstalována aplikace pro telefon, zkontrolujte typ telefonu pomocí metody PhoneDeviceType.getPhoneDeviceType().
  3. pokud je vrácen PhoneDeviceType.DEVICE_TYPE_ANDROID, je telefon telefonem Android. Zavolejte RemoteIntent.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
  4. 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ím RemoteIntent.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:

  1. pomocí NodeClient najděte VŠECHNY hodinky připojené k telefonu uživatele. Další informace naleznete v ukázce.
  2. pomocí CapabilityClient zkontrolujte, které Hodinky uživatele mají nainstalovanou aplikaci.
  3. 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.

You might also like

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.