Bağımsız Wear OS uygulamaları ve bağımsız olmayan Wear OS uygulamaları

Kullanıcıların aşağıdaki işlemleri yapabilmesi için Wear OS uygulamalarının telefondan bağımsız olarak çalışmasını öneririz: Android veya iOS telefona erişmeden kol saatinde görevleri tamamlayabilir. Saat uygulamanız telefon etkileşimi gerektirdiğinden, Wear OS uygulamanızı bağımsız değil olarak işaretlemeniz gerekir ve kullanıcının telefon uygulamasını kullanabileceğinden emin olmak için gerekli adımları atın.

Uygulamanızı planlayın

Android App Bundle'ı kullanabilirsiniz Android Package Kit'leri (APK'lar), en iyi uygulamaları gözden geçiriyorum. Bu sayede kullanıcılar yalnızca indirmeleri gereken kod ve kaynakları yardımcı olabilir.

Uygulamanızı Google Ads için bkz. Wear OS Uygulamalarını paketleme ve dağıtma ile birlikte kullanmaya başlama kılavuzu Android App Bundle'ları

Yeni uygulamalar için hedef API düzeyi 30 veya daha yüksek olmalıdır. Daha fazla bilgi için bkz. Google Play'in hedef API'siyle tanışın düzeyi şartı hakkında daha fazla bilgi edinin. Ayarlayın: Uygulamanızın iyi çalıştığından emin olmak için targetSdkVersion ile API düzeyi 30'a (Wear OS 3) geçiş sürümünü kullanabilirsiniz.

Ağ istekleri ve yüksek bant genişlikli ağ erişimi hakkında bilgi için bkz. Wear OS'te ağ erişimi ve senkronizasyonu.

Bir uygulamayı Wear OS uygulaması olarak tanımlama

<uses-feature> etiketini, uygulamanızın Android manifest dosyasında tanımlamanız gerekir. Bunun bir saat uygulaması olduğunu belirtmek için aşağıdaki gibi bir giriş ekleyin:

  <manifest>
  ...
  <uses-feature android:name="android.hardware.type.watch" />
  ...
  </manifest>
  

Bir uygulamayı bağımsız veya bağımsız değil olarak tanımlama

Saat uygulaması bağımsız veya bağımsız değil olarak kabul edilir:

  • Bağımsız: Temel uygulama için telefon uygulaması gerektirmeyen, tamamen bağımsız bir uygulama. özellikleri. "Telefonda aç" olsa da istemler kabul edilebilirse uygulama, alternatif kullanıcıların kısa bağlantı veya QR kodu gibi bir uygulama işlevini paylaşma'yı seçeceğim.
  • Bağımsız olmayan: Telefondaki veya başka bir cihazdaki uygulamayı gerektiren bağımlı bir uygulama. temel özellikler. Bu seçenek, QR kodu veya kısa bağlantı gibi alternatif bir yöntem kimlik doğrulama gibi temel bir uygulama işlevini tamamlama.

Not: Bağımsız olmayan uygulamalarda bile kullanıcılar Mobil uygulamadan önce Wear OS uygulamasını kullanın. Wear OS uygulamanız, Yakındaki avuç içi cihazda gerekli tamamlayıcı uygulama yok, kullanıcıya istem göster tıklayın.

Google, uygulama sırasında bir uygulamanın bağımsız durumunun doğruluğunu doğrular yardımcı olur. Bu değer, Play Store'daki uygulamaların görünürlüğünü etkiler. avuç içi cihazla eşlenmemiş Wear OS cihazları gibi internet bağlantısı olmayan cihazlar cihazlar. Bağımsız olmayan uygulamaların yanı sıra geliştiricilerin yanlış şekilde bildirdiği uygulamalar "bağımsız" olarak atama (tethering yapılmayan bu cihazlardaki kullanıcılar tarafından kullanılamaz) cihazlar.

Wear OS uygulamanızda meta-data öğesinin com.google.android.wearable.standalone değerini ayarlayın ekleyerek uygulamanızın bağımsız olup olmadığını belirtebilirsiniz.

Saat uygulamanız tamamen bağımsız, bağımsız bir uygulamaysa bunu Google Play Store'a com.google.android.wearable.standalone ile true aralığındaki değer:

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

Saat uygulamanız bağımsız değilse ve temel özellikleri açısından başka bir uygulamayı kullanıyorsa com.google.android.wearable.standalone değerini şuna ayarla: false. Bu, saat uygulamasının başka bir cihaz gerektirdiğini, ancak gerektirmediğini gösterir Google Play Store'daki uygulama tanıtımınızı etkileyebilir.

Not: com.google.android.wearable.standalone değeri şöyle olsa bile: false, saat uygulaması, telefon uygulaması yüklenmeden önce yüklenebilir. Bu nedenle, saat uygulamanız Eşlenmiş bir telefonun olduğunu algıladığında bu sayfada açıklandığı gibi gerekli telefon uygulamasına sahip değilse kullanıcıdan telefon uygulamasını yüklemesini isteyin.

Paylaşılan kod ve veri depolama

Kod, bir Wear OS uygulaması ile bir telefon uygulaması arasında paylaşılabilir. Örneğin, ağ için ortak kod, paylaşılan bir kitaplıkta olabilir.

İsteğe bağlı olarak, ayrı bir modülde yer alabilir.

Verileri yerel olarak depolamak için standart Android depolama API'lerini kullanabilirsiniz. kullanacağım. Örneğin, Paylaşılan Tercihler API'ler veya Oda kalıcılık kitaplığına erişebilirsiniz.

Uygulamanızı başka bir cihazda algılama

Saat uygulamanız ve ilgili telefon uygulaması diğer uygulamanın kullanılabilir olup olmadığını algılayabilir.

Telefon ve saat uygulamalarınız şunları kullanabilir: Varlığının reklamını yapmak için CapabilityClient eşlenen cihaza bağlanabilir. Bunu statik veya dinamik olarak yapabilirler.

Uygulama Kullanıcının Wear OS ağındaki bir düğümde (ör. telefon, eşlenmiş kol saatinde veya bulutta sakladığından CapabilityClient, diğer tarafından algılanır. Daha fazla bilgi için bkz. Reklam özellikleri:

Uygulamalarınızdan biri diğerini algılayamazsa komut istemini kullanarak Kullanıcının etkilenen cihazda Play Store girişini açmasını. Bu çözüm, 2024 yılı boyunca ve düzgün çalışması için tamamlayıcı telefon uygulamasının varlığını.

Play Store'un şurada kullanıma sunulup sunulmadığını kontrol etmeniz gerekir: çünkü iPhone gibi tüm telefonlar Play Store'a gidin.

Aşağıdaki bölümlerde iki senaryo için en iyi uygulamalar açıklanmaktadır:

  • Bağımsız saat uygulamanız için telefon uygulamanız gerekir.
  • Telefon uygulamanız için bağımsız saat uygulamanız gerekir.

Ayrıca, Bu örnek, öğesinin bir parçası olan veri katmanı yardımcı kitaplıkları Horoloji uzmanı. Bu yardımcılar, bir avuç içi cihaz arasındaki bağlantıyı izlemenize olanak tanır. cihaz ve Wear OS cihazı olabilir. Okuyucu Gelirleri Yöneticisi'ni aşağıdaki bölümde açıklanan sınıflarla ilgili daha fazla bilgi edinmek için Wear OS API referansı. Bu referansta şunlar hakkında da bilgiler yer alır: Şunları içeren PhoneTypeHelper sınıfı getPhoneDeviceType() yöntemini kullanarak Wear OS uygulaması, tamamlayıcı telefonun Android mi yoksa iOS cihaz mı olduğunu kontrol eder.

Uygulamalarınızı algılamak için özellik adlarını belirtin

Her cihaz türüne (ör. kol saati veya telefon) karşılık gelen uygulama için bir res/values/wear.xml dosyası yükleyin.

Örneğin, mobil modülünüzde wear.xml dosyası şunları içerebilir:

<resources xmlns:tools="http://schemas.android.com/tools"
        tools:keep="@array/android_wear_capabilities">
    <string-array name="android_wear_capabilities">
        <item>verify_remote_example_phone_app</item>
    </string-array>
</resources>

Wear OS modülünüzde wear.xml dosyası bir özellik adı için farklı bir değer, Örneğin:

<resources xmlns:tools="http://schemas.android.com/tools"
        tools:keep="@array/android_wear_capabilities">
    <string-array name="android_wear_capabilities">
        <item>verify_remote_example_wear_app</item>
    </string-array>
</resources>

Daha fazla bilgi için bkz. Reklam özellikleri:

Uygulamayı algılama ve kol saatinden URL açma

Saat uygulamanız, kullanıcının tamamlayıcı telefonunda telefon uygulaması. Şu adımları uygulayın:

  1. Şunu kullanın: Telefon uygulamanızın yüklü olup olmadığını kontrol etmek için CapabilityClient telefondaki düğmesini tıklayın. Daha fazla bilgi için GitHub'da Datalayer yardımcıları örneği'ni ziyaret edin.
  2. Telefon uygulamanız telefonda yüklü değilse PhoneDeviceType.getPhoneDeviceType() yöntemini kullanarak telefonun türünü kontrol edebilirsin. Ayrıntılar için aşağıdaki bölüme bakın.
  3. Eğer PhoneDeviceType.DEVICE_TYPE_ANDROID dönerse telefon bir Android telefondur. Telefonla arama Wear OS cihazda RemoteActivityHelper.startRemoteActivity() özelliğini kullanarak telefonda Play Store'u açın. Telefonunuz için pazar URI'sini kullanın Bu uygulama, Wear uygulamanızın URI'sından farklı olabilir. Örneğin, örneğin, pazar URI'si: market://details?id=com.example.android.wearable.wear.finddevices
  4. Eğer PhoneDeviceType.DEVICE_TYPE_IOS iade edildiğinde, telefon, Play özelliği olmayan bir iOS telefondur Mağaza mevcut. iPhone'da App Store'u açın Wear'da RemoteActivityHelper.startRemoteActivity() numaralı telefonu arayarak OS cihaz. Uygulamanızın iTunes URL'sini şunun gibi belirtebilirsiniz: https://itunes.apple.com/us/app/yourappname

    Wear OS'ten, cihazlarınızın doğru yüklü olup olmadığını Telefon uygulamanız bir iOS cihazda yüklü olmalıdır. En iyi uygulama olarak, manuel olarak tetiklemek için kullanıcıya ve App Store açılacaktır.

Not: Daha önce açıklanan RemoteActivityHelper API'yi kullanın: telefonda kol saatinden açılabilecek URL'leri belirtin. telefon uygulaması gerektirmemesidir.

Eşlenen telefonun türünü algılamayla ilgili ayrıntılar

Burada, aşağıdaki işlemler için getPhoneDeviceType() yöntemini kullanan bir snippet verilmiştir: saatin eşlendiği telefonun türünü kontrol edin:

Kotlin

var phoneDeviceType: Int = PhoneDeviceType.getPhoneDeviceType(context)

Java

int phoneDeviceType = PhoneDeviceType.getPhoneDeviceType(context);

getPhoneDeviceType() tarafından döndürülen değer yöntemi aşağıdakilerden biridir:

Döndürülen değer Açıklama
DEVICE_TYPE_ANDROID Tamamlayıcı telefon bir Android cihaz.
DEVICE_TYPE_IOS Tamamlayıcı telefon bir iOS cihazdır.
DEVICE_TYPE_UNKNOWN Tamamlayıcı telefon bilinmeyen bir cihaz.
DEVICE_TYPE_ERROR Eşlenen telefonun türü belirlenirken bir hata oluştu; başka bir kontrol daha sonra yapılmalıdır.

Android telefondan başlayarak uygulama algılama

Android telefonunuz, kullanıcının Wear OS cihazlarında saat uygulaması. Şu adımları uygulayın:

  1. Her bir NodeClient, kullanıcının telefon. Daha fazla bilgi için GitHub'da Datalayer yardımcıları örneği'ni ziyaret edin.
  2. Her bir CapabilityClient, kullanıcının kol saatlerinde yüklü olduğundan emin olun.
  3. Uygulamanız kullanıcının tüm saatlerinde yüklü değilse kullanıcının Kalan Wear OS cihazlarda Play Store'u açmak için şu uygulamayı kullanın: RemoteActivityHelper.startRemoteActivity() yöntemi. Wear OS uygulaması için pazar URI'sini kullanın. Bu değer şunlardan biri olabilir: telefon uygulamanızın URI'sinden farklı. Örneğin, bir pazar URI'si kullanın. Örneğin: market://details?id=com.example.android.wearable.wear.finddevices

iPhone'larla eşlenen kol saatleri için konum verileri

iPhone'larla eşlenen kol saatlerinde Çok Kaynaklı Konum Sağlayıcı (FLP) özelliğini açın. Daha fazla bilgi için bkz. Wear OS'te konumu algıla'ya dokunun.

Tamamlayıcı telefon varsa FLP, tamamlayıcı telefonu şunun için kullanır: konum verileri.

Yalnızca gerekli verileri edinme

Genellikle, internetten veri alırken yalnızca işleyeceğiz. Aksi takdirde gereksiz gecikme, bellek, ve pil kullanımını gösterir.

Bir kol saati Bluetooth LE bağlantısı üzerinden bağlandığında uygulamanız yalnızca 4 kilobayt bant genişliğine ulaşabilir. kol saatinde. Bu nedenle, aşağıdaki adımları uygulamanız önerilir:

  • Yalnızca yeterli olan ek veriler için ağ isteklerinizi ve yanıtlarınızı denetleyin telefon uygulaması için gerekli.
  • Büyük resimleri, ağ üzerinden kol saatine göndermeden önce küçültün.

Yüksek bant genişliğine sahip bir ağın gerekli olduğu durumlar için bkz. Yüksek bant genişliğinde ağ erişimi.

Ek kod örnekleri

İlgili içeriği oluşturmak için kullanılan Datalayer yardımcıları örneği, bu sayfada ele alınan API'lerin kullanımını daha ayrıntılı şekilde gösterir.