Mengemas dan mendistribusikan aplikasi Wear

Dengan Wear OS by Google, pengguna dapat membuka Play Store di jam tangan dan mendownload aplikasi Wear langsung dari jam tangan. Selain itu, pengguna dapat menginstal aplikasi langsung ke jam tangan melalui Play Store web.

Semua perangkat yang menjalankan Wear 2.0 menggunakan Android 7.1.1 (API level 25). Jika aplikasi Anda hanya mendukung perangkat yang menjalankan Wear 2.0 atau lebih tinggi, level API minimum dan target haruslah 25. Jika aplikasi Anda mendukung Wear 1.x dan juga 2.0, level API minimum dan target bisa 23. Semua aplikasi Wear harus menargetkan API level 23 atau lebih tinggi, sehingga izin runtime diperlukan.

Lihat juga Aplikasi Mandiri.

Jika aplikasi Wear 2.0 memiliki aplikasi pendamping, Anda harus menggunakan kunci yang sama untuk menandatangani kedua aplikasi tersebut. Persyaratan ini juga berlaku untuk aplikasi Wear 1.x (yang selalu memiliki aplikasi pendamping).

Merencanakan kemunculan aplikasi Anda di Play Store

Agar aplikasi Anda muncul di Play Store pada jam tangan, upload APK jam tangan di Konsol Play seperti yang Anda lakukan dengan APK lainnya. Jika hanya memiliki APK jam tangan, dan tidak memiliki APK ponsel, Anda tidak perlu melakukan langkah lainnya.

Jika Anda memiliki APK ponsel selain APK jam, Anda harus menggunakan Metode pengiriman multi-APK.

Mendistribusikan aplikasi ke jam tangan Wear 2.0

Pada perangkat yang menjalankan Wear 2.0, saat pengguna menginstal aplikasi ponsel yang memiliki aplikasi jam tangan terkait (entah itu APK tersemat atau APK yang diupload melalui Konsol Play), pengguna akan mendapatkan notifikasi di jam tangan tentang aplikasi jam tangan yang tersedia. Mengetuk notifikasi ini akan membuka Play Store di jam tangan, yang memberikan opsi untuk menginstal aplikasi jam tangan.

Selain itu:

  • Jika Anda mengupdate APK ponsel dengan APK jam tangan tersemat yang baru, APK jam tangan pengguna akan otomatis diupdate.
  • Jika Anda mengupload APK jam tangan melalui Konsol Play, Anda dapat mengupdate APK jam tangan secara independen dari APK ponsel, dan pengguna akan menerima update melalui Play Store di jam tangan.
  • Untuk APK jam tangan tersemat, APK jam tangan pengguna akan diupdate secara otomatis jika APK ponsel diupdate. Dalam kasus multi-APK, perilaku update bergantung pada setelan Play Store (Update aplikasi secara otomatis). Sebaiknya jangan gunakan APK tersemat bersama dengan multi-APK untuk aplikasi Anda jika versi keduanya tidak sama. Misalkan Anda memiliki APK tersemat v1, dan multi-APK v2. Jika APK tersemat diinstal lebih dahulu, versi multi-APK akan menggantikan APK tersemat karena multi-APK memiliki versi yang lebih tinggi. Kemudian, jika developer mengupdate APK ponsel ke v3, APK tersemat akan otomatis diinstal, menggantikan versi lebih tinggi yang dikirimkan melalui multi-APK.

Mendistribusikan aplikasi ke jam tangan Wear 1.x dan 2.0

Model distribusi standar untuk Wear 1.x menyematkan aplikasi jam tangan di dalam aplikasi ponsel. Wear OS kini memungkinkan Anda untuk mendistribusikan aplikasi Wear dengan cara yang sama baik untuk Wear 1.0 maupun 2.0. Saat pengguna menginstal aplikasi ponsel Anda, aplikasi tersebut juga akan otomatis diinstal di jam tangan Wear 1.0 jika Anda menyediakan aplikasi Wear yang kompatibel di Play Store. Dengan fitur ini Anda dapat menghentikan penyematan aplikasi Wear di dalam APK aplikasi ponsel. Anda dapat menyediakan APK jam tangan versi mandiri di Play Store untuk jam tangan Wear 1.0 dan Wear 2.0.

Menentukan kode versi

Untuk memastikan bahwa APK mandiri mengupgrade APK Wear tersemat yang ada pada jam tangan, secara umum kode versi APK Wear mandiri harus lebih tinggi daripada kode versi APK Wear tersemat. (Skema kode versi APK ponsel boleh terpisah dari kode versi APK jam tangan, tetapi harus unik). Namun, kode versi APK mandiri dan APK Wear tersemat boleh sama jika kedua APK tersebut setara.

Jika kedua APK tidak setara tetapi memiliki kode versi yang sama, maka saat jam tangan diupdate dari Wear 1.x ke 2.0, jam tangan tersebut bisa mendapatkan APK baru tetapi harus menunggu lebih lama daripada yang diperkirakan.

Saat ini, pembuatan APK tunggal yang berfungsi baik di ponsel maupun di jam tangan tidak dimungkinkan.

Jika APK Wear dan APK pendamping menggunakan kode yang sama dan memerlukan rilis terkoordinasi, Anda harus mencadangkan dua digit terakhir kode versi untuk varian APK. Contoh varian APK adalah arsitektur CPU. Sebagai contoh, lihat Mendukung beberapa arsitektur CPU.

Berikut adalah skema kode versi yang disarankan:

  • Tetapkan dua digit pertama kode versi ke targetSdkVersion, misalnya 25
  • Tetapkan tiga digit berikutnya ke versi produk, misalnya 152 untuk versi produk 1.5.2
  • Tetapkan dua digit berikutnya ke nomor build atau rilis, misalnya 01
  • Cadangkan dua digit terakhir untuk varian multi-APK, misalnya 00

Jika nilai contoh (25, 152, 01, dan 00) dalam skema kode versi yang disarankan di atas digunakan, maka kode versi untuk varian APK contoh adalah 251520100.

Lihat juga Menetapkan Informasi Versi Aplikasi.

Dukungan dalam file Gradle

Jika Anda memiliki aplikasi Wear yang ditujukan untuk Wear 1.x dan juga Wear 2.0, pertimbangkan untuk menggunakan ragam produk. Misalnya, jika Anda ingin menargetkan SDK versi 23 dan versi 25, update file build.gradle pada modul Wear Anda untuk menyertakan baris berikut jika aplikasi Wear 1.x yang ada memiliki versi SDK minimum 23:

    android {
        // Allows you to reference product flavors in your
        // phone module's build.gradle file
        publishNonDefault true
        ...
        defaultConfig
        {
           // This is the minSdkVersion of the Wear 1.x app
           minSdkVersion 23
           ...
        }
        buildTypes {...}
        productFlavors {
            wear1 {
              // Use the defaultConfig value
            }
            wear2 {
                minSdkVersion 25
            }
        }
    }
    

Varian build adalah kombinasi dari ragam produk dan jenis build. Di Android Studio, pilih varian build yang sesuai saat menjalankan proses debug atau memublikasikan aplikasi. Misalnya, jika wear2 adalah ragam produk, pilih wear2Release sebagai varian build rilis.

Untuk keperluan kode yang khusus Wear 2.0 atau khusus Wear 1.x, pertimbangkan untuk menyediakan set untuk varian build.

Memigrasikan APK Wear 1.0 dari tersemat ke Multi-APK

Catatan: Karena adanya masalah latensi yang memengaruhi ketersediaan aplikasi pada jam tangan Wear 1.x, Anda dapat menyematkan APK Wear bukannya menggunakan metode pengiriman Multi-APK (untuk jam tangan Wear 1.x).

Sebelumnya, APK Wear 1.0 disematkan dalam APK ponsel untuk mendistribusikan aplikasi wearable ke pengguna. Sekarang, Wear OS memungkinkan Anda mengupload APK Wear 1.0 langsung ke Play Store, bukan menyematkannya. Cara ini membantu mengurangi ukuran APK ponsel dan memberikan fleksibilitas yang lebih besar dalam pembuatan versi dan merilis APK. Jika Anda sudah memiliki APK Wear 1.0 tersemat, Anda dapat mengikuti langkah-langkah di bawah untuk mengonfigurasi, membuat, dan mengupload APK ke Play Store:

  1. Tambahkan setelan wearAppUnbundled true ke file build.gradle pada modul ponsel Anda. Langkah ini hanya diperlukan jika sebelumnya Anda memublikasikan aplikasi Wear tersemat di Play Store.
  2.     android {
          ...
          defaultConfig {
            ...
            wearAppUnbundled true
          }
        }
        
  3. Hapus aturan dependensi wearApp berikut dari file build.gradle aplikasi ponsel Anda:
  4.     dependencies {
            ...
            wearApp project(path: ':wear', configuration: 'wear1Release')
        }
        
  5. Pastikan bahwa pembatasan fitur berikut telah ditentukan dalam file manifes aplikasi Wear Anda:
  6.     <manifest package="com.example.standalone"
            xmlns:android="http://schemas.android.com/apk/res/android">
            <uses-feature
                android:name="android.hardware.type.watch"/>
            ...
        </manifest>
        
  7. Tetapkan versi SDK minimum ke 23 dalam file build.gradle modul Wear Anda.
  8. Jika diinginkan, tentukan aplikasi Wear Anda sebagai aplikasi mandiri, setelah meninjau halaman Aplikasi Mandiri.
  9. Buat APK Wear dan gunakan Konsol Google Play untuk menerapkannya.

Untuk versi SDK minimum aplikasi Wear Anda, pertimbangkan hal berikut:

  • Jika Anda memiliki APK yang berbeda untuk Wear 1.0 dan Wear 2.0, pastikan untuk menetapkan versi SDK minimum yang lebih tinggi, yaitu 25, dalam file build.gradle modul Wear 2.0. Dengan begitu Play Store akan mendistribusikan APK Wear 2.0 hanya ke perangkat Wear 2.0, bukan ke perangkat Wear 1.0.
  • Jika Anda sudah memiliki aplikasi Wear 2.0 dan ingin mendistribusikannya ke perangkat Wear 1.0, Anda harus memastikan bahwa aplikasi tersebut berfungsi dengan baik di perangkat Wear 1.0 sebelum menetapkan versi SDK minimumnya ke 23.

Menyiapkan penargetan untuk jam tangan

Dalam file manifes Android, Anda harus menetapkan elemen uses-feature ke android.hardware.type.watch. Selain itu, jangan menetapkan atribut required ke false. APK tunggal untuk perangkat Wear dan bukan Wear saat ini belum didukung.

Dengan demikian, jika APK memiliki setelan berikut, Google Play akan menyediakan APK untuk jam tangan saja:

    <manifest package="com.example.standalone"
        xmlns:android="http://schemas.android.com/apk/res/android">
        <uses-feature
            android:name="android.hardware.type.watch"/>
        ...
    </manifest>
    

Setelan android.hardware.type.watch di atas dapat dikombinasikan dengan kriteria lain seperti versi SDK, resolusi layar, dan arsitektur CPU. Karena itu, APK Wear yang berbeda dapat menargetkan konfigurasi hardware yang berbeda pula.

Menentukan aplikasi sebagai mandiri

Wear 2.0 memerlukan elemen meta-data dalam file manifes Android aplikasi jam tangan, sebagai turunan dari elemen <application>. Nama elemen meta-data ini adalah com.google.android.wearable.standalone dan harus bernilai true atau false. Elemen ini menunjukkan apakah aplikasi jam Anda termasuk aplikasi mandiri atau tidak. Jika elemen tersebut ditetapkan ke true, aplikasi Anda dapat disediakan di Play Store pada jam tangan yang tersambung ke iPhone, asalkan APK aktif Anda di semua saluran (misalnya dalam saluran beta) menetapkan elemen ini ke true. Jika tidak semua APK Anda (alfa, beta, dan produksi) yang saat ini ditayangkan kepada pengguna memiliki setelan di atas, aplikasi Anda tidak akan tersedia saat pengguna melakukan penelusuran di jam tangan yang tersambung ke iPhone.

Aplikasi jam dapat dianggap mandiri, dapat juga tidak. Aplikasi jam dapat dikategorikan sebagai salah satu dari berikut ini:

  • Sepenuhnya independen dari aplikasi ponsel
  • Semi-independen (aplikasi ponsel tidak diperlukan dan hanya menyediakan fitur opsional)
  • Bergantung pada aplikasi ponsel

Jika aplikasi jam tangan sepenuhnya independen atau semi-independen, tetapkan nilai elemen meta-data baru ke true:

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

Karena aplikasi mandiri (yaitu aplikasi independen atau semi-independen) dapat diinstal oleh pengguna iPhone atau pengguna ponsel Android yang tidak memiliki Play Store, aplikasi jam tangan bisa digunakan tanpa aplikasi ponsel Android.

Jika aplikasi jam tangan bergantung pada aplikasi ponsel, tetapkan nilai elemen meta-data di atas ke false. Menetapkan elemen ini ke false menandakan bahwa aplikasi jam tangan sebaiknya hanya diinstal di jam tangan yang tersambung ke ponsel yang memiliki Play Store.

Catatan: Sekalipun nilainya false, aplikasi jam dapat diinstal sebelum aplikasi ponsel diinstal.

Jika aplikasi Wear 2.0 Anda memiliki aplikasi pendamping di ponsel, gunakan nama paket yang sama untuk aplikasi Wear dan aplikasi ponsel.

Menggunakan Konsol Play

Anda dapat menggunakan Konsol Play untuk mengupload APK Wear mandiri ke listing aplikasi.

Lihat juga Dukungan Multi-APK dan Mengelola Aplikasi Anda. Sebelum mengupload APK seperti yang dijelaskan di bawah, APK harus ditandatangani terlebih dahulu.

Mengupload dan memublikasikan APK

Untuk mengupload dan memublikasikan APK menggunakan Konsol Play:

  1. Buka Konsol Developer Play.
  2. Dari menu sebelah kiri, pilih Pengelolaan rilis > Rilis aplikasi.

    Catatan: Jika APK masih dalam mode draf, pilih Rilis aplikasi langsung dari menu sebelah kiri.

  3. Di samping jenis rilis (produksi, alfa, atau beta) yang ingin dibuat, pilih Kelola
  4. Untuk membuat rilis baru, pilih Buat rilis.
  5. Pilih Tambahkan APK dari koleksi untuk menambahkan APK mandiri Anda. Atau, tarik lalu lepas file APK Anda atau pilih Jelajahi File.
  6. Jika sudah selesai menyiapkan rilis, pilih Tinjau. Layar "Tinjau dan luncurkan rilis" akan ditampilkan. Di sini, Anda dapat menggunakan ikon info untuk meninjau detail APK, seperti jumlah perangkat Android yang didukung. Pastikan juga bahwa Anda telah menetapkan fitur hardware ke android.hardware.type.Watch.
  7. Pilih Konfirmasi peluncuran untuk memublikasikan aplikasi Anda.

Menyematkan APK Wear 1.x

Proses yang dijelaskan di bagian ini disediakan sebagai referensi. Jika APK Wear 1.x dikemas dalam APK aplikasi ponsel, sistem akan mengirimkan aplikasi Wear ke jam tangan yang tersambung saat pengguna mendownload aplikasi ponsel.

Catatan: Fitur ini tidak berfungsi jika Anda menandatangani aplikasi dengan kunci debug. Selama proses pengembangan, aplikasi harus diinstal langsung ke jam tangan melalui adb install atau Android Studio.

Mengemas aplikasi Wear 1.x dengan Android Studio

Catatan: Karena adanya masalah latensi yang memengaruhi ketersediaan aplikasi pada jam tangan Wear 1.x, Anda dapat menyematkan APK Wear bukannya menggunakan metode pengiriman Multi-APK (untuk jam tangan Wear 1.x).

Untuk mengemas aplikasi Wear 1.x di Android Studio:

  1. Pastikan baik modul aplikasi ponsel maupun jam tangan memiliki nama paket yang sama.
  2. Deklarasikan dependensi Gradle dalam file build.gradle aplikasi ponsel yang mengarah ke modul aplikasi jam tangan. Deklarasi tersebut akan mirip dengan berikut ini, tetapi lihat Menyiapkan Layanan Google Play dan Library compat v4 untuk mengetahui versi terbarunya:
        dependencies {
           compile 'com.google.android.gms:play-services-wearable:10.0.1'
           compile 'com.android.support:support-compat:25.1.0'
           wearApp project(':wearable')
        }
        
  3. Ikuti petunjuk di Menandatangani build rilis untuk menentukan keystore rilis dan menandatangani aplikasi Anda. Android Studio mengekspor (ke dalam folder root project Anda) aplikasi ponsel yang telah ditandatangani yang mencakup aplikasi jam tangan tersemat.

    Cara lainnya, tanda tangani kedua aplikasi dari command line menggunakan Gradle wrapper. Kedua aplikasi harus ditandatangani agar aplikasi jam dapat dikirim otomatis. Lihat Menandatangani Aplikasi.

Menandatangani aplikasi Wear 1.x dan aplikasi ponsel secara terpisah

Jika proses build mengharuskan Anda untuk menandatangani aplikasi jam tangan dan aplikasi ponsel secara terpisah, Anda dapat mendeklarasikan aturan Gradle berikut dalam file build.gradle modul ponsel untuk menyematkan aplikasi jam yang telah ditandatangani:

    dependencies {
      ...
      wearApp files('/path/to/wearable_app.apk')
    }
    

Selanjutnya, tanda tangani aplikasi ponsel sesuai yang diinginkan (dengan item menu Android Studio Build > Buat APK yang Ditandatangani... atau dengan aturan signingConfig Gradle).

Mengemas aplikasi Wear 1.x secara manual

Jika menggunakan IDE lain atau metode pembuatan build yang berbeda, Anda dapat mengemas aplikasi jam tangan ke dalam aplikasi ponsel secara manual:

  1. Pastikan APK seluler dan jam tangan memiliki nama paket dan nomor versi yang sama.
  2. Salin aplikasi jam tangan yang telah ditandatangani ke direktori res/raw pada project ponsel Anda. Kita namai APK ini sebagai wearable_app.apk.
  3. Buat file res/xml/wearable_app_desc.xml yang berisi informasi lokasi dan versi untuk aplikasi jam tangan. Contoh:
        <wearableApp package="wearable.app.package.name">
          <versionCode>1</versionCode>
          <versionName>1.0</versionName>
          <rawPathResId>wearable_app</rawPathResId>
        
        </wearableApp>
        

    package, versionCode, dan versionName memiliki nilai yang sama dengan nilai dalam file manifes aplikasi jam tangan. rawPathResId adalah nama variabel statis resource APK. Misalnya, untuk wearable_app.apk, nama variabel statisnya adalah wearable_app.

  4. Tambahkan tag meta-data ke tag <application> pada aplikasi ponsel Anda untuk menunjukkan file wearable_app_desc.xml.
          <meta-data android:name="com.google.android.wearable.beta.app"
                         android:resource="@xml/wearable_app_desc"/>
        

    Catatan: Tag meta-data di atas tidak boleh diubah. com.google.android.wearable.beta.app harus ada.

  5. Buat dan tanda tangani aplikasi ponsel.

Menonaktifkan kompresi aset

Android Studio tidak mengompresi APK Anda secara default, tetapi jika Anda menggunakan proses build lain, pastikan aplikasi jam tangan Anda tidak dikompresi dua kali. Ada banyak fitur build yang otomatis mengompresi file yang ditambahkan ke direktori res/raw aplikasi Android. Karena APK jam tangan sudah di-zip, terjadilah kompresi ganda. Akibatnya, installer aplikasi jam tangan tidak dapat membaca aplikasi tersebut, proses instal gagal, dan PackageUpdateService menampilkan pesan error berikut: "File ini tidak dapat dibuka sebagai deskriptor file; file ini mungkin telah dikompresi."