Uygulamanızın Wear'da görünür olmasını sağlayın

Etkin bir uygulamanın düşük güç moduna geçme sürecini, kullanıcı kol saatini artık kullanmadığında Wear OS otomatik olarak işler. Buna sistem ambiyans modu denir. Kullanıcı belirli bir zaman dilimi içinde saatle tekrar etkileşimde bulunursa Wear OS kullanıcıyı uygulamada kaldığı yerden geri getirir.

Belirli kullanım alanlarında (örneğin, koşu sırasında nabız ve tempoyu görmek isteyen bir kullanıcı) düşük güçlü ambiyans modunda nelerin görüntüleneceğini de kontrol edebilirsiniz. Hem ambiyans hem de etkileşimli modda çalışan Wear OS uygulamalarına her zaman açık uygulamalar adı verilir.

Bir uygulamayı sürekli görünür hale getirmek pil ömrünü etkilediğinden, bu özelliği uygulamanıza eklerken bu durumun etkisini göz önünde bulundurun.

Projenizi yapılandırın

Ambiyans modunu desteklemek için şu adımları uygulayın:

  1. Giyilebilir cihaz uygulaması oluşturma ve çalıştırma sayfasındaki yapılandırmalara göre projenizi oluşturun veya güncelleyin.
  2. WAKE_LOCK iznini Android Manifest dosyasına ekleyin:
<uses-permission android:name="android.permission.WAKE_LOCK" />

Her zaman açık modunu etkinleştir

AmbientLifecycleObserver sınıfını kullanmak için aşağıdakileri yapın:

  1. AmbientLifecycleObserver.AmbientLifecycleCallback arayüzünü aşağıdaki örnekte gösterildiği gibi uygulayın. Bu aşamada yöntemler boştur ancak kılavuzun sonraki bölümlerinde, ambiyans moduna girmek ve bu moddan çıkmak için görselleştirmede yapmanız gereken değişiklikler hakkında ayrıntılı bilgi verilmektedir.

    Kotlin

        val ambientCallback = object : AmbientLifecycleObserver.AmbientLifecycleCallback {
          override fun onEnterAmbient(ambientDetails: AmbientLifecycleObserver.AmbientDetails) {
            // ... Called when moving from interactive mode into ambient mode.
          }
    
          override fun onExitAmbient() {
            // ... Called when leaving ambient mode, back into interactive mode.
          }
    
          override fun onUpdateAmbient() {
            // ... Called by the system in order to allow the app to periodically
            // update the display while in ambient mode. Typically the system will
            // call this every 60 seconds.
          }
        }
        
  2. Bir AmbientLifecycleObserver oluşturun ve gözlemciyi kaydedin. Genellikle bu, onCreate() içinde veya Wear OS için Compose kullanıyorsanız en üst düzey composable'da kullanılır. Böylece etkinliğin yaşam döngüsü boyunca her zaman açık davranış da etkinleştirilebilir.

    Kotlin

    private val ambientObserver = AmbientLifecycleObserver(activity, callback)
    
    override fun onCreate(savedInstanceState: Bundle) {
      super.onCreate(savedInstanceState)
      lifecycle.addObserver(observer)
    
      // ...
    }
    
  3. Her zaman açık davranış artık gerekli olmadığında removeObserver() yöntemini çağırarak gözlemciyi kaldırın. Örneğin, bu yöntemi etkinliğinizin onDestroy() yönteminde çağırabilirsiniz.

Ambiyans modunda görsel görünümü değiştirin

Varsayılan olarak her zaman açık ayarı seçildiğinde, saat ambiyans moduna girdiğinde ekranın görünümü değişmez. AmbientLifecycleCallback içindeki yöntemleri geçersiz kılarak bu davranışı değiştirebilirsiniz.

Güç tasarrufu sağlamaya yardımcı olmak için aşağıdakileri yapın:

  • Daha az piksel aydınlatıp ekranın büyük kısmını siyah bırakır. Ambiyans modunda yalnızca kritik bilgileri göstermeyi düşünün ve kullanıcı etkileşimli moda girdiğinde daha fazla ayrıntı sağlayın.
  • İçerikleri daha seyrek güncellenecek şekilde düzenleyin. Örneğin, zamanlayıcıları en yakın saniye yerine en yakın dakikaya gösterebilirsiniz.
  • onEnterAmbient() yöntemine geçirilen AmbientDetails nesnesinde:
    • deviceHasLowBitAmbient ayarlanmışsa mümkün olduğunda kenar yumuşatma özelliğini devre dışı bırakın.
    • burnInProtectionRequired ayarlandıysa görselleştirmeyi düzenli aralıklarla değiştirin ve düz beyaz alanlardan kaçının.

Wear OS için Compose'u kullanırken durumu güncellemek için bu geri çağırma yöntemlerini kullanmanızı öneririz. Bu da sistemin kullanıcı arayüzünüzü uygun şekilde yeniden oluşturmasına olanak tanır.

Bunun nasıl yapılacağına dair bir örnek olarak GitHub'daki, Horologist kitaplığındaki composable AmbientAware öğesinin kullanıldığı, yazmaya dayalı alıştırma örneğine göz atın.