a Wear OS alkalmazás a telefontól függetlenül működhet. A felhasználók elvégezhetik a feladatokat egy órán, anélkül, hogy hozzáférnének Android vagy iOS telefonhoz.
lásd a következő kapcsolódó forrásokat:
- ellenőrizze a távoli alkalmazás mintáját
- tervezze meg alkalmazásait
- alkalmazás azonosítása önálló
- alkalmazás meghatározása Wear alkalmazásként
- megosztott kód és adattárolás
- az alkalmazás észlelése egy másik eszközön
- képességnevek megadása az alkalmazások észleléséhez
- Alkalmazásfelismerés és URL megnyitása egy óráról
- részletek a párosított telefon típusának észleléséhez
- Kotlin
- Java
- App detection kezdve egy Android telefon
- az iPhone készülékekkel párosított órák helyadatai
- csak a szükséges adatokat szerezze be
- további kódminták
tervezze meg alkalmazásait
használhatja a Google Play több APK (multi-APK) funkcióját, hogy egynél több APK-t tegyen közzé ugyanazon alkalmazáslista alatt. A watch APK-t ezzel a funkcióval kell elosztani; ne ágyazzon be egy óra APK-t egy telefon APK-ba. Az alkalmazás Google Play Áruházon keresztüli terjesztésre való beállításával kapcsolatos információkért lásd: Wear alkalmazások csomagolása és terjesztése, valamint több apk működése.
Megjegyzés: ahhoz, hogy a Google Play Áruházban (azaz az on-watch Play Áruházban) promócióra jogosult legyen, az alkalmazásnak a telefontól függetlenül kell működnie. iOS és Android támogatás szükséges.
általánosságban elmondható, hogy az önálló alkalmazás és a Wear 2.0 minimális és cél API szintje a 25.szint. A minimális SDK szint csak akkor lehet 23, ha ugyanazt az APK-t használja a Wear 1.0 és 2.0-hoz (és így beágyazott Wear 1.0 APK-val rendelkezik).
Megjegyzés: Mivel a késleltetési probléma érintő alkalmazás elérhetőségét Wear 1.x órák, Ha önálló Wear 2.0 APK-t épít, és továbbra is Wear 1.0 APK lesz, tegye a következőket:
- adja meg a Wear APK önálló verzióját, és
- folytassa a Wear APK verziójának beágyazását a telefon APK-jába
Vigyázat: Ha közzétesz egy frissítést a meglévő, produkciós telefon APK-jához, amely eltávolított egy beágyazott Wear APK-t, akkor azok a produkciós felhasználók, akik az önálló Wear APK telepítése előtt frissítik a telefon APK-ját, elveszítik a meglévő Wear alkalmazást és annak adatait. Ha frissítést tesz közzé a meglévő, gyártási telefon APK-jához, folytassa az óra APK beágyazását az adott telefon APK-ba.
futásidejű engedélyek szükségesek az önálló alkalmazásokhoz.
a hálózati kérésekkel és a nagy sávszélességű hálózati hozzáféréssel kapcsolatos információkért lásd: hálózati hozzáférés és szinkronizálás.
alkalmazás azonosítása önálló
a Wear alkalmazásoknak meta-data
elemet kell tartalmazniuk az Android Manifest fájlban, a <application>
elem gyermekeként. A meta-data
elem neve com.google.android.wearable.standalone
, és az értéknek true
vagy false
kell lennie. Az elem azt jelzi, hogy a watch alkalmazás önálló alkalmazás-e, ezért működéséhez nincs szükség telefonos Android-alkalmazásra. Ha az elem beállítása true
, akkor az alkalmazás elérhető a Play Áruházban az iPhone készülékekhez párosított órákon, amennyiben az aktív APK-k minden csatornán (például a béta csatornán) az elemet true
értékre állítják. Ha a felhasználóknak jelenleg kiszolgált összes apk (alfa, béta és termelés) nem rendelkezik a fenti beállítással, akkor az alkalmazás nem lesz elérhető, ha a felhasználó egy iPhone-hoz párosított órán keres.
a watch app lehet tekinteni, mint az alábbi:
- teljesen független egy telefonos alkalmazástól
- félig független (telefonos alkalmazás nem szükséges, és csak opcionális funkciókat biztosítana)
- telefonos alkalmazástól függ
ha egy óraalkalmazás teljesen független vagy félig független, akkor az önálló kategóriába tartozik. Ezt a kategorizálást meg kell adnia a Google Play áruháznak a meta-data
elem értékének beállításával true
:
<application>... <meta-data android:name="com.google.android.wearable.standalone" android:value="true" />...</application>
mivel önálló alkalmazást (vagyis független vagy félig független alkalmazást) telepíthet egy iPhone-felhasználó vagy egy olyan Android-telefon felhasználója, amelyből hiányzik a Play Áruház, a watch alkalmazásnak a telefonos alkalmazás nélkül is használhatónak kell lennie.
ha egy óraalkalmazás telefonos alkalmazástól függ, állítsa a fenti meta-data
elem értékét false
értékre. Ha az elemet false
értékre állítja, az azt jelenti, hogy a watch alkalmazást csak olyan órára kell telepíteni, amely párosítva van egy Play Áruházzal rendelkező telefonnal.
megjegyzés: még akkor is, ha az érték false
, a watch alkalmazás telepíthető a telefon alkalmazás telepítése előtt. Ezért, ha egy óraalkalmazás azt észleli, hogy egy társtelefonból hiányzik a szükséges telefonos alkalmazás, a figyelőalkalmazásnak fel kell hívnia a felhasználót a telefonos alkalmazás telepítésére.
alkalmazás meghatározása Wear alkalmazásként
meg kell győződnie arról, hogy a <uses-feature>
címke meg van-e határozva az alkalmazás Android Manifest fájljában. Jeleznie kell, hogy ez egy watch
alkalmazás, például android:name="android.hardware.type.watch"
az alábbiak szerint:
<manifest>... <uses-feature android:name="android.hardware.type.watch" />...</manifest>
megosztott kód és adattárolás
a kód megosztható egy Wear alkalmazás és egy telefonos alkalmazás között. Opcionálisan egy formatényezőre jellemző kód külön modulban is lehet.
például a hálózat közös kódja lehet egy megosztott könyvtárban.
használhatja a szabványos Android tárolási API-kat az adatok helyi tárolására, mint egy telefonon. Használhatja például a SharedPreferences API-kat vagy a Room persistence könyvtárat.
az alkalmazás észlelése egy másik eszközön
az óra alkalmazás képes észlelni, hogy a megfelelő telefonos alkalmazás elérhető-e, és fordítva.
a telefonos alkalmazás vagy a watch alkalmazás a CapabilityClient
segítségével hirdetheti az alkalmazás jelenlétét egy párosított eszközön. Ezt statikusan és dinamikusan tudja megtenni. Amikor egy alkalmazás a felhasználó Wear hálózatának egy csomópontján van (azaz telefonon, párosított órán vagy a felhőben), a CapabilityClient
lehetővé teszi egy másik alkalmazás számára, hogy észlelje, telepítve van-e. További információ: hirdetési lehetőségek.
ha az egyik alkalmazás nem ismeri fel a másikat, engedélyezheti a felhasználó számára a Play Áruház listájának megnyitását a távoli eszközén. Ez egy olyan megoldás az óraalkalmazásokhoz, amelyek megkövetelik a társtelefon-alkalmazás jelenlétét a megfelelő működéshez. Ennek előfeltétele, hogy ellenőrizze a Play Áruház jelenlétét a távoli eszközön.
ne feledje, hogy nem minden telefon támogatja a Play Áruházat (például iPhone-ok stb.).
ez a szakasz az alábbi forgatókönyvek legjobb gyakorlatait ismerteti:
- az önálló óraalkalmazásnak szüksége van a telefonos alkalmazásra
- a telefonos alkalmazásnak szüksége van az önálló óraalkalmazásra
tekintse át a funkciót bemutató mintát. Az alábbiakban ismertetett osztályokkal kapcsolatos további információkért lásd a Wear API hivatkozást. Ebben a hivatkozásban szerepel a PhoneDeviceType
osztályra vonatkozó információ is, amely egy getPhoneDeviceType()
módszert tartalmaz, amely lehetővé teszi a Wear alkalmazás számára, hogy ellenőrizze, hogy a társtelefon Android vagy iOS eszköz-e.
képességnevek megadása az alkalmazások észleléséhez
az egyes eszköztípusoknak megfelelő alkalmazásoknál (óra vagy telefon) adjon meg egy egyedi karakterláncot a képesség nevének a res/values/wear.xml
fájlban.
például a mobilmodulban a wear.xml
fájl a következőket tartalmazhatja:
a wear modulban a wear.xml
fájl más értéket tartalmaz a képességnévhez, például a következőket:
További információ: a képességek hirdetése.
Alkalmazásfelismerés és URL megnyitása egy óráról
az óraalkalmazás felismeri, hogy a felhasználó társtelefonja rendelkezik-e a telefonalkalmazással:
- a
CapabilityClient
gombbal ellenőrizheti, hogy a telefonalkalmazás telepítve van-e a párosított telefonon. További információkért lásd a mintát. - ha a telefonos alkalmazás nincs telepítve a telefonra, a
PhoneDeviceType.getPhoneDeviceType()
módszerrel ellenőrizze a telefon típusát. - ha
PhoneDeviceType.DEVICE_TYPE_ANDROID
vissza, a telefon egy Android telefon. HívjaRemoteIntent.startRemoteActivity()
a Wear eszközön az app store megnyitásához a telefonon. Használja a telefonos alkalmazás piaci URI-ját (amely eltérhet a telefon URI-jától). Használjon például egy piaci URI-t, például:market://details?id=com.example.android.wearable.wear.finddevices
- ha a
PhoneDeviceType.DEVICE_TYPE_IOS
értéket adja vissza, az azt jelenti, hogy a telefon iOS-telefon (nincs elérhető Play Áruház). Nyissa meg az App Store-t az iPhone-on aRemoteIntent.startRemoteActivity()
telefonszámon a Wear eszközön. Megadhatja az alkalmazás iTunes URL-címét, például. IPhone-on a Wear OS-ből nem lehet programszerűen meghatározni, hogy telepítve van-e a telefonos alkalmazás. Legjobb gyakorlatként biztosítson egy mechanizmust a felhasználó számára (például egy gombot) az App Store megnyitásának kézi elindításához.
vegye figyelembe, hogy a fent leírt RemoteIntent
API használatával megadhatja, hogy bármilyen URL megnyitható legyen a telefonon az óráról, és nincs szükség telefonos alkalmazásra.
részletek a párosított telefon típusának észleléséhez
itt található egy részlet, amely a getPhoneDeviceType()
módszerrel ellenőrzi annak a telefonnak a típusát, amelyhez az óra párosítva van:
Kotlin
var phoneDeviceType: Int = PhoneDeviceType.getPhoneDeviceType(context)
Java
int phoneDeviceType = PhoneDeviceType.getPhoneDeviceType(context);
a getPhoneDeviceType()
módszerrel visszaadott érték az alábbiak egyike:
visszatérési érték | leírás |
---|---|
DEVICE_TYPE_ANDROID |
a társ telefon egy Android-eszköz. |
DEVICE_TYPE_IOS |
a társ telefon egy iOS eszköz. |
DEVICE_TYPE_ERROR_UNKNOWN |
hiba történt a párosított telefon típusának meghatározásakor, később újabb ellenőrzést kell végezni. |
App detection kezdve egy Android telefon
az Android telefon képes felismerni, ha a felhasználó Wear eszközök a watch app:
- a
NodeClient
használatával keresse meg a felhasználó telefonjához csatlakoztatott összes órát. További információkért lásd a mintát. - a
CapabilityClient
használatával ellenőrizze, hogy a felhasználó melyik óráján van telepítve az alkalmazás. - ha az alkalmazás nincs telepítve a felhasználó összes órájára (hasonlítsa össze az 1.lépés eredményeit a 2. lépés eredményeivel), engedje meg a felhasználónak, hogy a telefonról a fennmaradó Wear eszközökön nyissa meg a Play Áruházat a
RemoteIntent.startRemoteActivity()
módszerrel. Pontosabban használja a Wear alkalmazás piaci URI-ját (amely eltérhet a telefonos alkalmazás URI-jétől). Használjon például egy piaci URI-t, például:market://details?id=com.example.android.wearable.wear.finddevices
az iPhone készülékekkel párosított órák helyadatai
az iPhone készülékekkel párosított órák esetében a fejlesztőknek az Fused Location Provider (FLP) segítségével kell lekérniük az órák helyadatait. Lásd: a kopás helyének észlelése.
ha a társtelefon elérhető, az FLP a társtelefont használja helyadatokhoz.
csak a szükséges adatokat szerezze be
általában, amikor adatokat szerez az internetről, csak a szükséges adatokat kell beszereznie. Ellenkező esetben szükségtelen késleltetést, memóriahasználatot és akkumulátorhasználatot vezethet be.
ha egy órát Bluetooth LE-kapcsolaton keresztül csatlakoztat, az alkalmazás az órától függően másodpercenként csak 4 kilobájt sávszélességhez férhet hozzá. Ezért a következő lépések ajánlottak:
- ellenőrizze a hálózati kéréseket és válaszokat olyan extra adatokért, amelyek csak egy telefonos alkalmazáshoz tartoznak
- zsugorítsa a nagy képeket, mielőtt hálózaton keresztül órának küldené őket
nagy sávszélességű hálózatra van szükség, lásd: nagy sávszélességű hálózati hozzáférés.
további kódminták
a WearVerifyRemoteApp minta tovább mutatja az ezen az oldalon szereplő API-k használatát.