Çin için Wear OS uygulamaları oluşturma

Çin için Wear OS uygulamaları oluştururken Google Play hizmetlerinin önceden yüklü olmadığı telefonları hesaba katmanız gerekir. Bu sayfada, geliştiricilerin Çin pazarı için uygulaması gerekebilecek yaygın değişiklikler yer almaktadır.

Google Play Hizmetleri'nin doğru sürümünü kullanma

Google Play Hizmetleri 10.2.0 sürümü, Fused Location Provider API ve Data Layer API için dünya genelinde destek sağlar. Çin'de daha geniş bir Wear OS cihaz yelpazesinin desteklenmesini sağlamak için bu API'leri kullanıyorsanız Google Play Hizmetleri'nin bu sürümünü kullanmanız gerekir. Diğer durumlarda bu bağımlılık isteğe bağlıdır.

Not: Google Play Hizmetleri, Wear OS uygulamalarına yönelik API'ler içerse de Çin'e yönelik Wear OS uygulamaları GoogleApiClient ile ilgili API'leri kullanmaya devam etmelidir. Wearable API'ye erişim başlıklı makaleyi inceleyin.

Fused Location Provider API

Fused Location Provider API'yi kullanıyorsanız Wear OS modülünüzün build.gradle dosyasına aşağıdaki bağımlılığı ekleyin:

Groovy

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-location:10.2.0'
}

Kotlin

dependencies {
    ...
    implementation("com.google.android.gms:play-services-location:10.2.0")
}

Data Layer API

Uygulamanız Data Layer API'yi kullanıyorsa Wear OS modülünüzün build.gradle dosyasına aşağıdaki satırı eklemeniz gerekir. Satırda istemci kitaplığının 10.2.0 sürümünün kullanılması gerekir.

Groovy

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-wearable:10.2.0'
    ...
}

Kotlin

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:10.2.0")
    ...
}

Aşağıdaki satırı mobil modülünüzün build.gradle dosyasına ekleyin. Google Play Hizmetleri bağımlılığını 10.2.0 sürümüne referansla değiştirin.

Groovy

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-wearable:10.2.0'
}

Kotlin

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:10.2.0")
}

Kimlik doğrulama

Kimlik doğrulamayı uygulamadan önce, kimlik doğrulamanın gerçekten gerekli olup olmadığını görmek için kullanım alanlarınızı inceleyin. Örneğin, hava durumu tahmini sunan bir uygulamada oturum açmaya ve dolayısıyla kimlik doğrulamaya gerek yoktur.

Kimlik doğrulama gerekiyorsa AndroidX Oauth kitaplığını kullanmanızı öneririz. Bunun için PKCE ile Yetkilendirme Kodu Grant akışının kullanılması gerekir. Giyilebilir cihazlarda kimlik doğrulama bölümünde açıklanan diğer yöntemlerden birini de kullanabilirsiniz. Giyilebilir Cihaz Destek Kitaplığı'nın kullanılması önerilmez.

Daha fazla bilgi için GitHub'daki Wear OS OAuth Örneği'ne göz atın.

Köprülenmiş bildirimler

Köprülü bildirimler Çin'de desteklenmez. Telefon bildirimleri yalnızca Wear OS cihazı Bluetooth kullanarak telefona bağlıysa Wear OS'e köprülenir.

Konum ve harita koordinatları uyumluluğu

Kullanıcının Çin'deki konumunu tespit etmek için dünyanın geri kalanında yaptığınız gibi FusedLocationProvider (FLP) kullanın. Bu sayede uygulamanız, kol saatinin donanımından ve kol saatinin eşlendiği telefon platformundan bağımsız olarak en iyi bilgileri dikkate alır. FLP'yi kullanmak, Wear OS platformuna yerleşik pil optimizasyonunu da ekler.

FusedLocationProvider'ü üçüncü taraf harita SDK'larıyla entegre ederken sağlayıcılar arasındaki koordinat uyumluluğunu göz önünde bulundurun. FusedLocationProvider, konumu WGS84 standardına göre bildirir. Koordinat sistemlerini uygun şekilde dönüştürdüğünüzden emin olun.

Google Fit desteği

Google Fit'in toplam adım sayacı, hareket dakikaları ve kalp puanları, Çin'de yedi güne kadar geçmişle desteklenir. Buna kullanıcı kimlik bilgisi sağlamadan erişebilirsiniz.

Sesli işlem desteği

Wear OS platformu, kullanıcı işlemlerine dayalı çeşitli sesli intent'ler (ör. "Kalp atış hızını göster" veya "Alarm ayarla") sağlar. Bu sayede kullanıcılar ne yapmak istediklerini belirtebilir, sistem de başlatılacak en iyi etkinliği belirleyebilir.

Kullanıcılar bir sesli işlem konuştuğunda uygulamanız, etkinlik başlatmak için tetiklenen niyeti filtreleyebilir. Bir hizmeti arka planda başlatmak için görsel bir ipucu olarak bir etkinlik gösterin ve hizmeti etkinlikte başlatın. Görsel işaretten kurtulmak için finish()'ü çağırdığınızdan emin olun.

Wear OS platformu tarafından desteklenen sesli intent'lerin listesi aşağıda verilmiştir:

Kategori Örnek Intent spesifikasyonu
Araç çağırma 打车去三里屯 İşlem

com.google.android.gms.actions.RESERVE_TAXI_RESERVATION

Extra

to: tanınan hedef

Ek ücret isteğe bağlıdır.

Alarmı ayarla 设置一个明早七点的闹钟 İşlem

android.intent.action.SET_ALARM

Ek özellikler

android.provider.AlarmClock.EXTRA_HOUR: alarmın saatini içeren bir tam sayı

android.provider.AlarmClock.EXTRA_MINUTES: Alarmın dakikasını içeren bir tam sayı

Bu ekstralar isteğe bağlıdır. Bu ekstralardan birini, ikisini birden veya hiçbirini sağlayın.

Zamanlayıcıyı ayarla 设置一个三分钟的倒计时 İşlem

android.intent.action.SET_TIMER

Ek özellikler

android.provider.AlarmClock.EXTRA_LENGTH: Zamanlayıcının uzunluğunu temsil eden 1 ila 86.400 (24 saatteki saniye sayısı) arasında bir tam sayı

Kronometreyi başlat 开始计时 İşlem

com.google.android.wearable.action.STOPWATCH

Bisiklet yolculuğu başlatma veya durdurma 开始骑车 İşlem

vnd.google.fitness.TRACK

MIME türü

vnd.google.fitness.activity/biking

Ek özellikler

actionStatus: Başlangıçta ActiveActionStatus, sonlandırmada CompletedActionStatus değerini içeren bir dize

Koşu başlatma veya durdurma 开始跑步 İşlem

vnd.google.fitness.TRACK

MIME türü

vnd.google.fitness.activity/running

Ek özellikler

actionStatus: Başlangıçta ActiveActionStatus, sonlandırmada CompletedActionStatus değerini içeren bir dize

Antrenman başlatma veya durdurma 开始锻炼 İşlem

vnd.google.fitness.TRACK

MIME türü

vnd.google.fitness.activity/other

Ek özellikler

actionStatus: Başlangıçta ActiveActionStatus, sonlandırmada CompletedActionStatus değerini içeren bir dize

Nabzı gösterme 查看心率 İşlem

vnd.google.fitness.VIEW

MIME türü

vnd.google.fitness.data_type/com.google.heart_rate.bpm

Adım sayısını gösterme 查看步数 İşlem

vnd.google.fitness.VIEW

MIME türü

vnd.google.fitness.data_type/com.google.step_count.cumulative

Navigasyon 导航去三里屯 İşlem

android.intent.action.VIEW

Veri

geo:latitude,longitude?q=融科资讯中心

Sesli Asistan, uygun olduğu durumlarda belirli davranışları tetiklemek için mevcut Android ortak intent'lerini de kullanabilir.

Emülatör desteği

Uygulamalarınızı test etmek için Wear OS emülatör resminin Çin sürümünü kullanabilirsiniz. Bu özellik, Android Studio 3.0 ve sonraki sürümlerde desteklenir.

Uygulamalarınızı emülatörün Çin sürümünde test etmek için aşağıdaki adımları uygulayın:

  1. Android Emulator'u yükleyin.
  2. SDK yöneticisinden Çin için Wear OS resimlerini indirin. Wear OS 3.5 (API düzeyi 30) sürümünü kullanın.
  3. AVD profili oluştururken Çin için Wear OS görüntüsünü seçin.
  4. Geliştirme için Çin için Wear OS emülatörünü çalıştırın.
  5. Şekil 1. Wear OS emülatörünün Çin sürümüne örnekler.

Wear OS emülatörünün bu sürümünde önceden yüklenmiş birkaç uygulama bulunur:

  • Ambiyans modu
  • Kişiler
  • Google El Yazısı Giriş Yöntemi
  • Google Play hizmetleri
  • Wear OS için Sağlık Hizmetleri
  • LE cihazlar için özel kelime tanıma
  • Pinyin
  • Play Store (Çin'deki cihazlara uyarlanmıştır)
  • Cep saati
  • TalkBack
  • Kadranlar (hem analog hem de dijital sürümler)
  • Wear Temel Hizmetleri

Uygulamaya özel Bluetooth ve kablosuz bağlantı kanalı başlatma

Wear OS, ağ isteklerini otomatik olarak yönlendirir. Çoğu durumda, uygulamanın uygulamaya özel bir Bluetooth ve kablosuz ağ kanalı açması gerekmez.

Bir uygulama Çin'de uygulamaya özel Bluetooth ve kablosuz ağ kanalı isterse istek sessizce başarısız olur. Bunun yerine, kullanıcıdan onay isteyen bir iletişim kutusu gösterilir. Kullanıcı onaylarsa kanal açılır. Bu durum yalnızca ilk kullanımda değil, her kullanımda gerçekleşir. BluetoothAdapter.enable() veya WifiManager.setEnabled(true) çağrılır.

Not: Android 10 (API düzeyi 29) veya sonraki sürümleri hedefleyen bir uygulamanın WifiManager.setEnabled() çağrısı yapması için sistem uygulaması veya cihaz politikası denetleyicisi (DPC) olması gerekir.

İzin inceleme modu

Çin'de, Çin için Wear OS cihazları İzin İnceleme Modu'nda çalışır. Bu mod, targetApiLevel değeri 23'ten düşük olan uygulamaların kullanımına bazı sınırlamalar getirir. Aşağıdaki sınırlamaları inceleyin:

  • İzinler yükleme sırasında verilse de targetApiLevel değeri 23'ten düşük olan bir uygulama ilk kez başlatıldığında kullanıcıdan bu uygulamanın izinlerini onaylamasını isteyen bir iletişim kutusu gösterilir.
  • Uygulamadaki yayın alıcıları, hizmetler ve etkinlikler gibi bileşenler, uygulama ilk kez kullanılmadan önce ilgili etkinliklere yanıt vermez.

Bu nedenle, targetApiLevel 23 veya daha yeni bir sürümü kullanmanızı ve uygulama izinleriyle ilgili en iyi uygulamaları uygulamanızı öneririz.

Diğer Google Play Hizmetleri API'lerini kullanma

Uygulamanız, Wearable API dışında Google Play Hizmetleri API'lerini kullanıyorsa bu API'lerin çalışma zamanında kullanılıp kullanılamayacağını kontrol etmesi ve uygun şekilde yanıt vermesi gerekir. Google Play hizmet API'lerinin kullanılabilirliğini kontrol etmenin iki yolu vardır:

  1. Diğer API'lere bağlanmak için ayrı bir GoogleApiClient örneği kullanın. Bu arayüz, uygulamanızı bağlantının başarılı veya başarısız olduğu konusunda uyarmak için geri çağırma yöntemleri içerir. Bağlantı kurulamazsa ConnectionResult API_UNAVAILABLE gösterir. Bağlantı hatalarını nasıl ele alacağınızı öğrenmek için Google API'lerine erişme başlıklı makaleyi inceleyin.
  2. Gerekli API'lere bağlanmak için GoogleApiClient.Builder addApiIfAvailable() yöntemini kullanın. onConnected() geri çağırma işlevi tetiklendikten sonra, istenen API'lerin her birinin doğru şekilde bağlandığından emin olmak için hasConnectedApi() yöntemini kullanın.

Çin'de uygulama dağıtma

Çin için Wear OS kullanıcılarına etkili bir şekilde ulaşmak amacıyla aşağıdakiler gibi üçüncü taraf Wear OS uygulama mağazaları aracılığıyla dağıtım yapabilirsiniz: