Ditulis oleh Tom Greenaway, Senior Partner Developer Advocate

Tahun lalu kami mengumumkan bahwa mulai bulan Agustus 2018, Google Play mengharuskan semua aplikasi dan game baru

Ditulis oleh Tom Greenaway, Senior Partner Developer Advocate

Tahun lalu kami mengumumkan bahwa mulai bulan Agustus 2018, Google Play mengharuskan semua aplikasi dan game baru menargetkan API level Android terbaru – disetel ke API level 26 (Android 8.0 Oreo), atau lebih tinggi. Selain itu, persyaratan ini akan diperluas untuk update bagi aplikasi dan game yang sudah ada mulai bulan November 2018.
Setiap versi Android baru memperkenalkan perubahan yang membawa peningkatan keamanan dan kinerja yang signifikan – dan meningkatkan pengalaman pengguna Android secara keseluruhan. Mengupdate game sehingga menargetkan API level terbaru akan memastikan pengguna bisa memperoleh keuntungan dari semua peningkatan ini, selagi tetap memungkinkan game Anda berjalan pada versi Android lama.
Langkah mudah berikutnya:
  • Instal Android 8.0 Oreo SDK (API level 26) melalui Android Studio dengan membuka (Tools > Android > SDK Manager > Android SDK > SDK Platforms).
  • Update game Anda sehingga menargetkan API level 26 dan lihat apakah game Anda mengalami inkompatibilitas atau masalah sesegera mungkin. Update setiap dependensi eksternal seperlunya. Pelajari lebih lanjut tentang perubahan bertahap antara masing-masing versi Android di sini.
  • Bila Anda menggunakan jaringan pemberitahuan, SDK atau plugin yang tidak kompatibel dengan API level 26, hubungi kontak Anda dan ketahui timeline-nya untuk mendukung API level 26 target. Semakin cepat mereka menyadari perubahan ini, semakin baik.
  • Bila Anda mem-build game dengan Unity, dukungan untuk API 26 target di-build ke dalam Unity 5.6.6 dan seterusnya. Cukup pastikan API level target terbaru dipilih di setelan build Android Anda untuk Unity (Build Settings > Android > Player Settings). Untuk versi Unity 5.6.5 dan sebelumnya, baca dokumentasi ini yang menyertakan solusi sampai versi 4.3.
  • Untuk game yang di-build dengan Unreal, pastikan setelan platform Android Anda memiliki "Target SDK Version" yang disetel ke 26.
  • Bila Anda menggunakan Cocos2D-X, periksa API level target dalam file gradle.properties yang dihasilkan.
Perubahan signifikan yang harus diperhatikan:
  • Sejak API 23, kami mewajibkan izin yang diperlukan diminta saat runtime yang membantu menyederhanakan proses penginstalan aplikasi.
  • Sejak API 24, aplikasi tidak lagi bisa terhubung secara dinamis dengan library non-NDK. Bila aplikasi Anda (termasuk library statis pihak ketiga) berisi kode bawaan, Anda sebaiknya hanya menggunakan API NDK publik.
  • Bila game Anda menggunakan notifikasi push Android, Google Play Services SDK dalam game Anda harus diupdate ke versi 10.2.1 atau di atasnya agar game mendukung API level 26.
  • Bila game Anda menggunakan opaque binary blobs (OBB), maka game Anda harus mengecek apakah ia bisa mengakses direktori sebelum mencoba mengakses file OBB. Kami sarankan untuk secara eksplisit meminta izin akses menggunakan Runtime Permissions API, dan melakukan pengaduan dengan apik ketika izin tidak diberikan. Sebagai tambahan, tambahkan sebuah entri di manifes untuk akses penyimpanan eksternal:
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Bergerak ke depan
Ingatlah, mengupdate API level target hanyalah langkah pertama – pastikan game Anda kompatibel dengan perubahan perilaku antara API level target Anda saat ini dan API level 26. Lihat panduan lebih lanjut tentang perubahan dalam versi Android sebelumnya untuk membantu proses migrasi Anda. Perubahan kebijakan ini penting untuk menggerakkan ekosistem Android ke depan dan menjaganya agar tetap sehat bagi pengguna kami – dan Anda.



Dengan DoubleClick for Publishers menjadi Google Ad Manager, API akan mengalami perubahan untuk mengikutinya. Selama bulan depan, akan ada perubahan pada dokumentasi dan library klien kami, tetapi belum ada entitas API yang berubah.

Dokumentasi

Pada akhir Juli, referensi ke "DFP" akan menjadi “Google Ad Manager” atau hanya “Ad Manager”. Selain itu, URL dokumentasi akan berubah dari https://developers.google.com/doubleclick-publishers/ ke https://developers.google.com/ad-manager/.

Kami akan mendukung pengalihan ke semua halaman dokumentasi. Misalnya, jika Anda memiliki bookmark untuk ReportService, Anda tidak perlu melakukan apa pun agar bookmark ini tetap berfungsi.

Library Klien

Setiap library klien kami akan diupdate untuk menghapus referensi ke DFP di rilis v201808, yang saat ini dijadwalkan pada 14 Agustus 2018. Misalnya, di library klien Java, class DfpServices akan diganti namanya menjadi AdManagerServices.

Setiap library klien akan memiliki panduannya sendiri mengenai apa yang perlu diupdate. Di entri blog pengumuman untuk v201808, kami akan menautkan ke panduan ini. Perlu diingat bahwa Anda hanya perlu mengoptimalkan kode setelah melakukan upgrade ke v201808 dan seterusnya, jadi menggunakan nama DFP masih akan didukung oleh beberapa versi library klien hingga Agustus 2019.


Seperti biasa, jika Anda memiliki pertanyaan atau saran, silakan hubungi kami di forum.



Saya menggunakan Google Home setiap saat untuk memeriksa cuaca sebelum meninggalkan rumah, mengatur alarm, mendengarkan musik, tetapi saya tidak pernah mempertimbangkan untuk menulis aplikasi bagi Google Home. Apa yang dibutuhkan untuk menulis sebuah aplikasi bagi asisten Google Home? Dan bisakah kita membuatnya lebih pintar dengan memanfaatkan Google Cloud? Itu adalah pertanyaan yang rekan saya ...


Saya menggunakan Google Home setiap saat untuk memeriksa cuaca sebelum meninggalkan rumah, mengatur alarm, mendengarkan musik, tetapi saya tidak pernah mempertimbangkan untuk menulis aplikasi bagi Google Home. Apa yang dibutuhkan untuk menulis sebuah aplikasi bagi asisten Google Home? Dan bisakah kita membuatnya lebih pintar dengan memanfaatkan Google Cloud? Itu adalah pertanyaan yang rekan saya Chris Bacon, dan saya pikirkan ketika kami memutuskan untuk mem-build demo bagi ceramah konferensi.

Naluri awal saya adalah bahwa mem-build aplikasi untuk Google Home akan cukup rumit. Lagi pula, kita berbicara tentang manusia nyata yang berbicara dengan perangkat yang memicu beberapa layanan berjalan di cloud. Ada banyak detail yang harus diperhitungkan dan banyak hal yang berpotensi bisa berjalan ke arah yang salah.

Ternyata, ini jauh lebih mudah daripada yang saya pikir dan sangat menyenangkan juga. Dalam postingan ini, saya ingin memberi Anda sekilas tentang apa yang kami build. Bila Anda ingin menyiapkan dan menjalankan demo ini sendiri, petunjuk dan kodenya dihosting di GitHub.

Ringkasan

Tujuan utama kami dengan aplikasi ini adalah untuk menampilkan library .NET Google Cloud dengan cara yang menyenangkan dan menarik sembari menyoroti kekuatan unik Google. Setelah melakukan brainstorming, kami memutuskan untuk mem-build aplikasi berbasis suara menggunakan Dialogflow, di mana kami menanyakan beberapa pertanyaan acak dan membiarkan Google Home menjawab dengan memanfaatkan kekuatan cloud.

Di aplikasi kami, Anda bisa meminta Google Home untuk menelusuri gambar kota. Setelah menemukan gambarnya, mereka akan ditampilkan di frontend web. Anda bisa memilih sebuah gambar dan mengajukan lebih banyak pertanyaan seperti “Can you describe the image?” atau “Does the image contain landmarks?” Anda juga bisa mengajukan pertanyaan tentang suhu global seperti “What was the hottest temperature in France in 2015?” Atau tentang Hacker News, misalnya “What was the top Hacker News story on May 1, 2018?” Sebuah gambar bernilai seribu kata. Beginilah bagaimana aplikasi terlihat di tingkat tinggi.

Pertama kali, perintah suara direkam oleh perangkat Google Home dan diteruskan ke Asisten Google. Kami menggunakan Dialogflow untuk menangani masukan ke Asisten Google. Beberapa masukan ditangani secara langsung di Dialogflow dan beberapa diteruskan ke webhook eksternal yang telah ditetapkan sebelumnya (dalam hal ini, endpoint HTTPS yang berjalan di Google Cloud).

Saya juga harus menyebutkan bahwa aplikasi ini bekerja di mana pun selama Asisten Google didukung dan Anda login di akun Google yang sama seperti ketika Anda membuat aplikasi Dialogflow. Bila Anda tidak memiliki Google Home, Anda bisa menggunakan ponsel yang mendukung Asisten Google untuk berinteraksi dengan aplikasi.

Mari kita lihat penerapannya secara lebih detail.

Dialogflow

Dialogflow adalah platform developer untuk mem-build pengalaman percakapan yang alami dan kaya. Ketika kami mulai memikirkan implementasi ini, kami dengan cepat menyadari bahwa Dialogflow akan menjadi titik awal yang baik untuk bagian aplikasi yang dikendalikan oleh suara. Ada beberapa edisi Dialogflow (standar dan enterprise) dengan batasan dan SLA yang berbeda. Untuk demo kami, edisi standar lebih dari cukup.

Anda mulai dengan membuat agent bagi aplikasi Anda di konsol Dialogflow. Di dalam agent, Anda membuat intent. Intent merepresentasikan mapping antara yang dikatakan pengguna dan aksi yang harus dilakukan oleh aplikasi Anda. Anda tidak perlu mencantumkan semua frasa yang bisa memicu intent tertentu. Sebagai gantinya, Anda menyediakan beberapa frasa training dan Dialogflow akan menggunakan machine learning untuk mempelajari frasa yang diharapkan. Ia juga bisa mengambil entity dari frasa tersebut seperti nama kota atau tanggal. Bila aplikasi membutuhkan sebuah entity, Dialogflow akan memastikan bahwa pengguna menyediakannya. Semua fitur kecil ini sangat mempermudah pekerjaan dalam membuat aplikasi percakapan.

Beberapa intent bisa ditangani secara langsung dalam Dialogflow; cukup sediakan respons teks yang perlu dikatakan Dialogflow. Di aplikasi kami, Anda bisa mengucapkan “Say hi to everyone,” yang akan ditanggapi langsung Dialogflow dengan respons sederhana.

Anda juga bisa mengaktifkan endpoint eksternal untuk menangani intent melalui webhook. Ketika intent terpicu, Dialogflow meneruskan permintaan ke endpoint yang ditentukan. Satu-satunya persyaratan adalah bahwa endpoint mendukung HTTPS. Di sinilah kekuatan cloud masuk. Di aplikasi kami, kami menjadi host sebuah endpoint di Google Cloud untuk menangani pertanyaan yang lebih rumit tentang gambar atau suhu global.

ASP.NET Core di App Engine (Flex)

Untuk endpoint, kami memutuskan untuk menjadi host apl web ASP.NET Core yang ter-container di Google Cloud Platform (GCP). Karena ini adalah container yang berjalan di Linux (ya, .NET berjalan di Linux!), kita bisa menjadi host di Google Kubernetes Engine atau App Engine. Kami memutuskan untuk menggunakan App Engine, karena menyediakan endpoint HTTPS secara default dengan tingkat kesulitan paling rendah. Ia juga memberikan kita penetapan versi, sehingga kita bisa menjadi host beberapa versi endpoint untuk melakukan A/B testing atau rollback yang mudah.

Apl web menyediakan dua tujuan. Pertama, frontend visual untuk menampilkan gambar atau pertanyaan (ditangani oleh HomeController). Kedua, menangani panggilan webhook dari Dialogflow untuk pertanyaan yang lebih rumit mengenai gambar atau suhu global (ditangani oleh ConversationController).

ConversationController melimpahkan ke DialogflowApp untuk menangani permintaan. DialogflowApp mengambil id sesi permintaan dan membuat Conversation baru atau menemukan yang sudah ada. Kemudian, Conversation mengambil nama intent dan mencocokkannya dengan subclass BaseHandler menggunakan IntentAttribute pada awal class penangan.

Penelusuran gambar

Ketika pengguna mengucapkan “Search for images of Paris”, itu akan memicu intent “vision.search” yang diaktifkan webhook di Dialogflow. Intent ini mengambil “Paris” sebagai entity dan meneruskannya ke webhook sebagai istilah penelusuran. Panggilan ini kemudian dialihkan ke VisionSearchHandler yang berjalan di App Engine. Class ini menggunakan API Google Penelusuran Khusus untuk menelusuri gambar menggunakan istilah penelusuran. Pada akhirnya, Anda akan melihat daftar gambar di frontend web aplikasi.

Vision API

Setelah memiliki daftar gambar, Anda bisa mengucapkan “Select first picture” untuk memilih salah satu. Sekarang ini mulai menarik. Misalnya, mengucapkan sesuatu seperti “Describe the image” akan memicu VisionDescribeHandler, yang membuat panggilan ke Vision API menggunakan library .NET Vision API kami, dan mendapatkan label kembali. Kita meneruskan label kembali ke Dialogflow, yang pada gilirannya memberikannya ke Google Home untuk diucapkan dengan keras. Anda juga bisa mengucapkan “Does the image contain landmarks?” yang menggunakan fitur deteksi landmark Vision API (ditangani oleh VisionLandmarksHandler). Anda juga bisa mengucapkan “Is the image safe?” untuk memastikan gambar tidak mengandung gambar yang tidak aman (ditangani oleh VisionSafeHandler).

BigQuery

BigQuery adalah solusi gudang data tanpa server milik Google. Ia memiliki banyak dataset publik yang tersedia bagi siapa saja untuk penelusuran dan analisis. Kami memutuskan untuk menggunakan dua di antaranya: Data Hacker News dan Data Cuaca Global NOAA.

Misalnya, bila Anda mengucapkan “What was the top hacker news on May 1, 2018?” Ia akan diambil oleh intent “bigquery.hackernews” dan akhirnya dialihkan ke BigQueryHackerNewsHandler dengan entity tanggal. Class ini menggunakan library .NET BigQuery untuk menjalankan kueri terhadap Data Hacker News dan mengambil 10 artikel Hacker News teratas pada hari itu.

Sama halnya, bila Anda mengucapkan “What was the hottest temperature in France in 2015?” ini memicu BigQueryNoaaextremeHandler untuk menjalankan kueri terhadap data cuaca global dan menampilkan 10 lokasi dan suhu teratas untuk negara tersebut pada tahun itu di frontend web.

Semua ini dilakukan dengan memindai beberapa gigabyte data dalam beberapa detik dan dimungkinkan oleh infrastruktur paralel BigQuery yang sangat besar.

Logging dan pemantauan

Semua ini menyenangkan, tetapi kami ingin memastikan bahwa kami bisa mempertahankan aplikasi ini sampai seterusnya. Stackdriver adalah fitur logging, pemantauan, pelacakan, dan proses debug milik Google Cloud. Mengaktifkan Stackdriver memerlukan sebuah panggilan API (UseGoogleDiagnostics dalam Program) dan melakukan sedikit perubahan pada Dockerfile. Tiba-tiba, kita mendapat log aplikasi, pelacakan semua panggilan HTTP, pemantauan dan terakhir tetapi tidak kalah pentingnya, kemampuan untuk melakukan proses debug produksi secara langsung.

Dengan Stackdriver Debugger, kita bisa menunjukkan kode kita di GitHub dan kemudian mengambil snapshot dari mana saja di dalam kode. Bahasa yang didukung saat ini adalah Java, Python, Node.js, Go, dan C# (versi alfa). Snapshot bisa diambil pada kode produksi langsung tanpa menghentikan atau menunda aplikasi. Snapshot juga bisa bersyarat, dan memuat variabel lokal dan pelacakan tumpukan, yang sangat berharga untuk proses debug produksi.

Kesimpulan

Dalam pengembangan software, sesuatu yang semestinya mudah biasanya berakhir jauh lebih rumit ketika Anda masuk ke detail. Dalam kasus ini, justru sebaliknya. Dialogflow membuat pengenalan suara dan perutean permintaan di aplikasi Google Home sangat sederhana dan lugas. Kami menerapkan aplikasi ASP.NET Core yang ter-container di App Engine dengan sebuah perintah, dan library .NET Google Cloud untuk Vision API dan BigQuery lugas dan konsisten untuk digunakan.

Yang paling utama, saya sangat senang menulis demo ini bersama Chris! Bila Anda ingin mencobanya sendiri, kode dan petunjuknya tersedia di GitHub.


Kami mengumumkan pratinjau developer cerita AMP pada bulan Februari di AMP Conf. Semenjak itu, penayang telah menulis ribuan cerita, bereksperimen dengan format ini dan memberikan masukan yang sangat berharga kepada tim AMP. Berdasarkan masukan ini,

Kami mengumumkan pratinjau developer cerita AMP pada bulan Februari di AMP Conf. Semenjak itu, penayang telah menulis ribuan cerita, bereksperimen dengan format ini dan memberikan masukan yang sangat berharga kepada tim AMP. Berdasarkan masukan ini, kami baru saja merilis kemampuan baru dalam cerita AMP v1.0, terbuka untuk semua developer tanpa uji coba sumber atau yang diizinkan. Fitur baru meliputi:

amp_blog_story_ad


Versi 1.0 AMP stories mencakup update ini dan tersedia hari ini. Upgrade stories Anda ke v1.0 menggunakan panduan migrasi kami untuk memanfaatkan semua fitur baru ini.
Ikuti terus perkembangan selanjutnya dalam bulan-bulan mendatang; Anda bisa melihat peta jalan selengkapnya di sini. Tim kami terus bekerja secara aktif pada fitur-fitur tambahan termasuk:
Seperti biasa, bila Anda memiliki masukan, harap beri tahu kami di Github. Kami berharap bisa melihat lebih banyak penayang mencoba cerita AMP!
Ditulis oleh Jon Newmuis, AMP Stories Lead Engineer, Google


Oleh Phillip Coletti, Product Manager, Google Cloud Platform

Dengan setiap fitur baru yang kami perkenalkan dalam Google Cloud Billing, kami berusaha menyediakan bisnis Anda dengan fleksibilitas, kontrol, dan kejelasan yang lebih besar sehingga Anda bisa lebih menyelaraskan prioritas strategis dengan penggunaan cloud Anda. Untuk melakukannya, Anda harus bisa menjawab pertanyaan kunci tentang biaya cloud, seperti ...

Oleh Phillip Coletti, Product Manager, Google Cloud Platform

Dengan setiap fitur baru yang kami perkenalkan dalam Google Cloud Billing, kami berusaha menyediakan bisnis Anda dengan fleksibilitas, kontrol, dan kejelasan yang lebih besar sehingga Anda bisa lebih menyelaraskan prioritas strategis dengan penggunaan cloud Anda. Untuk melakukannya, Anda harus bisa menjawab pertanyaan kunci tentang biaya cloud, seperti:
  • “Bagaimana tren pengeluaran Google Cloud Platform (GCP) saya bulan ini?”
  • “Berapa perkiraan saya untuk pengeluaran bulan ini berdasarkan tren historis?”
  • “Project atau produk GCP mana yang diperkirakan paling menguras biaya pada bulan ini?”
Hari ini, kami dengan senang hati mengumumkan ketersediaan fitur perkiraan biaya baru untuk Google Cloud Billing. Fitur ini mempermudah untuk melihat secara sekilas bagaimana tren biaya Anda dan berapa banyak proyeksi pengeluaran Anda. Anda sekarang bisa memperkirakan biaya akhir bulan untuk bucket pengeluaran apa pun yang penting bagi Anda, dari seluruh akun billing hingga ke SKU tunggal dalam satu project.

Lihat biaya saat ini dan perkiraan Anda


Mulai

Perkiraan biaya untuk Google Cloud Billing sekarang tersedia untuk semua akun. Mulailah dengan masuk ke halaman billing akun Anda dalam konsol GCP dan buka tab reports di menu navigasi sebelah kiri.

Anda bisa mempelajari lebih lanjut tentang fitur perkiraan biaya dalam dokumentasi billing reports. Selain itu, jika Anda menghadiri Google Cloud Next ‘18, lihat sesi kami di Monitoring dan Memprakirakan Biaya GCP Anda.

Konten terkait


Ditulis oleh Dave Burke, VP of Engineering

Logo Android P

Hari ini kami meluncurkan Android P versi Beta 3, tonggak penting kami yang berikutnya dalam pratinjau developer Android P tahun ini. Karena API developer sudah diselesaikan pada ...

Ditulis oleh Dave Burke, VP of Engineering

Logo Android P

Hari ini kami meluncurkan Android P versi Beta 3, tonggak penting kami yang berikutnya dalam pratinjau developer Android P tahun ini. Karena API developer sudah diselesaikan pada update sebelumnya, versi Beta 3 kini membawa kita sangat dekat dengan apa yang akan Anda lihat di versi final Android P, yang akan diluncurkan musim panas ini.

Android P versi Beta 3 menyertakan perbaikan bug terbaru dan optimalisasi untuk stabilitas dan penyempurnaan, bersama dengan update keamanan Juli 2018. Sekarang adalah saat yang tepat untuk menguji aplikasi Anda guna memastikan mereka siap sebelum rilis final. Cobalah versi Beta 3 dan beri tahu kami pendapat Anda!

Anda bisa mendapatkan Android P versi Beta 3 di perangkat Pixel dengan mendaftar di sini. Bila Anda sudah terdaftar dan menerima Android P versi Beta 2 di perangkat Pixel, Anda akan secara otomatis mendapatkan update ke versi Beta 3. Mitra yang berpartisipasi dalam program Android P versi Beta juga akan mengupdate perangkat mereka ke versi Beta 3 dalam beberapa minggu mendatang.

Apa yang ada dalam update ini?


Update pratinjau hari ini mencakup citra sistem versi Beta 3 untuk perangkat Pixel dan Android Emulator, serta update ke fitur build Android Studio untuk menyertakan D8 sebagai fitur independen. Versi Beta 3 adalah build kandidat rilis awal Android dengan perilaku sistem hampir-final dan API Android P resmi (API level 28).

Dengan fitur build terupdate dan citra sistem versi Beta 3, Anda memiliki semua yang diperlukan untuk menguji aplikasi atau memperluasnya dengan fitur Android P seperti dukungan multi-kamera, cutout tampilan, notifikasi yang disempurnakan, ImageDecoder, TextClassifier, dan banyak lagi. Dalam pengujian Anda, pastikan untuk memperhitungkan bucket Aplikasi standby, pembatasan privasi, dan pembatasan pada antarmuka non-SDK.

Mulai dengan beberapa langkah sederhana


Pratinjau Android P

Pertama, buatlah aplikasi Anda kompatibel dan berikan pengguna transisi yang lancar ke Android P. Instal aplikasi Anda dari Google Play di perangkat Android P versi Beta atau emulator dan uji -- aplikasi harus berjalan dan terlihat bagus, dan menangani perubahan perilaku Android P dengan benar. Setelah melakukan update yang diperlukan, kami menyarankan untuk memublikasikan aplikasi di Google Play tanpa mengubah target platform aplikasi.

Bila Anda tidak memiliki perangkat yang didukung, ingatlah bahwa sebagai gantinya Anda bisa menyiapkan Android Virtual Device pada Android Emulator sebagai lingkungan pengujian. Bila Anda belum mencoba emulator baru-baru ini, Anda akan merasakan bahwa emulator sangat cepat, booting kurang dari 6 detik, bahkan mengizinkan Anda memodelkan layar generasi berikutnya -- seperti layar panjang dan layar dengan cutout tampilan.

Berikutnya, update targetSdkVersion aplikasi Anda ke 28 sesegera mungkin, sehingga pengguna aplikasi yang menggunakan Android P bisa memanfaatkan fitur keamanan, kinerja, dan stabilitas terbaru dari platform ini. Bila aplikasi Anda sudah menargetkan API 26+ sejalan dengan kebijakan Google Play yang akan datang, maka mengubah ke target API 28 semestinya menjadi lompatan kecil. Saat Anda mengubah penargetan, pastikan aplikasi Anda mendukung semua perubahan perilaku yang berlaku.

Penting juga menguji aplikasi Anda untuk penggunaan antarmuka non-SDK dan mengurangi ketergantungan pada mereka. Seperti yang disebutkan baru-baru ini, Android P membatasi akses ke antarmuka non-SDK tertentu. Perhatikan peringatan logcat yang menyoroti penggunaan langsung dari antarmuka non-SDK yang dilarang dan cobalah metode StrictMode baru detectNonSdkApiUsage() untuk menangkap akses lewat program. Bila memungkinkan, Anda sebaiknya berpindah menggunakan NDK atau Android SDK publik yang ekuivalen. Jika tidak ada API publik yang mampu memenuhi kasus penggunaan Anda, mohon beri tahu kami.

Saat Anda siap, masuklah ke Android P dan pelajari tentang fitur dan API baru yang bisa digunakan di aplikasi Anda. Untuk mem-build dengan API baru, cukup download fitur dan SDK API 28 resmi ke Android Studio 3.1, atau gunakan versi terbaru Android Studio 3.2. Kemudian update compileSdkVersion dan targetSdkVersion project Anda ke API 28.

Kunjungi situs Pratinjau Developer untuk detail dan dokumentasi. Lihat juga video ini dan playlist Google I/O Android untuk mengetahui selengkapnya tentang fitur baru di Android P untuk developer.

Publikasikan ke versi alfa, Beta, atau saluran produksi Google Play


Segera setelah Anda siap, publikasikan update APK Anda yang dikompilasi terhadap, atau secara opsional menargetkan, API 28. Memublikasikan update ke Google Play selama pratinjau memungkinkan Anda mendorong update ke pengguna lama untuk menguji kompatibilitas pada perangkat mereka.

Untuk memastikan bahwa aplikasi yang diupdate berjalan dengan baik di Android P serta versi yang lebih lama, strategi yang biasa dipakai adalah menggunakan fitur uji beta Google Play. Dengan uji beta, Anda bisa mendapatkan masukan awal dari sekelompok kecil pengguna -- termasuk pengguna versi Beta 3 — dan kemudian melakukan peluncuran bertahap ke produksi.

Berikutnya?


Terima kasih untuk semua masukan Anda sejauh ini. Teruslah berbagi masukan atau permintaan karena kami sedang mengerjakan rilis konsumen untuk musim panas ini. Jangan ragu menggunakan daftar hotlist kami untuk masalah platform, masalah kompatibilitas aplikasi, dan masalah SDK pihak ketiga.

Selain itu, tim Android engineering akan menjadi host Reddit AMA di r/androiddev untuk menjawab pertanyaan teknis Anda tentang Android P pada tanggal 19 Juli dari jam 11:30-13:00 (Waktu Pasifik). Nantikan pengumuman di r/androiddev dalam beberapa minggu mendatang. Kami menantikan dan siap menjawab pertanyaan-pertanyaan Anda!

Ditulis oleh Neto Marin - Actions on Google Developer Advocate

Ada jutaan aplikasi di ekosistem Android, sehingga agar aplikasi Anda mudah ditemukan tentu memerlukan upaya ekstra. Aplikasi Anda harus menawarkan sesuatu yang berbeda dari aplikasi serupa lainnya agar menarik perhatian pengguna.
Ditulis oleh Neto Marin - Actions on Google Developer Advocate

Ada jutaan aplikasi di ekosistem Android, sehingga agar aplikasi Anda mudah ditemukan tentu memerlukan upaya ekstra. Aplikasi Anda harus menawarkan sesuatu yang berbeda dari aplikasi serupa lainnya agar menarik perhatian pengguna.

Mem-build Action pendamping adalah cara cepat dan mudah untuk meningkatkan potensi jangkauan aplikasi Android Anda dengan membuat titik masuk baru dari perangkat yang didukung Asisten Google. Hal ini memungkinkan Anda menghadirkan layanan kepada pengguna tanpa perlu menginstal apa pun melalui suara, dan bisa membawa pengguna ke dalam aplikasi Anda saat ia mampu memberikan nilai lebih.

Action pendamping Anda melengkapi pengalaman aplikasi Android dengan menawarkan beberapa layanan melalui Asisten Google, yang tersedia di lebih dari 500 juta perangkat termasuk speaker, ponsel, mobil, headphone, dan banyak lagi. Membuat Action akan menyediakan cara mulus bagi pengguna untuk mulai berinteraksi dengan layanan Anda di mana pun Asisten Google tersedia.

Membuat Action untuk Asisten akan memperluas kehadiran merek Anda, menghadirkan layanan Anda ke konteks dan perangkat baru saat pengguna berinteraksi dengan Asisten Google.

Tonjolkan keunggulan aplikasi Anda


Mungkin suatu kesalahan untuk mencoba menulis ulang semua aplikasi Android Anda sebagai Action percakapan, karena suara adalah modalitas yang berbeda dengan pola penggunaan dan kendala yang berbeda. Sebagai gantinya, Anda harus mulai memilih fitur yang paling penting atau populer di aplikasi Anda yang bisa diterjemahkan dengan baik ke dalam konteks suara dan dapat lebih mudah mencapai tujuannya di sana. Kemudian, Anda bisa menciptakan pengalaman percakapan untuk menawarkan fitur ini di perangkat Asisten Google. Lihat situs Desain percakapan, yang memiliki beberapa artikel dan panduan tentang cara membuat UI suara yang menakjubkan.

Mari kita lihat contoh hipotetis. Bayangkan Anda memiliki aplikasi niaga seluler. Beberapa fitur meliputi penelusuran produk, navigasi ke kategori yang berbeda, penambahan informasi pembayaran, dan pembayaran. Anda bisa mem-build Action untuk Asisten dengan sebagian besar fungsionalitas yang sama, tetapi kami mendorong Anda untuk mencari apa yang paling masuk akal dalam pengalaman percakapan.

Dalam hal ini, Action Anda bisa berfokus pada semua hal yang ingin diketahui pengguna setelah mereka membeli produk melalui aplikasi Android atau halaman web Anda. Anda bisa menawarkan cara cepat untuk mendapatkan update tentang status pembelian (jika Anda menyediakan status yang berbeda bagi proses pembayaran/pembelian) dan informasi pengiriman, atau menyediakan antarmuka guna pemesanan ulang produk favorit pengguna. Kemudian, pengguna Anda dapat menanyakan sesuatu seperti, "Hai Google, tanyakan Voice Store tentang pembelian terakhir saya."

Atau, untuk menjangkau pengguna yang belum pernah melakukan pembelian sebelumnya, Anda bisa membuat Action untuk memberikan penawaran menarik bagi produk umum. Misalnya, Anda bisa membuat Action yang diaktifkan dengan permintaan, "Hai Google, tanyakan Voice Store tentang promo penawaran TV hari ini".

Seperti yang Anda lihat, memulai dengan kasus penggunaan "hero" untuk Action adalah cara yang menarik untuk memperkenalkan fitur percakapan yang melengkapi aplikasi Android Anda, dan ini memakan waktu lebih singkat dari yang Anda kira.

Di Google I/O 2018, kami mempresentasikan pembicaraan, "Mengintegrasikan aplikasi Android Anda dengan Asisten Google" yang berisi lebih banyak detail dan contoh untuk developer.

Mengirimkan pembelian pengguna di seluruh sistem


Pembelian dalam aplikasi, langganan, dan produk sekali pakai telah terbukti berhasil bagi developer Android ketika menyangkut monetisasi, yang memungkinkan developer menawarkan berbagai jenis item digital dan nilai tambahan untuk pengguna yang membayar. Tipe monetisasi ini terbukti mampu mendorong konversi pengguna dan membuat aplikasi lebih menguntungkan.

Google Play Billing menawarkan serangkaian fitur, API, dan dokumentasi untuk membantu developer mengelola siklus hidup langganan, mem-build validasi sisi server, dan banyak lagi. Jika Anda baru dalam bidang penagihan dalam aplikasi, silakan lihat halaman Ringkasan Google Play Billing.

Sekarang, developer Android bisa memperluas area tempat pengguna dapat mengakses item-item ini atau meng-upgrade pengalaman dengan menawarkannya melalui Actions. Ekspansi ini dilakukan dengan tetap menghormati hak pengguna di Google Play pada berbagai sistem dan perangkat, menjangkau pengguna saat mereka tidak bisa (atau tidak mau) menggunakan aplikasi, seperti saat memasak atau mengemudi.

Untuk platform non-Android, Anda harus meminta pengguna untuk menautkan akun mereka. Kemudian, Anda bisa menggunakan Histori akun pengguna untuk mengidentifikasi pembelian yang telah dilakukan pengguna pada sistem lain.

Lihat halaman Mengakses Pembelian Digital untuk panduan langkah demi langkah tentang cara mengaktifkan akses ke pembelian pengguna dan meminta serta mengurai data pembelian.

Berikutnya?


Bila Anda belum terbiasa dengan Actions on Google, mulailah dengan melihat halaman ringkasan kami, yang menjelaskan platform ini secara detail dan memberi tahu semua yang perlu Anda ketahui untuk membuat Action bagi Asisten Google.

Nantikan lebih banyak postingan lainnya tentang cara meningkatkan pengalaman aplikasi Android Anda dengan Actions on Google.

Terima kasih sudah membaca!

Ditulis oleh Kacey Fahey, Developer Marketing, Google Play

Bergabunglah bersama kami dalam memberi selamat atas aplikasi dan game terbaru yang masuk program Android Excellence di Google Play. Grup aplikasi dan game yang beragam ini diakui karena memiliki kualitas tinggi, pengalaman pengguna yang luar biasa, dan kinerja teknis yang tangguh. Apakah Anda tertarik mempelajari meditasi atau bahasa baru, atau mencari game tentang kupu-kupu atau kapal perang, kami sangat tertarik untuk masuk ke koleksi baru ini.
Ditulis oleh Kacey Fahey, Developer Marketing, Google Play

Bergabunglah bersama kami dalam memberi selamat atas aplikasi dan game terbaru yang masuk program Android Excellence di Google Play. Grup aplikasi dan game yang beragam ini diakui karena memiliki kualitas tinggi, pengalaman pengguna yang luar biasa, dan kinerja teknis yang tangguh. Apakah Anda tertarik mempelajari meditasi atau bahasa baru, atau mencari game tentang kupu-kupu atau kapal perang, kami sangat tertarik untuk masuk ke koleksi baru ini.

Gambar aplikasi pemenang

Lihat beberapa aplikasi unggulan kami.
  • Beelinguapp: Pelajari bahasa baru dengan aplikasi unik ini. Baca dan dengarkan cerita dengan teks bahasa yang sedang Anda pelajari di sampingnya, sambil mengikuti bersama dengan bahasa Anda sebagai referensi.
  • Fortune City: Bila Anda mencari aplikasi yang menyenangkan untuk membantu mengelola keuangan pribadi, pelajari bagaimana Fortune City mengajarkan kebiasaan penganggaran yang baik seiring Anda membangun kota metropolis yang makmur.
  • ShareTheMeal: Penuhi kebutuhan makan anak dengan sekali tap di ponsel Anda, atau buat tim bersama teman-teman Anda untuk memerangi kelaparan, dengan menggunakan aplikasi dari World Food Programme ini.

Uji keterampilan Anda dengan game unggulan ini.
  • Animal Crossing™: Pocket Camp: Ambil peran sebagai pengelola perkemahan selagi Anda mengumpulkan barang untuk menghias dan membangun perkemahan impian Anda. Temukan hewan, bangun persahabatan, dan undang hewan favorit Anda untuk bersenang-senang.
  • Cash, Inc.: Jadilah bos besar dari kerajaan bisnis Anda dalam permainan yang menyenangkan ini. Bekerjalah semaksimal mungkin untuk bergabung dengan komunitas kaum elit bisnis dan menjadi taipan uang yang paling terkenal.
  • Shadowgun Legends: Selamatkan manusia dari serbuan alien dalam Story Campaign epik yang mencakup lebih dari 200 misi di 4 planet yang berbeda. Dan selagi Anda menjalankan misi, sesuaikan karakter, bergabunglah dengan teman, dan jadilah selebritis Shadowgun Universe.

Lihat daftar lengkap aplikasi dan game Android Excellence.
Aplikasi Android Excellence baru Game Android Excellence baru
Beelinguapp
BTFIT
Fortune City
Letras.mus.br
LingoDeer
Memrise
PicsArt
Pocket Casts
ShareTheMeal
The Mindfulness App
Tokopedia
Trello
VivaReal
Wynk Music
Animal Crossing™: Pocket Camp
Cash, Inc.
Flutter: Starlight
Shadow Fight 3
Shadowgun Legends
War Heroes
World of Warships Blitz

Jelajahi aplikasi dan game hebat lainnya di bagian Editors' Choice di Google Play dan temukan praktik terbaik untuk membantu Anda mem-build aplikasi dan game berkualitas.

Ditulis oleh Nicole Borrelli, Android Developer, Programs Engineer
 Screenshot UI UAMP v2 yang menampilkan sepasang album



Universal Android Music Player (atau "UAMP") adalah favorit di GitHub bagi developer aplikasi musik dengan lebih dari 9.500 bintang dan 3.000 fork. Sejak UAMP pertama kali dirilis, pengembangan Android telah berubah secara signifikan. ExoPlayer telah disempurnakan, Architecture Components diperkenalkan, dan Kotlin menjadi bahasa utama bagi para developer Android.
Ditulis oleh Nicole Borrelli, Android Developer, Programs Engineer
 Screenshot UI UAMP v2 yang menampilkan sepasang album



Universal Android Music Player (atau "UAMP") adalah favorit di GitHub bagi developer aplikasi musik dengan lebih dari 9.500 bintang dan 3.000 fork. Sejak UAMP pertama kali dirilis, pengembangan Android telah berubah secara signifikan. ExoPlayer telah disempurnakan, Architecture Components diperkenalkan, dan Kotlin menjadi bahasa utama bagi para developer Android.

Kami memutuskan bahwa cara terbaik mengintegrasikan fitur modern ke dalam aplikasi musik favorit kami adalah dengan menulis ulang UAMP.

UAMP v2 dibangun ulang seluruhnya menggunakan Kotlin. UI-nya dibangun berbasis ViewModels dan LiveData. Pemutaran, dan khususnya integrasi dengan MediaSessionCompat, jauh lebih disederhanakan dengan memanfaatkan ekstensi MediaSession dari ExoPlayer.

Kami juga menambahkan banyak lagu baru dari The Kyoto Connection dan Kai Engel.

Ada beberapa fitur UAMP v1 yang belum diintegrasikan ke dalam kode baru. Fitur yang belum tersedia termasuk Android TV dengan library Leanback dan pemutaran jarak jauh melalui Google Cast. Meskipun fitur ini belum disertakan dalam v2, kami ingin menunjukkan kepada Anda update baru ini sesegera mungkin. Kode lama akan terus tersedia di v1 branch di GitHub, jadi silakan lihat di sana untuk melihat cara menggunakan fitur-fitur tersebut di aplikasi musik.

Kami mengharapkan masukan Anda tentang fitur berikutnya yang perlu ditambahkan. Kami sedang mempertimbangkan pemutaran offline, peningkatan integrasi dengan Android Auto, dan penggunaan komponen Navigasi mendatang dari Jetpack untuk UI. Kami akan membuat masalah GitHub untuk fitur dan penyempurnaan guna mempermudah Anda dalam memberi tahu kami apa yang paling penting bagi Anda. Mohon pilih fitur-fitur ini untuk memberi tahu kami di mana kami harus memfokuskan upaya kami.

Kami juga ingin mengundang Anda untuk membuka permintaan pull bagi perbaikan bug dan fitur yang tidak tersedia. Lihat proses kontribusi untuk informasi selengkapnya.

Download kode dari GitHub!

Ditulis oleh Anuj Gulati, Developer Marketing Manager, Google Play dan Sami Kizilbash, Developer Relations Program Manager, Google

Pasar negara berkembang saat ini berkontribusi terhadap lebih dari 40% penginstalan game di Google Play. Adopsi smartphone yang cepat di region ini menghadirkan basis baru gamer yang mencari pengalaman game seluler berkualitas tinggi. Di Google Play, kami berfokus untuk membantu developer game lokal dari pasar ini untuk mencapai potensi puncak mereka dan memanfaatkan peluang ini.
Ditulis oleh Anuj Gulati, Developer Marketing Manager, Google Play dan Sami Kizilbash, Developer Relations Program Manager, Google

Pasar negara berkembang saat ini berkontribusi terhadap lebih dari 40% penginstalan game di Google Play. Adopsi smartphone yang cepat di region ini menghadirkan basis baru gamer yang mencari pengalaman game seluler berkualitas tinggi. Di Google Play, kami berfokus untuk membantu developer game lokal dari pasar ini untuk mencapai potensi puncak mereka dan memanfaatkan peluang ini.


Indie Games Accelerator adalah inisiatif baru untuk mendukung startup game indie teratas dari India, Indonesia, Malaysia, Pakistan, Filipina, Singapura, Thailand, dan Vietnam yang ingin meningkatkan pertumbuhan mereka di Android. Program empat bulan ini adalah edisi khusus Launchpad Accelerator, dirancang berkolaborasi dengan Google Play, yang menampilkan bimbingan dan kurikulum game yang komprehensif dari para pakar game seluler terkemuka.

Peserta yang berhasil akan diundang untuk menghadiri dua gaming bootcamp secara gratis di kantor Google Asia-Pasifik di Singapura, di situ mereka akan menerima bimbingan terpersonalisasi dari tim Google dan pakar industri. Keuntungan tambahan lainnya meliputi kredit Google Cloud Platform, undangan ke event eksklusif industri dan Google, dan banyak lagi.

Kunjungi situs program ini untuk mengetahui selengkapnya dan daftar sekarang.

Kami membuat Shadow Reader lebih cepat – dan lebih ramah untuk mesin telusur ...
Kami membuat Shadow Reader lebih cepat – dan lebih ramah untuk mesin telusur!

Kami menciptakan Shadow Reader untuk menunjukkan bagaimana halaman AMP bisa digunakan dalam Progressive Web App (PWA) (baca postingan pemberitahuan kami untuk konteks selengkapnya). Situs ini menghidupkan kembali artikel yang ada dari The Guardian menjadi pengalaman yang mendalam dalam membaca berita. Lebih dari sekadar demo, halaman ini ditujukan sebagai situs yang berfungsi penuh. Ia berisi kode end-to-end yang dibutuhkan untuk menggabungkan AMP dan PWA secara efektif... ini siap produksi!


SEO untuk konten yang dihasilkan JS


Seperti halnya aplikasi halaman tunggal yang berdiri sendiri, payload HTML awal Shadow Reader berukuran kecil. Ia adalah shell aplikasi ramping yang dimuat dengan cepat, memberikan pengguna sesuatu untuk dilihat saat JavaScript memuat konten utama. Pendekatan ini menghasilkan pengalaman pengguna yang baik!

Sayangnya, hal ini juga bisa menghadirkan tantangan bagi mesin telusur. Google akan mencoba mengeksekusi JavaScript untuk mengindeks apa yang akhirnya ditampilkan kepada pengguna, bukan hanya HTML awal. Namun banyak mesin telusur tidak melakukannya atau melakukannya tetapi tidak dapat diandalkan. Dengan kata lain, tidak aman bergantung pada mesin telusur untuk secara sukses mengeksekusi JavaScript Anda. Dan jika mesin telusur hanya melihat shell aplikasi, tanpa melihat sebagian besar atau semua konten, ia tidak akan dapat mengindeks halaman dengan benar.

Bukankah lebih baik jika halaman artikel Shadow Reader ditampilkan ke mesin telusur dengan teks langsung disertakan dalam HTML?  Dan bukankah luar biasa jika proses itu tidak memperlambat rendering, tetapi justru memberi kita cara untuk menyajikan halaman tersebut ke pengguna baru dalam waktu kurang dari satu detik?

Ternyata kita bisa melakukan keduanya dengan menyajikan artikel versi AMP ke pengguna baru!  Karena, crawler web juga terlihat di server sebagai pengguna baru. Jadi... bagaimana kami melakukannya?


AMP⇒PWA


Kami melakukannya dengan menerapkan pola AMP⇒PWA. Begini cara kerjanya!

Untuk pengguna baru:
  • Ketika pengguna baru mengunjungi halaman artikel, kami menyajikan artikel versi AMP.
  • AMP menggunakan <amp-install-serviceworker> untuk memuat dan menginstal pekerja layanan.
  • Pekerja layanan memuat dan men-cache shell aplikasi.
  • Pada navigasi halaman berikutnya, pekerja layanan memegang kendali – dan dengan lembut membawa pengguna ke PWA pada halaman berikutnya.

Untuk pengguna lama, kami cukup menyajikan PWA.

Itulah bagaimana situs kami bisa memperlakukan pengguna baru dan pengguna lama secara berbeda di URL yang sama. Untuk pengguna lama, pekerja layanan akan diinstal. Dan, ketika pekerja layanan melihat sebuah URL artikel, ia menyajikan versi cache dari PWA.

Bagaimana proses ini berjalan di Shadow Reader?  Misalnya, seorang pengguna pertama kali mengunjungi halaman artikel ini:
https://amp.cards/theguardian/us/amazing_article

Setelah melihat sebuah URL artikel, server menampilkan versi AMP dari artikel tersebut, tetapi satu yang menginstal pekerja layanan saat artikel dimuat. Pekerja layanan, menggunakan library Workbox, memuat baris ini:
workboxSW.router.registerNavigationRoute('index.html')

Ini berarti, setiap kali pengguna membuka URL baru di domain ini, pekerja layanan melihat permintaan itu, dan sebagai ganti meneruskannya ke server, ia hanya menyajikan versi cache dari index.html. Itulah PWA kita.

Jadi, bila pengguna berikutnya mengklik pada link
https://amp.cards/theguardian/us/another_article

pekerja layanan menyajikan HTML PWA yang di-cache. Namun URL tersebut tidak berubah!  Jadi ketika PWA melihat URL untuk menguraikan artikel apa yang diminta, ia melihat link yang diminta pengguna, dan ia bisa memuat artikel yang tepat ke dalam PWA.

Setelah itu, setiap kali pengguna meminta link Shadow Reader, pekerja layanan sudah terinstal, dan menyajikan PWA yang di-cache.

Karena crawler web tidak mengizinkan kita menginstal pekerja layanan, crawler web selalu mendapatkan tampilan artikel AMP.



Inilah alurnya dalam diagram yang indah:



Untuk pengguna baru:
  1. Browser meminta URL artikel dari server. Server menampilkan versi AMP dari artikel yang menyertakan <amp-install-serviceworker>.
  2. JS pekerja layanan milik AMP menyebabkan browser meminta pekerja layanan. Server mengirim JS pekerja layanan ke browser. Browser menginstal pekerja layanan dan memulainya.
  3. Pekerja layanan mengirim sebuah permintaan ke server untuk shell aplikasi PWA. Server mengirim sumber daya tersebut ke pekerja layanan, yang men-cache-nya.

Untuk pengguna lama:
  1. Browser mengirim permintaan untuk URL artikel. Permintaan ini dicegat oleh pekerja layanan. Pekerja layanan menampilkan PWA yang di-cache ke browser.
  2. PWA meminta artikel AMP. Permintaan ini mencapai server, yang menampilkan artikel AMP ke PWA. PWA memproses dan menampilkan artikel tersebut.

Ingatlah, crawler web selalu menjadi pengguna baru!


Apa Berikutnya?


Setelah Shadow Reader memiliki server sendiri, kami mempunyai AGENDA baru:
  • Pada masa mendatang, kami bisa mengabaikan YQL, cukup menggunakan feed RSS Guardian secara langsung.
  • Kami juga harus mengganti link navigasi atas Guardian dengan link Shadow Reader.
  • Kami meminta AMP Cache untuk mendownload dan menjalankan seluruh Shadow Reader dalam sebuah iframe: <amp-install-serviceworker data-iframe-src=”https://amp.cards/index.html“>. Mungkin lebih baik bagi pengguna biasa untuk menetapkan halaman yang lebih kecil sebagai gantinya.
  • Backend.js sekarang digunakan di server begitu juga front-end, dan cara kami melakukannya sedikit menggunakan trik. Mungkin kami harus mengoptimalkan kode untuk menggunakan modul ECMAScript?

Silakan coba ini, lihat kode di github, dan beri tahu kami pendapat Anda!  Kami ingin tahu mengenai cara Anda mencoba pola AMP/PWA di situs Anda sendiri, dan kami mengharapkan ide-ide dari Anda untuk penyempurnaan Shadow Reader.



Ditulis oleh Ben Morss, Developer Advocate, Google

Ditulis oleh Tim Flutter di Google

Hari ini di GMTC front-end conference di Beijing, kami mengumumkan Flutter Release Preview versi 1, yang menandakan fase baru pengembangan bagi Flutter selagi kita bergerak menuju tahap akhir stabilisasi untuk versi 1.0.
Ditulis oleh Tim Flutter di Google

Hari ini di GMTC front-end conference di Beijing, kami mengumumkan Flutter Release Preview versi 1, yang menandakan fase baru pengembangan bagi Flutter selagi kita bergerak menuju tahap akhir stabilisasi untuk versi 1.0.

Google I/O bulan lalu adalah perayaan bagi tim Flutter: mencapai versi Beta, kami senang sekali bisa bertemu dengan banyak developer yang belajar, membuat prototipe, atau build dengan Flutter. Segera setelah Google I/O, kami terus melihat pertumbuhan cepat dalam ekosistem Flutter, dengan peningkatan 50% pada pengguna Flutter aktif. Kami juga melihat lebih dari 150 event Flutter individual yang diselenggarakan di lima puluh negara: dari New York City hingga Uyo, Nigeria; dari Tokyo dan Osaka di Jepang hingga Nuremberg, Jerman.



Salah satu pengukur umum dari momentum komunitas adalah jumlah bintang GitHub, dan kami juga melihat pertumbuhan yang luar biasa di sini, dengan Flutter menjadi salah satu dari 100 repo software terbaik di GitHub pada bulan Mei.

Pengumuman Flutter Release Preview versi 1


Hari ini kami mengambil langkah besar ke depan, dengan ketersediaan langsung Flutter Release Preview versi 1. Tampaknya sangat menguntungkan melakukan pengumuman ini di Beijing pada GMTC Global Front-End Conference. Cina adalah populasi developer terbesar ketiga yang menggunakan Flutter, setelah Amerika Serikat dan India. Perusahaan seperti Alibaba dan Tencent sudah mengadopsi Flutter untuk aplikasi produksi, dan terdapat komunitas lokal yang semakin bertambah yang menerjemahkan konten dan menambahkan package serta cermin untuk developer Cina.

Perubahan dari versi Beta ke ke release preview bersama rilis ini menandakan kepercayaan kami pada stabilitas dan kualitas dari apa yang kami miliki dengan Flutter, dan fokus kami pada perbaikan bug dan stabilisasi.

Kami telah memposting artikel yang lebih panjang dengan detail mengenai apa yang baru di Flutter Release Preview versi 1 di saluran Medium kami. Anda bisa mendownload Flutter Release Preview versi 1 langsung dari situs Flutter, atau cukup jalankan flutter upgrade dari penginstalan lama.

Sangat menyenangkan melihat orang lain merasakan Flutter untuk pertama kalinya. Artikel dari developer iOS yang baru saja menyelesaikan porting Aplikasi iOS ke Flutter adalah dukungan positif bagi kesiapan project ini untuk penggunaan produksi dunia nyata:
"Saya belum pernah begitu bersemangat lagi tentang teknologi sejak Ruby on Rails atau Go... Setelah mendedikasikan bertahun-tahun mempelajari pengembangan Aplikasi iOS secara mendalam, saya merasa sangat bersalah karena telah mengabaikan begitu banyak teman-teman Android di luar sana. Selain itu, mempelajari framework lintas platform lainnya pada saat itu sangat tidak menarik bagi saya karena apa yang tersedia... Menulis aplikasi Flutter telah menjadi tes lakmus dan Flutter lulus tes tersebut. Flutter adalah sesuatu yang saya rasakan benar-benar bisa saya dalami dan yang paling penting, saya benar-benar menikmatinya."

Karena kami semakin dekat memublikasikan rilis pertama saluran "stabil", kami sudah siap bagi lebih banyak developer untuk mem-build dan menerapkan solusi yang menggunakan Release Preview ini. Ada banyak penawaran pelatihan untuk membantu Anda mempelajari Flutter: dari sesi I/O hingga newsletter hingga video praktik hingga acara developer. Kami ingin segera melihat kreasi yang Anda build!

Ditulis oleh Nicholas Lativy, Software Engineer

Di Google I/O kami telah berbagi bagaimana aplikasi kepunyaan Google sendiri memanfaatkan Google Play untuk peluncuran dan update yang sukses dan memperkenalkan Google Play Developer Publishing API ...
Ditulis oleh Nicholas Lativy, Software Engineer

Di Google I/O kami telah berbagi bagaimana aplikasi kepunyaan Google sendiri memanfaatkan Google Play untuk peluncuran dan update yang sukses dan memperkenalkan Google Play Developer Publishing API Versi 3 yang baru.

Publishing API memungkinkan Anda mengintegrasikan operasi penerbitan ke dalam proses rilis yang sudah ada atau alur kerja otomatis dengan menyediakan kemampuan untuk mengupload APK dan meluncurkan rilis. Berikut adalah ringkasan tentang beberapa penyempurnaan yang kini bisa Anda manfaatkan di API Versi 3.

Rilis di API

Publishing API sekarang menggunakan model rilis yang familier dari Konsol Play.
{
  "track": "production",
  "releases": [
    {
      "name": "Release One", 
      "versionCodes": ["100"],
      "status": "completed"
    }
  ]
}

Ini memberikan Anda kontrol penuh atas rilis melalui API yang memungkinkan sejumlah operasi yang sebelumnya hanya tersedia di Konsol Play. Misalnya, Anda sekarang bisa mengontrol nama rilis yang dibuat melalui API, dan kami sekarang telah melonggarkan batasan mengenai apa yang dapat diluncurkan melalui API agar sama dengan Konsol Play.

Jalur pengujian tambahan

API ini sekarang mendukung rilis ke salah satu jalur pengujian yang telah Anda konfigurasikan untuk aplikasi serta jalur produksi. Ini memungkinkan Anda untuk mengonfigurasi sistem continuous integration guna mendorong build baru ke jalur pengujian internal segera setelah ia siap untuk QA.

Peluncuran bertahap

Peluncuran bertahap adalah cara yang disarankan untuk menerapkan versi baru aplikasi Anda. Mereka memungkinkan Anda untuk menyediakan rilis baru hanya bagi sebagian kecil pengguna dan secara bertahap meningkatkan persentasenya ketika kepercayaan Anda pada rilis ini semakin bertambah.

Peluncuran bertahap sekarang direpresentasikan secara langsung di API sebagai rilis inProgress .
{
  "track": "production",
  "releases": [
    {
      "versionCodes": ["100"],
      "status": "completed"
    },
    {
      "versionCodes": ["200"],
      "status": "inProgress",
      "userFraction": 0.1
    }
  ]
}

Anda sekarang bisa menghentikan peluncuran bertahap melalui API dengan mengubah statusnya menjadi halted. Hal ini memungkinkan Anda untuk secara otomatis merespons masalah yang dideteksi saat melakukan peluncuran. Bila ternyata peringatannya salah, API ini sekarang juga memungkinkan Anda untuk melanjutkan rilis yang dihentikan dengan mengubah statusnya kembali menjadi inProgress.

Catatan rilis

Catatan rilis adalah hal yang berguna untuk mengomunikasikan kepada pengguna fitur baru yang telah Anda tambahkan ke dalam rilis. Di V3 kami telah menyederhanakan bagaimana hal ini ditetapkan melalui API dengan menambahkan kolom releaseNotes ke rilis.
{
  "track": "production",
  "releases": [
    {
      "versionCodes": ["100"],
      "status": "completed",
      "releaseNotes": [
        {
          "language": "en-US",
          "text": "Now it's easier to specify release notes."
        },
        {
           "language": "it-IT",
           "text": "Ora è più semplice specificare le note sulla versione."
        }
    }
  ]
}

Rilis draf

Kami tahu bahwa meskipun banyak developer merasa nyaman menerapkan build pengujian secara otomatis, mereka suka menggunakan Play Console saat meluncurkan ke produksi.

Jadi, di API V3 kami telah menambahkan kemampuan untuk membuat dan mengelola Rilis Draf.
{
  "track": "production",
  "releases": [
    {
      "name": "Big Launch",
      "versionCodes": ["200"],
      "status": "draft"
    }
  ]
}

Hal ini memungkinkan Anda untuk mengupload APK atau App Bundle dan membuat rilis draf dari sistem continuous integration, kemudian minta manajer produk melakukan login, memastikan semuanya baik, lalu menekan "Confirm and Rollout".

Kami berharap Anda merasakan keuntungan dari fitur ini dan memanfaatkannya untuk peluncuran dan update yang sukses dengan Google Play. Bila Anda tertarik dengan beberapa fitur hebat lain untuk mendistribusikan aplikasi Anda, lihat sesi I/O yang kini telah diposting ke Saluran YouTube Developer Android.

Menurut Anda seberapa bermanfaatkah entri blog ini?




Dukungan monetisasi untuk cerita AMP

AMP Stories kini mendukung ‘Iklan yang ditempatkan penayang’, kemampuan bagi penayang untuk menayangkan iklan sehingga mereka bisa mengontrol pengiriman dan penjualan pengiriman. Dukungan Server Iklan dalam DoubleClick for Publishers (DFP) direncanakan hadir akhir Juni. Kami mendorong jaringan iklan lain yang tertarik untuk menambahkan dukungan monetisasi ke cerita AMP agar menghubungi kami.

6

Lihat detail terkait monetisasi yang terkait dengan cerita AMP di sini atau bermain-main dengan contoh di AMPbyExample.com.

Fitur kontrol pengguna baru di AMP


Kami telah meluncurkan komponen baru <amp-consent> untuk membantu penayang mengimplementasikan kontrol pengguna bagi alur pemberitahuan yang bisa disesuaikan, alur pilihan, dan izin. Anda bisa menemukan semua detail penggunaan dan integrasi yang terkait dengan peluncuran di entri blog ini.

Terkait dengan itu, komponen baru, <amp-geo>, memudahkan perubahan sebagian kecil konten web untuk pengguna berdasarkan perkiraan lokasi tingkat-negara pengguna, serupa dengan tingkat Kode Negara ISO. Ini bisa digunakan dengan <amp-consent> untuk mengubah perilaku <amp-consent> berdasarkan lokasi perkiraan pengguna. Lihat contoh untuk melihat bagaimana kedua komponen terintegrasi.

AMP Date Picker (Eksperimental)


Komponen <amp-date-picker> adalah picker tanggal interaktif bergaya kalender untuk input formulir, dan secara resmi tersedia untuk digunakan pada situs sebagai eksperimen tingkat dokumen. Ini berarti bahwa developer bisa menggunakan komponen tersebut selama mereka juga menyertakan tag temporer ini: <meta name=”amp-experiments-opt-in” content=”amp-date-picker”>. Lihat contoh di  AMP by Example untuk melihat apa yang bisa dilakukannya, dan tentukan bila komponen ini tepat untuk situs Anda.

Catatan: Alasan untuk tahap rilis menengah (opt-in tingkat-dokumen) ini adalah untuk mengumpulkan masukan dari developer dan pengguna serta untuk mengidentifikasi setiap masalah sebelum kami mempertimbangkan bahwa komponen ini cukup stabil untuk rilis produksi penuh. Jadi, Anda mungkin menemui beberapa bug untuk saat ini, beri tahu kami jika Anda memiliki masukan, dan nantikan rilis lengkap pada akhir kuartal ini.

2

Memperkenalkan galeri lightbox gambar


Sejak AMP diluncurkan, developer meminta cara yang lebih mudah untuk menghubungkan <amp-carousel> dengan <amp-image-lightbox> sehingga pengguna bisa merasakan tampilan konten imersif di korsel. Meskipun memungkinkan untuk menggabungkan banyak komponen (seperti <amp-bind>) untuk membuat sesuatu seperti ini berjalan, ini tidaklah mudah.

Komponen <amp-lightbox-gallery> memberikan pengalaman media imersif yang bisa berdiri sendiri atau dapat diintegrasikan dengan amp-carousel. Komponen ini bisa diterapkan ke gambar yang berdiri sendiri atau kumpulan gambar sehingga ketika pengguna menge-tap gambar-gambar ini, mereka memasuki tampilan imersif dan masing-masing gambar dapat digeser secara mulus. Ketika <amp-lightbox-gallery> diterapkan ke <amp-carousel>, semua gambar di korsel mewarisi perilaku galeri lightbox sehingga geseran antar item dalam tampilan imersif akan disinkronkan dengan yang ada di lightbox, untuk menciptakan pengalaman galeri yang intuitif dan mulus.

3

Efek baru untuk amp-fx-collection


Kami baru saja mulai membangun <amp-fx-collection>, seperangkat efek visual yang mudah digunakan dan developer bisa menggunakannya untuk membuat situs mereka lebih menarik. Sejauh ini, kami telah merilis dua efek: parallax, yang memungkinkan Anda dengan mudah mengonfigurasi elemen halaman untuk bergerak dengan kecepatan berbeda secara relatif terhadap kecepatan scroll dokumen; dan fade-in, yang menerapkan efek fade-in sederhana dan dapat dikonfigurasi saat pengguna men-scroll konten ke dalam tampilan. Dalam beberapa minggu mendatang, kami juga berencana meluncurkan fly-in, yang saat ini tersedia sebagai efek experiment. Lihat fitur baru di AMP by Example dan beri tahu kami pendapat Anda.

Kemampuan mengupload file


Upload file adalah kemampuan yang sangat penting bagi banyak situs.  Misalnya, beberapa situs e-commerce memasukkan upload berdesain khusus ke dalam alur pembelian mereka. Untuk mendukung fungsi ini kami mengaktifkan dukungan upload file dalam formulir melalui <input type=”file”>(pada dasarnya, caranya sama dengan cara developer melakukannya di halaman non-AMP, dengan persyaratan tambahan, formulir tersebut harus menggunakan pengiriman XHR yang aman). Dan sekarang setelah AMP menawarkan dukungan dasar ini, kami terus bekerja demi API yang lebih canggih yang akan memungkinkan developer berkomunikasi lebih baik dengan pengguna mengenai status upload file (byte yang diupload, % status progres, dll).

Terbaik dari yang lain

  • Baca selengkapnya tentang kemajuan web packaging untuk membantu menyingkirkan URL google.com/amp saat dokumen AMP dimuat dari cache Google AMP.
  • Beberapa pembicaraan dan fitur disampaikan di Google I/O 2018. Anda bisa membaca rangkuman kehadiran tim AMP di I/O di sini.

Fitur-fitur mendatang yang layak diperhatikan

* * *

Terima kasih kepada komunitas pengembangan AMP untuk karya dan masukan Anda. Seperti biasa, mohon beri tahu kami bila ada masalah atau permintaan fitur.

Ditulis oleh Vamsee Jasti, Product Manager, AMP Project