· Publishing · 6 menit baca

Menerbitkan listing App Store tanpa fastlane

Menerbitkan listing App Store tanpa fastlane
TL;DR. deliver dan supply milik fastlane mengirim metadata, screenshot, dan binary kamu ke kedua toko dari command line — gratis, open source, dan selalu up to date kalau kamu menghubungkannya ke CI. Konsekuensinya, seseorang harus membangun dan merawat pipeline itu: Ruby, Xcode atau Gradle, sebuah Fastfile, dan perawatan UI test. Kalau kamu tidak mau menjalankan pipeline, jalur tanpa kode-nya adalah web console toko, API toko secara langsung, atau alat yang membuatkan listing untukmu. Mokbi adalah jalur tanpa kode yang benar-benar menerbitkan: ia mendesain screenshot dan feature graphic-mu, menulis dan menerjemahkan seluruh listing ke dalam 50 bahasa, lalu mengirimkannya langsung ke Google Play lewat Play Developer API sambil menyiapkan versi App Store di App Store Connect untuk kamu submit. Tanpa Ruby, tanpa Xcode, tanpa UI test.

fastlane menjadi jawaban default bukan tanpa alasan. Ia adalah toolkit gratis berlisensi MIT, dan action deliver-nya (alias upload_to_app_store) mengunggah screenshot, video preview aplikasi, metadata, dan binary ke App Store Connect dalam satu perintah. Di sisi Android, supply (alias upload_to_play_store) melakukan hal yang sama untuk Google Play — metadata, screenshot, dan APK atau app bundle. Jalankan salah satunya dari CI dan listing-mu akan diregenerasi di setiap rilis, tidak pernah melenceng dari aplikasi.

Jadi pertanyaan yang jujur bukan "apakah fastlane bagus" — memang bagus. Pertanyaannya adalah apakah kamu mau memiliki pipeline yang membuatnya bagus, atau kamu lebih suka memperbarui listing tanpa itu.

Apa yang sebenarnya dilakukan deliver dan supply

Keduanya adalah wrapper di sekitar API resmi toko. Di balik layar, fastlane melakukan panggilan yang sama seperti yang bisa kamu lakukan sendiri.

  • deliver (iOS). Mengunggah nama aplikasi, deskripsi, keyword, catatan rilis, URL, kategori, dan informasi review, plus screenshot dan video preview yang dilokalkan. Binary diunggah lewat iTMSTransporter milik Apple; metadata melalui App Store Connect API. Ia juga bisa langsung submit untuk review setelah upload.
  • supply (Android). Mengunggah metadata, screenshot, dan APK atau AAB ke Google Play, memilih track dan mempromosikan build. Perhatikan sisi tajamnya: screenshot yang diunggah akan menggantikan yang sudah ada untuk suatu locale, bukan menambahkannya.

Keduanya melakukan autentikasi dengan API key — API key App Store Connect untuk Apple, JSON service account untuk Google — jadi setelah dikonfigurasi keduanya berjalan tanpa pengawasan di CI. Itulah daya tariknya: metadata dan screenshot sebagai kode, ter-versi di repo-mu, terkirim di setiap build.

Biaya sebenarnya dari fastlane

fastlane gratis untuk dipasang dan gratis untuk dijalankan. Biayanya ada pada setup dan perawatannya, dan itu dibayar dengan waktu engineering.

  • Runtime yang harus dirawat. fastlane adalah toolchain Ruby (Ruby 3.0+), biasanya dikelola dengan Bundler. Pekerjaan iOS butuh Xcode di Mac; Android butuh sisi Gradle. Itu mesin nyata yang harus dipasang dan tetap ter-patch.
  • File konfigurasi yang harus ditulis. Sebuah Fastfile mendefinisikan lane-mu; sebuah Deliverfile atau folder metadata Android menyimpan detail listing. Membuat versi pertama yang berfungsi dengan benar biasanya butuh satu-dua hari.
  • CI yang harus disiapkan. Otomatisasi ini hanya terbayar di dalam sebuah pipeline, yang berarti API key, secret signing, dan build runner yang dikonfigurasi dan tetap hijau.
  • Perawatan capture screenshot, kalau kamu memakainya. snapshot milik fastlane menjalankan UI test di simulator untuk menangkap screenshot per locale. Test itu rapuh: laporan umum menyebutkan setup berjalan lancar selama beberapa bulan, lalu perubahan UI merusak alurnya dan kode test harus dinavigasi ulang ke state yang baru. snapshot secara default mencoba ulang run yang tidak stabil, yang menutupi ketidakpastian akibat jaringan dan data alih-alih memperbaikinya. Dan output mentahnya tidak punya caption atau background — tim sering kali tetap menyelesaikan desainnya di alat terpisah.

Ini bukan kritik terhadap alatnya. Ini pertukaran yang jujur: fastlane mengubah pekerjaan manual yang berulang menjadi kode, dan sebagai imbalannya kamu merawat kode itu. Untuk tim yang merilis mingguan dengan engineer yang memegang otomatisasi rilis, itu kesepakatan yang bagus. Untuk maker solo atau PM yang memperbarui listing beberapa kali setahun, pipeline itu bisa lebih mahal untuk dirawat daripada yang dihematnya.

Memperbarui listing tanpa fastlane

Kalau kamu melewatkan fastlane, kamu masih punya tiga cara untuk memasukkan metadata dan screenshot ke toko.

1. Web console toko

Jalur paling sederhana. Di App Store Connect kamu mengedit tiap lokalisasi secara manual dan menaruh screenshot ke slot ukuran tampilan; di Google Play Console kamu mengedit listing per bahasa dan mengunggah screenshot di sana. Tanpa kode, tanpa key, tidak ada yang perlu dirawat — kamu tinggal klik-klik. Kekurangannya, ini sepenuhnya manual, dan melakukannya di banyak locale satu layar demi satu layar itu lambat dan rawan salah. Cocok untuk satu-dua bahasa; menyiksa untuk 20.

2. API toko, secara langsung

Kedua toko mengekspos API yang sama yang dipanggil fastlane, jadi kamu bisa membuat skrip terhadapnya tanpa mengadopsi stack Ruby milik fastlane. App Store Connect API milik Apple adalah REST API yang diautentikasi dengan JWT berumur pendek (ES256, ditandatangani dengan key-mu), dengan endpoint untuk membuat set screenshot, memesan dan mengunggah byte gambar, serta menambal metadata. Play Developer API milik Google memakai model "edits" — kamu membuka sebuah edit, mengubah listing dan gambar, lalu meng-commit-nya. Ini memberimu kendali penuh dan cocok untuk dashboard internal kustom, tapi kamu sekarang menulis dan merawat integrasi itu sendiri. Ini komitmen yang lebih kecil dari pipeline fastlane penuh, bukan nol.

3. Alat terkelola yang membuatkan listing

Jalur tanpa kode lainnya adalah alat yang menghasilkan listing untukmu, jadi yang tersisa cuma memasukkannya ke toko. Di sinilah trade-off-nya terbalik: alih-alih seorang engineer yang memegang pipeline, seorang PM atau desainer memegang listing langsung di browser. Kamu menukar otomatisasi CI dengan tidak perlu engineer sama sekali.

Di mana Mokbi cocok — secara jujur

Mokbi tidak berusaha menggantikan cerita CI milik fastlane. Kalau tujuanmu adalah screenshot yang diregenerasi dari setiap build tanpa campur tangan manusia, pipeline fastlane adalah alat yang tepat dan itu gratis. Kami ada untuk kasus lain: orang yang mau menerbitkan listing yang rapi tanpa menyentuh Ruby, Xcode, Fastfile, atau UI test.

Di browser kamu mendesain screenshot, menyusun teks toko, dan menerjemahkan seluruh listing ke dalam 50 bahasa — tanpa simulator, tanpa CI, tanpa kode. Seorang desainer atau PM bisa memegang seluruh permukaan pemasaran dari ujung ke ujung.

Inilah tahap terakhir, dan Mokbi mencakupnya. Ia mendesain screenshot dan feature graphic, menulis dan menerjemahkan seluruh listing ke dalam 50 bahasa, lalu mengirim hasilnya langsung ke Google Play lewat Play Developer API dan menyiapkan versi App Store di App Store Connect, siap untuk kamu klik Submit — Apple mengharuskan Submit terakhir dan reviewnya sendiri, itu aturan Apple, bukan celah di pihak kami. Endpoint yang sama dengan yang dipanggil fastlane, minus pipeline-nya.

Kapan memilih yang mana

  • Rilis mingguan, punya engineer, mau nol penyimpangan? fastlane. Gratis, otomatis, dan menjaga screenshot serta metadata selalu selaras dengan aplikasi. Tidak ada yang mengalahkan itu.
  • Memperbarui listing beberapa kali setahun, tidak punya CI ekstra? Web console, atau alat yang membuatkan listing. Perawatan pipeline tidak sepadan pada kadensi itu.
  • Butuh kendali programatik tapi tidak mau stack fastlane? Panggil langsung App Store Connect API dan Play Developer API.
  • Mau seorang desainer atau PM memegang listing di banyak bahasa? Susun, terjemahkan, dan terbitkan dari browser — Mokbi mengirim ke Google Play dan menyiapkan versi App Store yang siap kamu submit.

fastlane pantas mendapat tempatnya sebagai pemain lama yang gratis dan otomatis. Jalur tanpa kode bukan "lebih baik" — itu pertukaran yang berbeda: kamu melepas otomatisasi CI, dan sebagai gantinya tidak ada yang harus membangun atau menunggui pipeline untuk memperbarui listing.

Bacaan selanjutnya

Buka editor →