[go: up one dir, main page]

Tahun lalu, lebih dari 300 developer berkumpul bersama untuk belajar dan berbagi tentang AMP terbaru di AMP Conf di NYC. Semenjak itu, kami telah melakukan banyak development baru dan penggunaan AMP semakin berkembang, mulai dari fungsionalitas e-commerce, pembangunan secara kanonik dengan AMP, hingga penggunaan halaman AMP dalam Progressive Web App. Untuk membagikan semua hal terbaru dan mendapatkan input mengenai masa depan project, tim AMP memutuskan bahwa inilah waktu yang tepat untuk mengadakan AMP Conf yang berikutnya.



Berkenaan dengan hal tersebut, kami senang sekali bisa mengundang Anda untuk bergabung dengan tim AMP dan komunitas dalam AMP Conf 2018 di Amsterdam pada tanggal 13 dan 14 FebruariPada AMP Conf 2.0, fokus utama kami akan berpusat mengenai keunggulan UX, dan cara menggunakan AMP untuk membangun situs yang menakjubkan (tidak hanya halaman!). Jadi, nantikan bagaimana pembicaraan CSS terfokus pada cara meraih lebih banyak hasil dengan JS yang lebih sedikit, ilmu terapan yang lebih banyak mengenai komponen AMP, bahkan mungkin saja coding langsung (glek!). Dan seperti tahun lalu akan ada banyak waktu untuk terhubung dengan tim AMP untuk mengajukan pertanyaan dan berbagi input pada project. Daftar pembicara khusus akan diumumkan di bulan mendatang.

Dan tahun ini, tim AMP ingin mendengar lebih banyak lagi dari komunitas, jadi kami mengundang Anda untuk berbicara agar menjadi perhatian. Bagikan hal paling menarik yang telah Anda lakukan dengan AMP, tantangan Anda dengan AMP dalam produksi, bahkan topik yang bukan mengenai AMP tetapi terkait dengan pembangunan halaman AMP, seperti cara memanfaatkan fitur terbaik yang ditawarkan CSS.

Event akan berlangsung sehari penuh pada tanggal 13 dan 14 Februari, jadi pastikan untuk mendaftar dan menandai kalender Anda. Dan bagi siapa pun yang tidak bisa hadir secara langsung, kami akan menghadirkan live stream konten di saluran YouTube AMP. Detail selengkapnya tentang tempat penyelenggaraan akan segera disampaikan, tetapi kami berharap bisa berjumpa dengan Anda semua di AMPsterdam.

Diposting oleh Matt Ludwig, AMP Project Marketing Lead, Google

Salah satu keuntungan dari web adalah web memungkinkan developer membuat berbagai jenis pengalaman apa pun yang dapat mereka bayangkan, yang menyebabkan keragaman konten yang tersedia di web saat ini. Meskipun sebagian besar produsen konten tertarik untuk menyediakan pengalaman sempurna bagi penggunanya, kami mendapati bahwa sebagian kecil dari mereka menggunakan fleksibilitas dan kekuatan web untuk memanfaatkan pengguna dan mengalihkannya ke tujuan yang tidak diinginkan. 1 dari setiap 5 laporan feedback dari pengguna Chrome di desktop menyebutkan bahwa mereka menjumpai beberapa jenis konten yang tidak diinginkan, dan kami menanggapi feedback ini dengan serius saat mempertimbangkan cara meningkatkan Chrome. Setelah fitur seperti pop-up blocker dan autoplay protections Chrome, dalam beberapa rilis berikutnya kami akan meluncurkan tiga perlindungan baru yang dirancang untuk memberi pengguna semua keindahan dan kekuatan web, tetapi tanpa berbagai jenis perilaku yang tidak diinginkan ini.

Salah satu feedback yang sering kami dengar dari pengguna adalah halaman yang secara tak terduga mengarah ke halaman baru, tanpa sebab apa pun. Kami menemukan bahwa pengalihan ini sering kali berasal dari konten pihak ketiga yang disematkan di halaman, dan pembuat halaman sama sekali tidak bermaksud mengalihkan. Untuk mengatasi hal ini, di Chrome 64, semua pengalihan yang berasal dari iframe pihak ketiga akan menunjukkan infobar sebagai ganti mengalihkan, kecuali jika pengguna berinteraksi dengan bingkai tersebut. Ini akan menjaga pengguna tetap pada halaman yang mereka baca, dan mencegah pengalihan yang mengejutkan tersebut.
Contoh pengalihan yang diblokir di situs pengujian. iframe yang diembed di situs mencoba mengarahkan halaman ke tujuan yang tidak diinginkan, namun Chrome mencegah pengalihan dan menampilkan infobar.

Saat pengguna berinteraksi dengan konten, sesuatu bisa saja berjalan salah. Salah satu contoh yang menyebabkan pengguna frustrasi adalah saat mengklik link untuk membuka tujuan yang diinginkan di tab baru, jendela utama malah mengarah ke halaman berbeda yang tidak diinginkan. Mulai Chrome 65, kami juga akan mendeteksi perilaku ini, memicu infobar, dan mencegah agar tab utama tidak dialihkan. Hal ini memungkinkan pengguna untuk segera melanjutkan ke tujuan yang diinginkan, sekaligus menjaga konteks halaman asalnya.

Yang terakhir, ada beberapa jenis pengalaman penyalahgunaan lain yang mengarahkan pengguna ke tujuan yang tidak diinginkan tetapi sulit dideteksi secara otomatis. Ini termasuk link ke situs web pihak ketiga yang disamarkan sebagai tombol putar atau tombol kontrol situs lainnya, atau hamparan transparan di situs web yang menangkap semua klik dan membuka tab atau jendela baru.
Dua jenis pengalaman penyalahgunaan ketika kontrol situs palsu tampaknya melakukan hal tertentu, tetapi memiliki perilaku yang berbeda saat diklik. Yang satu terlihat seperti tombol putar pada video tetapi mengarahkan pengguna ke download yang tidak diinginkan saat diklik (kiri), dan yang satunya terlihat seperti tombol tutup tetapi justru membuka jendela pop-up yang tidak diinginkan (kanan).

Sama dengan cara Google Safe Browsing melindungi pengguna dari konten berbahaya, mulai awal Januari pop-up blocker Chrome akan mencegah situs dengan jenis pengalaman penyalahgunaan ini dari membuka jendela atau tab baru. Untuk membantu pemilik situs mempersiapkan perubahan ini, hari ini kami juga meluncurkan Laporan Pengalaman Penyalahgunaan bersama dengan laporan serupa lainnya di Google Search Console. Pemilik situs bisa menggunakan laporan tersebut untuk mengetahui apakah ada pengalaman penyalahgunaan yang ditemukan di situs mereka dan meningkatkan pengalaman pengguna. Jika tidak, pengalaman penyalahgunaan yang tidak ditangani selama 30 hari akan memicu pencegahan jendela dan tab baru.

Secara bersama-sama, perlindungan ini secara dramatis akan meningkatkan pengalaman penjelajahan web pengguna selagi tetap memungkinkan pengguna mengakses semua yang ditawarkan web.

Diposting oleh Ryan Schoen, Product Manager

Kami dengan bangga mengumumkan peluncuran Firebase Predictions versi beta. Bersama dengan ini, kami membawa kekuatan sistem machine learning Google ke setiap developer yang menggunakan Firebase. Predictions adalah produk yang bisa membangun kelompok pengguna dinamis berdasarkan perilaku yang diprediksi, ditetapkan menggunakan model yang dipelajari machine, kemudian kelompok pengguna ini dapat ditargetkan menggunakan Firebase Cloud Messaging, Remote Config dan teknologi lainnya. Kelompok pengguna diupdate setiap hari agar prediksi Anda selalu terbaru.

Secara bawaan, ada empat kelompok prediksi:
  • Churn adalah kelompok pengguna yang diprediksi akan berhenti secara halus -- yaitu berhenti menggunakan aplikasi Anda -- dalam 7 hari ke depan.
  • Not_Churn adalah kelompok pengguna yang diprediksi akan tetap menggunakan aplikasi Anda dalam 7 hari ke depan.
  • Spend adalah kelompok pengguna yang diprediksi akan melakukan pembelian dalam aplikasi dalam 7 hari ke depan
  • Not_Spend adalah kelompok pengguna yang diprediksi tidak akan melakukan pembelian dalam aplikasi dalam 7 hari ke depan

Anda bisa langsung melihat ketiga kelompok ini saat memilih Predictions di navigasi kiri Firebase Console.

Anda akan melihat bahwa masing-masing kartu ini memiliki tindakan yang bisa Anda lakukan terhadapnya.

Tolerance: Slider toleransi memberi Anda kemampuan untuk menoleransi risiko rendah, sedang atau tinggi dari diagnosis positif palsu. Jadi, dengan toleransi disetel rendah, populasi pengguna akan lebih sedikit, tetapi demikian juga dengan risiko diagnosis positif palsu Anda. Demikian pula, dengan toleransi disetel tinggi, Anda akan memiliki populasi pengguna yang lebih banyak, tetapi dengan risiko beberapa dari mereka didiagnosis positif palsu. Dalam kasus 'churn', diagnosis positif palsu adalah pengguna yang diprediksi akan berhenti, tetapi ternyata terus menggunakan aplikasi Anda.

Target Users: Ini memberi Anda menu drop-down yang bisa dipilih Remote Config atau Notifications untuk kelompok pengguna tersebut. Ini juga terhubung ke beberapa panduan praktis untuk menawarkan insentif dalam aplikasi.



Memilih Remote Config akan membawa Anda masuk ke layar baru tempat Anda bisa menetapkan parameter remote config yang ingin Anda siapkan, kemudian nilai parameter untuk populasi tersebut. Jadi, misalnya jika Anda telah membuat sebuah game, dan terjadi gejolak pengguna, lalu Anda melihat dari umpan balik bahwa game ini terlalu sulit dimainkan, Anda bisa mengatur variabel remote config untuk tingkat kesulitan, sehingga pengguna yang ada kemungkinan berhenti akan mendapatkan nilai default tingkat kesulitan yang lebih rendah, dan akan merasakan pengalaman bermain game yang lebih mudah.

Memilih Notifications akan membuka composer agar pesan dikirim menggunakan Firebase Cloud Messaging, tetapi selain opsi biasa untuk memilih target audience, Anda juga akan mendapatkan kelompok pengguna terprediksi yang telah terisi sebagai segmen pengguna.



Hal ini memungkinkan Anda untuk menargetkan notifikasi di kelompok pengguna tersebut. Jadi, misalnya, untuk pengguna dengan risiko berhenti, Anda bisa mengirimkan notifikasi dengan tawaran menarik agar pengguna terus menggunakan aplikasi.

Membuat prediksi Anda sendiri. Tentu saja, Anda tidak dibatasi pada kartu prediksi bawaan, dan bisa membuat prediksi sendiri berdasarkan event khusus yang disiapkan di aplikasi Anda. Dalam kasus ini, Anda akan melihat kartu yang memungkinkan Anda membuat prediksi.

Dan bila Anda memilihnya, Anda bisa membuat prediksi kapan event Anda akan terjadi, atau tidak akan terjadi. Ini membantu Anda mengidentifikasi pengguna yang kemungkinan akan terlibat dalam event konversi tersebut:

Jadi, misalnya, dalam kasus di atas, setiap kali pengguna naik level di game, event konversi level_up akan dicatat. Dengan demikian, Anda bisa membuat prediksi bagi pemain yang mungkin naik level, dan memberi insentif agar terus bermain.

Kemudian, setelah Anda menyimpan prediksi, seiring waktu, kartu akan terkumpul di Firebase Console dengan cara yang sama seperti kartu bawaan.

Dan kartu ini bisa digunakan dengan cara yang sama seperti yang lain -- termasuk menargetkan pengguna dengan notifikasi dan Remote Config.

Firebase Predictions adalah produk Beta, dan kami terus berupaya memperbaiki dan meningkatkannya. Jika ada pertanyaan atau masukan, silakan hubungi kami -- untuk bug dan saran produk, Anda bisa menghubungi kami di firebase.google.com/support.

Pelajari lebih lanjut tentang Firebase Predictions di firebase.google.com/products/predictions/ atau langsung pelajari dokumen kami di sini.

Catatan editor: Berikut ini adalah kutipan dari sebuah studi independen yang dilakukan oleh Stone Temple, suatu agensi marketing digital, yang diposting dengan seizin mereka. Baca studi selengkapnya di sini

Kami melakukan wawancara terhadap lebih dari 10 perusahaan yang telah berinvestasi secara besar-besaran di AMP, untuk melihat apakah kami bisa mengetahui seberapa sulit implementasinya, tantangan yang dihadapi, solusi yang mereka temukan untuk mengatasinya, dan manfaat yang mereka dapat sebagai hasil.  Kami memutuskan untuk berfokus pada hal ini karena kami telah bekerja dengan beberapa klien di AMP, dan begitu banyak orang yang membahas AMP bersama kami  dibingungkan oleh satu atau beberapa mitos, dan kami ingin membantu meluruskan pemahaman ini. Selain itu, kami pikir industri ini akan sangat terbantu bila studi dilakukan secara independen dari Google, jadi setiap potensi bias bisa diminimalkan.

Dalam studi ini, Anda akan melihat hasil investigasi berskala besar yang kami lakukan ke dalam AMP. Saya mulai belajar sebanyak mungkin dengan berbicara kepada 10 perusahaan berbeda tentang pengalaman mereka dengan AMP. Ini semua adalah perusahaan yang merilis implementasi AMP pada bagian utama, atau hampir semua, halaman mereka.

TL;DR, bagi Anda yang tidak sempat memeriksa secara mendalami semua detailnya, adalah bahwa perusahaan yang melakukan implementasi AMP yang lengkap, hampir semua hasilnya bagus atau sangat bagus. Namun, bagaimana saya mendefinisikan "implementasi lengkap" mungkin bukan yang Anda harapkan (Anda harus teruskan membaca untuk mengetahui apa yang sedang saya bicarakan).

Dalam studi kami, masing-masing peserta berbagi banyak detail tentang pengalaman mereka dengan AMP, termasuk masalah implementasi, dan metrik yang dihasilkan. Sebagai hasilnya, studi ini akan membantu Anda memahami:
  • Potensi manfaat dari implementasi AMP
  • Berapa banyak usaha yang dibutuhkan
  • Solusi untuk beberapa tantangan
  • Seperti apa potensi ROI Anda.

Rangkuman


Secara keseluruhan, saya percaya bahwa AMP menawarkan manfaat yang sangat besar bagi siapa saja yang meluangkan waktu untuk sungguh-sungguh melakukannya dengan benar. Dan jika dilakukan dengan hati-hati, implementasi Anda bisa dibuat cukup skalabel. Seperti yang Anda lihat dalam studi ini, pihak-pihak yang terlibat benar-benar tidak menghabiskan sejumlah besar upaya engineering pada AMP. Sebagian besar dari Anda yang membaca ini mungkin juga tidak perlu melakukan banyak upaya engineering.

Baca studi Stone Temple selengkapnya di sini.


Diposting oleh Dave Burke, VP of Engineering
Di Google for India hari Senin, kami mengumumkan rilis final Android 8.1 Oreo. Android 8.1 Oreo adalah langkah menarik selanjutnya untuk menghidupkan kembali visi kami tentang platform mobile AI-first, untuk semua orang, di mana saja.

Android 8.1 memperkenalkan dukungan untuk pengalaman software Android Oreo (Go edition) baru kami bagi perangkat entry-level. Android Oreo (Go edition) membawa yang terbaik dari Android untuk pasar perangkat bermemori rendah yang berkembang pesat di seluruh dunia, termasuk aplikasi dan game Anda.

Android 8.1 juga memperkenalkan Neural Networks API, runtime machine learning yang dipercepat hardware untuk mendukung kemampuan ML di aplikasi Anda. Pada perangkat yang didukung, Neural Networks API mengaktifkan inferensi yang cepat dan efisien untuk berbagai kasus penggunaan utama, dimulai dengan klasifikasi objek berbasis-visi.

Anda bisa memulai Android 8.1 Oreo (API level 27) hari ini. Saat ini, kami mendorong sumber ke Android Open Source Project, dan meluncurkan update untuk perangkat Pixel dan Nexus yang didukung pada pekan depan. Kami juga bekerja sama dengan mitra pembuat perangkat untuk menghadirkan Android 8.1 ke lebih banyak perangkat, termasuk perangkat Android Oreo (Go edition), dalam beberapa bulan mendatang.

Android Oreo (Go edition)


Seperti yang diumumkan di Google I/O 2017, project "Android Go" adalah inisiatif kami untuk mengoptimalkan pengalaman Android bagi miliaran orang yang akan online di seluruh dunia. Dimulai dengan Android 8.1, kami menjadikan Android platform yang ideal untuk perangkat entry-level dalam konfigurasi Android Oreo (Go edition):
  • Optimalisasi memori -- Pengoptimalan penggunaan memori di semua platform untuk memastikan aplikasi bisa berjalan secara efisien pada perangkat dengan RAM 1GB atau kurang.
  • Opsi penargetan yang fleksibel -- Konstanta fitur hardware baru memungkinkan Anda menargetkan distribusi aplikasi ke perangkat biasa atau perangkat dengan RAM rendah melalui Google Play.
  • Google app yang dioptimalkan: Membangun kembali dan mengoptimalkan versi Google app, menggunakan lebih sedikit memori, ruang penyimpanan, dan data seluler.
  • Google Play: Meskipun semua aplikasi akan tersedia di perangkat Android Oreo (Go edition), Google Play akan memberikan visibilitas pada aplikasi yang secara khusus dioptimalkan oleh developer untuk memberikan pengalaman yang menakjubkan bagi miliaran orang dengan panduan membangun untuk miliaran pengguna.

Kami telah mengupdate panduan membangun untuk miliaran pengguna dengan petunjuk tambahan tentang cara mengoptimalkan aplikasi Anda untuk perangkat Android Oreo (Go edition). Bagi sebagian besar developer, mengoptimalkan APK yang ada atau menggunakan fitur Multi APK Google Play untuk menargetkan versi APK bagi perangkat dengan RAM rendah adalah cara terbaik untuk mempersiapkan perangkat Android Oreo (Go edition). Ingatlah bahwa membuat aplikasi Anda lebih ringan dan lebih efisien akan menguntungkan semua pengguna, apa pun perangkatnya.

Neural Networks API


Neural Networks API menyediakan komputasi dan inferensi yang dipercepat untuk framework machine learning on-device seperti TensorFlow Lite -- library ML lintas-platform Google untuk seluler -- serta Caffe2 dan lainnya. TensorFlow Lite sekarang tersedia untuk developer, jadi silakan kunjungi repo open source TensorFlow Lite untuk mendownload dan mendapatkan dokumentasinya. TensorFlow Lite bekerja dengan Neural Networks API untuk menjalankan model seperti MobileNets, Inception v3, dan Smart Reply dengan efisien di perangkat seluler Anda.

Penyempurnaan Autofill dan lainnya


Android 8.1 mencakup fitur baru dan API developer (API level 27), bersama dengan optimalisasi, perbaikan bug, dan patch keamanan terbaru. Perluas aplikasi Anda dengan penyempurnaan Autofill, SharedMemory API, dan lebih banyak lagi. Anda juga bisa menambahkan fitur populer Android Oreo, lihat situs Android Oreo untuk detail selengkapnya.

Menguji aplikasi Anda di Android 8.1


Jika belum, luangkan waktu hari ini untuk menguji aplikasi Anda dan memastikan bahwa mereka menawarkan pengalaman yang diinginkan agar pengguna melakukan upgrade ke Android 8.1 Oreo.

Cukup instal aplikasi Anda saat ini dari Google Play ke perangkat atau emulator yang menjalankan Android Oreo dan lakukan pengujian untuk alur penggunaan. Aplikasi harus berjalan dan terlihat bagus, dan menangani perubahan perilaku Android Oreo dengan baik. Secara khusus, perhatikan batasan lokasi latar belakang, saluran notifikasi, dan perubahan pada jaringan, keamanan, dan identifier.

Mempercepat development Anda dengan Android Studio


Untuk pembangunan dengan Android 8.1, sebaiknya lakukan update ke Android Studio 3.0, yang sekarang tersedia dari saluran stabil. Selain alat pembuatan profil kinerja aplikasi baru yang lebih baik, dukungan untuk bahasa pemrograman Kotlin, dan optimalisasi build Gradle, Android Studio 3.0 mempermudah pengembangan dengan fitur Android Oreo seperti Instant Apps, Font XML, font yang bisa didownload, dan ikon adaptif.

Dengan platform terbaru, kami memperbarui SDK ini dan alat pembangunan dalam Android Studio, serta citra sistem emulator API Level 27. Kami merekomendasikan update ke Android Support Library 27.0.2, yang tersedia dari repositori Maven Google. Lihat catatan versi untuk informasi selengkapnya mengenai apa yang baru.

Seperti biasa, kami juga menyediakan citra pabrik dan OTA yang bisa didownload di halaman Image Nexus untuk membantu Anda melakukan pengujian akhir pada perangkat Pixel dan Nexus.

Memublikasikan update ke Google Play


Setelah siap, Anda bisa memublikasikan update APK yang menargetkan API level 27 di saluran alfa, beta, atau produksi. Pastikan aplikasi yang diupdate berjalan dengan baik di Android Oreo serta di versi yang lama. Sebaiknya gunakan beta testing untuk mendapatkan masukan awal dari sekelompok kecil pengguna dan laporan pre-launch untuk membantu Anda mengidentifikasi bila ada masalah, kemudian lakukan peluncuran secara bertahap. Kunjungi situs Android Developers untuk menemukan informasi selengkapnya tentang praktik terbaik peluncuran. Kami tunggu update aplikasi Anda!

Apa yang berikutnya untuk Android Oreo?


Kami akan segera menutup issue tracker Developer Preview, tapi tolong tetap beri kami masukan! Jika Anda masih melihat masalah yang Anda ajukan di preview tracker, cukup laporkan masalah baru untuk Android 8.1 dalam issue tracker AOSP. Anda bisa tetap memberi kami masukan atau mengajukan pertanyaan di komunitas developer.

Misi Firebase kami adalah untuk membantu Anda membangun aplikasi yang lebih baik dan mengembangkan bisnis Anda, dengan menyediakan fitur yang memecahkan masalah umum selama siklus pengembangan aplikasi. Kami mengelola infrastruktur backend, memberi Anda fitur untuk meningkatkan kualitas dan stabilitas aplikasi, serta membantu Anda memperoleh dan menarik pengguna, sehingga Anda bisa berfokus untuk membangun pengalaman pengguna yang fantastis.

Sampai sekarang, lebih dari satu juta developer telah menggunakan Firebase untuk membangun aplikasi mereka di iOS, Android, dan web. Semua ini membuat kami terinspirasi dan bangga ketika mendengar bermacam cerita yang Anda semua bagikan kepada kami. Ambil contoh Doodle, perusahaan yang membantu Anda menemukan tanggal dan waktu terbaik untuk bertemu dengan orang lain. Doodle baru-baru ini menggunakan Firebase untuk merancang ulang aplikasi mereka dan meningkatkan retensi serta interaksi.

Kami sangat senang bisa menjadi tuan rumah Firebase Dev Summit tahunan yang kedua di Amsterdam, di sini kami bisa bertemu dengan banyak anggota komunitas developer! Kami telah bekerja keras untuk meningkatkan Firebase, sehingga produk kami bisa bekerja dengan mulus, dan kami memiliki beberapa update baru yang menarik untuk dibagikan sekarang. Kami telah mengintegrasikan Crashlytics ke dalam Firebase, mengaktifkan dukungan first-class A/B dan mengambil langkah pertama untuk memasukkan kekuatan machine learning Google ke Firebase dengan produk baru yang disebut Predictions. Kami juga telah melakukan beberapa perbaikan lainnya, jadi mari kita buka semuanya!

Memasukkan Crashlytics ke dalam Firebase


Sejak Fabric bergabung dengan Google, kami telah berupaya menghadirkan platform terbaik kami dengan sebaik-baiknya. Hari ini kami mengumumkan langkah besar dalam perjalanan ini: kami menambahkan Crashlytics ke Firebase Console untuk pengguna Firebase baru dan lama. Crashlytics adalah pembuat laporan kerusakan terbaik di kelasnya yang membantu Anda melacak, memprioritaskan, dan memperbaiki masalah stabilitas yang mengurangi kualitas aplikasi Anda, secara langsung. Kami akan meluncurkan update ini selama beberapa minggu ke depan, tetapi jika ingin mencobanya lebih awal, Anda bisa mengunjungi g.co/firebase/opt-in dan mendapatkan akses saat ini.

Kami juga mengintegrasikan Crashlytics dengan bagian Firebase lainnya. Anda sekarang bisa menggunakan event Crashlytics untuk memicu Cloud Functions dan menggerakkan integrasi custom workflow. Misalnya, Anda bisa mengotomatisasi alur kerja untuk mengarahkan masalah dalam alur aplikasi penting - seperti jalur pembelian Anda - ke developer atau Slack room tertentu, memastikan eskalasi yang tepat, mengurangi waktu untuk menyelesaikan resolusi, dan meningkatkan stabilitas.

Merancang ulang konsol


Selain memasukkan Crashlytics ke dalam Firebase, berkolaborasi dengan tim Fabric telah memungkinkan kami untuk membuat beberapa update menarik ke Firebase console yang akan membantu Anda menemukan informasi penting tentang aplikasi Anda dengan lebih mudah dan efisien.

Pertama-tama, Anda akan melihat struktur baru di menu navigasi sebelah kiri. Kami telah mengelompokkan produk Firebase ke dalam empat area utama, berdasarkan siklus pengembangan aplikasi: Develop, Stability, Analytics, dan Grow. Semua produk yang biasanya Anda lihat di Firebase console masih tetap ada; kami hanya mengatur ulang semuanya agar lebih akurat mencerminkan cara kerja tim Anda.

Kami juga merancang ulang layar pertama yang Anda lihat saat membuka project Firebase — yang kami sebut layar Project Overview. Kami telah mendengar dari Anda bahwa sering kali ketika membuka konsol, Anda mencari empat statistik utama: daily active users, monthly active users, crash-free user rate, dan total crashes. Kami telah mengambil empat metrik utama tersebut dan menjadikannya pedoman untuk aplikasi apa pun dalam project ini. Kami juga menambahkan sparklines, sehingga Anda bisa memahami bagaimana kepopuleran aplikasi Anda dari waktu ke waktu.

Akhirnya, kami merombak bagian Analytics di konsol. Anda akan menemukan dasbor baru yang diatur berdasarkan pertanyaan dan tugas yang harus Anda hadapi setiap hari. Kami juga menambahkan bagian Latest Release yang memberi Anda semua informasi yang dibutuhkan tentang stabilitas dan adopsi rilis aplikasi terbaru, sehingga Anda bisa membuat keputusan yang cepat setelah peluncuran. Yang terakhir, kami telah menambahkan kartu realtime ke kedua bagian ini, sehingga Anda bisa memperoleh laporan terkini tentang data aplikasi Anda. Seperti Crashlytics, perubahan ini diluncurkan dalam beberapa minggu mendatang, tetapi Anda bisa mendapatkan akses sekarang dengan mengunjungi g.co/firebase/opt-in.


























Dasbor Analytics, sebelum dan sesudah

Meningkatkan Cloud Messaging API


Firebase Cloud Messaging (FCM) mempermudah Anda untuk mengirim notifikasi ke pengguna, baik lewat program maupun melalui Firebase Console. Namun, mengirimkan notifikasi lintas platform dengan fungsionalitas yang lebih kompleks adalah hal yang sulit dilakukan, terkadang Anda harus membuat beberapa pesan terpisah.

Hari ini, kami mengumumkan RESTful baru, FCM HTTP v1 API yang memperaman dan mempermudah pengiriman pesan ke aplikasi lintas platform Anda. FCM API baru ini memungkinkan Anda menggunakan kolom khusus platform dalam satu notifikasi. Misalnya, Anda bisa mengirim notifikasi teks sederhana ke iOS, tetapi permintaan dengan click_action ke Android, semuanya dalam satu panggilan API. Untuk membaca selengkapnya tentang FCM API yang baru, kunjungi dokumentasi kami.

Pengumuman framework pengujian A/B yang baru


Selain FCM, alat lain yang hebat untuk mendorong interaksi dan retensi pengguna adalah Remote Config. Sampai sekarang, menjalankan berbagai pengujian dengan Remote Config atau FCM dilakukan secara manual dan cukup repot. Kami telah mendengar banyak dari Anda bahwa Anda menginginkan cara yang lebih mudah untuk menguji seberapa besar varian aplikasi atau notifikasi push memengaruhi metrik bisnis utama.

Hari ini, kami meluncurkan pengujian A/B versi beta, fitur Firebase baru yang terintegrasi dengan Analytics, FCM, dan Remote Config. Pengujian ini dibuat di mesin statistik dan bertahun-tahun pembelajaran dari Google Optimize, produk pengujian dan personalisasi situs web gratis kami, dan mempermudah perancangan eksperimen langsung dari Firebase console.

Menyiapkan pengujian A/B bisa dilakukan dengan cepat dan mudah. Anda bisa membuat eksperimen dengan Remote Config atau FCM, menentukan berbagai nilai varian dan ukuran populasi yang akan diuji, lalu menetapkan tujuan eksperimen. Dari sana, Firebase akan mengurus sisanya, secara otomatis menjalankan eksperimen dan memberi tahu Anda saat mendapat hasil yang diinginkan berdasarkan signifikansi statistik. Pelajari lebih lanjut dan mulailah pengujian A/B di sini.

Memperkenalkan Firebase Predictions


Apakah Anda ingin lebih banyak interaksi, pendapatan, atau metrik bisnis yang berbeda, menentukan penargetan yang tepat bisa saja menjadi sulit. Menjadi yang proaktif, bukannya reaktif, selalu lebih baik, tetapi sampai sekarang, tidak ada cara yang mudah untuk memprediksi tindakan yang mungkin dilakukan pengguna. Untuk membantu hal ini, kami mengambil langkah pertama untuk memasukkan kekuatan machine learning Google ke dalam Firebase dengan produk baru yang disebut Firebase Predictions.





Kami sudah mulai menggunakan machine learning di bagian lain Google, untuk meningkatkan produk konsumen seperti Photos, Inbox, atau Asisten. Sekarang, Anda bisa memanfaatkan machine learning Google, menggunakan Firebase, untuk membantu Anda membangun produk yang hebat. Predictions secara otomatis membuat grup pengguna dinamis berdasarkan perkiraan perilaku dari data Analytics dan, secara langsung, ia akan membuat empat grup pengguna:
  • Pengguna yang diprediksi akan churn dalam 7 hari ke depan
  • Pengguna yang diprediksi akan tetap menggunakan aplikasi Anda
  • Pengguna yang diprediksi akan membelanjakan uang
  • Pengguna yang diprediksi tidak akan membelanjakan uang dalam 7 hari ke depan

Anda bisa menggunakan prediksi ini untuk penargetan dengan Remote Config dan notifications composer, yang memberi Anda kemampuan untuk hanya menampilkan iklan kepada pengguna yang diperkirakan tidak akan membelanjakan uang di aplikasi Anda atau mengirimkan notifikasi ke pengguna yang diperkirakan akan bergolak dalam 7 hari ke depan.

Anda juga bisa membuat prediksi untuk setiap event konversi Analytics di aplikasi Anda. Misalnya, jika menyelesaikan level 3 merupakan prestasi penting dalam aplikasi Anda, Anda bisa membuat prediksi bagi pengguna yang kemungkinan tidak mencapai prestasi tersebut kemudian mengirimi mereka promosi dalam aplikasi menggunakan Remote Config.

Kami sudah mendengar dari mitra bahwa Predictions membantu mereka mendorong pertumbuhan dalam metrik bisnis utama. Halfbrick, developer game yang dikenal dengan judul populer seperti Fruit Ninja dan Dan the Man, telah menggunakan Predictions serta Remote Config dan meningkatkan tingkat retensi 7 hari sebesar 20%! Untuk mempelajari lebih lanjut tentang Predictions, serta membaca cerita lengkap Halfbrick, kunjungi halaman produk kami di sini.

Melihat ke masa depan


Meskipun kami sangat senang dengan update Firebase yang kami umumkan hari ini, kami juga tahu bahwa masih banyak pekerjaan yang harus diselesaikan. Kami bekerja keras untuk mempersiapkan General Data Protection Regulation (GDPR) di Firebase dan kami berkomitmen untuk membantu Anda agar berhasil di sini. Menawarkan perjanjian pemrosesan data dengan tepat adalah satu langkah penting yang kami lakukan untuk memastikan bahwa Firebase bekerja bagi Anda, tidak peduli seberapa besar bisnis Anda atau di mana lokasi pengguna Anda. Kami juga akan menerbitkan fitur dan dokumentasi untuk membantu developer memastikan bahwa mereka sesuai. Anda bisa melihat FAQ privasi kami di g.co/firebase/gdpr.

Karena kami terus mengembangkan dan meningkatkan platform, kami selalu mengharapkan masukan dari Anda. Bergabunglah dengan program Alpha kami untuk membantu membentuk masa depan platform ini dan tetap berada di ujung tombak Firebase.

Jika Anda tidak dapat bergabung bersama kami di Amsterdam, semua sesi kami direkam dan diposting ke saluran YouTube kami. Terima kasih telah menjadi bagian dari komunitas kami dan selamat membangun!

Diposting oleh Pablo Alvarez, Product Manager, AdMob

Setiap interaksi yang dilakukan pengguna pada aplikasi Anda memiliki kesan tersendiri bagi mereka. Itulah sebabnya kami secara terus-menerus mengembangkan rekomendasi dan kebijakan periklanan kami untuk memastikan bahwa di mana pun dan apa pun perangkat yang digunakan pengguna untuk membuka aplikasi Anda, pengguna merasakan pengalaman yang berkesan.

Dengan diluncurkannya iPhone X, developer sekarang perlu mempertimbangkan rencana desain baru karena sudut yang membulat, tekukan ke dalam, dan indikator layar utama pada layar yang diperluas bisa menghalangi konten dan menyebabkan pengalaman iklan yang buruk bagi pengguna saat iklan ditempatkan di area ini.

Contoh iklan yang muncul di luar "area aman" pada iPhone X
Itulah sebabnya kami membuat panduan untuk membantu Anda menyesuaikan strategi iklan bagi iPhone X. Ini mencakup panduan tentang bagaimana Anda bisa mengalihkan penempatan banner atau iklan bawaan ke "area aman" yang ditunjuk pada perangkat baru ini.

Kami juga mengupdate kebijakan kami untuk menunjukkan bahwa iklan tidak boleh ditempatkan di area yang menyebabkan objek dapat mengganggu interaksi khusus pengguna dengan iklan atau aplikasi, seperti di bawah indikator layar utama pada iPhone X.

Harap tinjau ulasan update kebijakan ini dan panduan implementasi yang disarankan untuk memastikan Anda memenuhi semua persyaratan per tanggal 20 November.

Jika ada pertanyaan, kunjungi Pusat Bantuan AdMob atau hubungi tim akun Google Anda.

Diposting oleh Maru Ahues Bouza, Developer Relations Partner, Google Play
Android Instant Apps menyediakan pengalaman native yang kaya saat kita menge-tap link web. Pengguna bisa mencoba aplikasi Anda tanpa menginstall terlebih dahulu, yang memungkinkan tingkat dan kualitas interaksi yang lebih tinggi.
Namun, untuk memberi latensi yang berimbang dalam pemuatan halaman mobile web, instant app harus kecil dan terstruktur dengan baik, sehingga bisa didownload dan dijalankan dengan cepat saat merespons tap URL. Mengingat hal itu, kami menganjurkan agar binary yang dimuat dalam merespons URL titik-masuk dibuat sekecil mungkin, maksimum 4MB. Semakin kecil binary, semakin cepat instant app akan dimuat dan semakin halus pengalaman pengguna.
Dokumen ini akan menjelaskan praktik terbaik guna mengelola struktur aplikasi dan ukuran binary untuk memungkinkan pengalaman instant app yang mulus. Praktik ini juga menguntungkan buat aplikasi yang dapat diinstal.

Mengoptimalkan basis kode Anda

Keuntungan ukuran binary terbesar berasal dari pengoptimalan aplikasi Anda ke dalam beberapa modul fitur. Meskipun ukuran dan set fitur Anda saat ini tidak memerlukan banyak fitur, sebaiknya Anda merancangnya demikian, sehingga Anda bisa dengan cepat menambahkan lebih banyak fitur di masa mendatang tanpa memengaruhi ukuran binary dari fitur yang sudah ada. Kami juga sangat merekomendasikan penggunaan basis kode modular terpadu untuk menghasilkan binary aplikasi instan dan aplikasi yang diinstal, karena hal ini akan mengurangi beban pemeliharaan kode dan proyek yang terpisah dan menyediakan struktur proyek yang lebih bersih pada keduanya. Berdasarkan pengalaman mitra akses awal kami, kami yakin ini akan memiliki dampak terbesar terhadap ukuran binary saat mendownload. Namun, ini juga membutuhkan investasi paling banyak.
Untuk mencapai tujuan tersebut, Anda bisa memulai dengan modul (dasar) tunggal dan kemudian mengoptimalkan kode dengan memindahkan bagian yang relevan ke modul fitur. Perhatikan bahwa Anda tidak perlu khawatir tentang ukuran binary saat mengembangkan instant app, karena batas ukuran tidak diberlakukan untuk binary yang dibangun secara lokal. Anda juga bisa mempublikasikan binary melalui Play Developers Console ke jalur Development (jalur khusus untuk penerapan instant app secara cepat selama development), dengan batas ukuran 10MB. [1, 2] Pembatasan 4MB diterapkan setelah output binary Anda keluar dari jalur Development.
Setiap modul fitur bisa memiliki satu (atau beberapa) titik masuk – aktivitas – yang berhubungan dengan URL yang diberikan. Saat memecah basis kode tunggal menjadi beberapa modul, Anda akan memiliki titik masuk yang berbeda untuk fitur yang berbeda, dan platform tersebut akan memuat fitur yang relevan sesuai kebutuhan. Ingatlah, binary total yang akan didownload untuk titik masuk tertentu harus di bawah 4MB, jadi ukuran gabungan dari setiap modul fitur dan modul dasar harus di bawah 4MB.
Disarankan untuk menetapkan pemetaan fitur–aktivitas–titik masuk terlebih dahulu, kemudian menyusun upaya pengoptimalan untuk mengurangi ukuran binary bagi setiap titik masuk.
Pertimbangkan juga bagaimana pustaka Anda disertakan. Bila modul fitur spesifik memerlukan pustaka tertentu, pustaka tersebut sebaiknya hanya disertakan dalam modul fitur, bukannya ditambahkan dalam APK dasar. Ini akan mengurangi ukuran modul dasar. Misalnya, katakanlah Anda memiliki aplikasi yang bergantung pada pustaka X, Y, dan Z. Awalnya, Anda mungkin memasukkan semua pustaka dalam modul dasar dengan menempatkan semua dependensi di file gradle.build dasar. Tetapi kalau kode pada modul fitur memerlukan pustaka Z, bisa dimengerti bila dependensi dipindahkan dari modul dasar ke modul fitur. Ini dapat dilakukan asalkan tidak ada modul fitur lain yang bergantung pada pustaka yang sama. Bila beberapa modul fitur menggunakan pustaka yang sama, sebaiknya disimpan dalam modul dasar.

Pemeriksaan lint

Banyak aplikasi cenderung mendapatkan banyak sumber daya, dan selama periode waktu tertentu, sebagian dari sumber daya itu tidak lagi digunakan. Android Studio memiliki pemeriksaan lint bawaan berdaya guna untuk memeriksa sumber daya yang tidak terpakai. Tekan Alt+Ctrl+Shift+I (Cmd+Alt+Shift+I pada Mac OS), ketik "unused resources" dan jalankan pemeriksaan "Unused resources Android|Lint|Performance". Ini juga membantu mengurangi ukuran APK yang diinstal.

Sumber daya string

Serupa dengan sumber daya, perhatikan string, tidak semuanya dibutuhkan, dan biasanya ukuran aplikasi bisa dikurangi secara signifikan dengan menghapus sumber daya string yang tidak terpakai. Bila aplikasi mendukung banyak bahasa, Anda mungkin mau mengurangi jumlah sumber daya yang dilokalkan, karena ini biasanya menghapus sebagian besar aset sumber daya. Ini sangat penting jika aplikasi hanya mendukung beberapa bahasa tetapi menggunakan pustaka AppCompat, yang memuat pesan dalam banyak bahasa. Gunakan resConfig untuk memilih konfigurasi sumber daya tertentu saja. Petunjuk: biasanya Anda bisa menggunakan "auto" untuk membatasi konfigurasi yang diambil dari pustaka pihak ketiga agar cocok dengan set konfigurasi yang ditetapkan dalam proyek Anda.

Beralih ke WebP

Pengurangan signifikan dari ukuran sumber daya drawable bisa dicapai dengan beralih ke gambar WebP sebagai ganti PNG. Android Instant Apps mendukung semua fitur dalam format WebP (transparansi, lossless, dll.) sehingga tidak akan ada fungsionalitas yang hilang. Harap ingat bahwa ikon peluncur aplikasi harus menggunakan format PNG, tetapi seharusnya ini tidak menjadi masalah karena proyek biasanya menyimpannya di direktori mipmap-. Bila memerlukan solusi kompatibel mundur, Anda harus menyertakan gambar PNG asli dalam modul APK dan ia akan menggantikan sumber daya WebP secara otomatis (set sumber daya utama menggantikan semua sumber daya dari modul fitur/AAR). [4]
Tentu saja, menggunakan drawable vektor membuat Anda mempunyai lebih banyak ruang yang berharga, tetapi menggunakan drawable vektor memerlukan perubahan kode sedangkan trik dengan gambar WebP untuk instant app dan gambar PNG untuk APK dapat diinstal yang disebutkan di atas tidak memerlukan modifikasi kode.

Download aset pada waktu proses

Yang terakhir, ingatlah bahwa secara teknis tidak perlu memasukkan semua sumber daya di APK instant app, karena aplikasi tersebut bisa mendownload aset tambahan pada waktu proses. Pendekatan ini juga memungkinkan agar aplikasi hanya mendownload aset yang dibutuhkan. Modifikasi ini mungkin memerlukan perubahan yang signifikan pada basis kode, namun juga akan membantu Anda mengurangi ukuran APK dapat diinstal.
Bila penyusutan sumber daya tidak menyebabkan ukuran modul fitur aplikasi Anda di bawah batas, sekarang saatnya mencari cara untuk mengurangi ukuran kode.

Review native libraries

Beberapa library pihak ketiga mungkin menyertakan kode asli, yang mungkin sama sekali tidak digunakan dalam instant app. Jadi langkah pertama adalah meninjau pustaka asli yang dimasukkan ke dalam APK dan memastikan instant app hanya memuat kode yang benar-benar digunakan. Ingatlah untuk memeriksa ke dalam APK yang dikompilasi menggunakan APK Analyzer (Build -> APK Analyzer…) [5]

Review external libraries

Berikutnya adalah meninjau daftar semua pustaka eksternal yang terhubung dengan kode aplikasi. Anda mungkin menjumpai beberapa kejutan tak terduga dari dependensi transitif. Dependensi transitif terjadi ketika pustaka yang penting bagi proyek Anda bergantung pada pustaka lain, yang nantinya mungkin bergantung pada pustaka yang lainnya lagi. Terkadang dependensi transitif tersebut mungkin berisi kejutan tak terduga misalnya pustaka yang sama sekali tidak Anda butuhkan (yaitu pustaka pemrosesan JSON yang tidak digunakan dalam kode Anda.) Silakan lihat bagian "Meniadakan dependensi transitif" di Panduan Pengguna Gradle untuk informasi selengkapnya.
Android Studio memiliki beberapa fitur yang berguna untuk menganalisis dependensi eksternal bagi proyek. Selalu membantu bila memulai dengan tampilan Project:
Tampilan "Project" menunjukkan bagian yang disebut "External libraries", tempat Anda bisa melihat semua pustaka yang digunakan proyek, termasuk setiap dependensi transitif:
Untuk mengurangi ukuran fitur dasar lebih banyak lagi, Anda mungkin harus memerhatikan dependensi kode dan pustaka eksternal. Periksa tampilan "Project" dan cari pustaka tidak terpakai yang mungkin merupakan dependensi transitif yang tidak dibutuhkan proyek. Cari juga pustaka yang menyediakan fungsionalitas yang sama (misalnya beberapa pustaka untuk pemuatan/caching gambar). [4]
Anda juga bisa membandingkan versi-versi yang berbeda dengan alat APK Analyzer, dan ini dapat digunakan juga dengan APK instant.
Yang terakhir, tinjau kembali daftar dependensi transitif dan keluarkan yang tidak Anda butuhkan. Gunakan perintah berikut untuk meninjau grafik dependensi: gradle -q :MODULE:dependencies --configuration compile. Penjelasan lebih lanjut bisa ditemukan dalam dokumentasi Gradle.

Tips lainnya

Android Studio 3.0 menyertakan alat App Links Assistant, yang bisa membantu menghasilkan filter intent yang diperlukan, dan membantu memecah proyek menjadi beberapa modul. [3]
Setelah Anda berhasil mengecilkan bundel instant app di bawah batas ukuran, saatnya untuk memastikan bahwa proses pembangunan sudah mutakhir. Pastikan APK instant app dan paket aplikasi ditandatangani menggunakan "APK Signature Scheme v2". Jika Anda menandatangani APK menggunakan fitur SDK versi terbaru, semua harus dilakukan secara otomatis. Namun, jika Anda secara manual menandatangani artefak versi, Anda harus menghindari penggunaan jarsigner dan sebagai gantinya beralih ke apksigner.
Dan beberapa tips berguna untuk menyelaraskan kode aplikasi ke dalam lingkungan waktu proses instan. Harap ingat bahwa memiliki sedikit cabang kode untuk aplikasi dapat diinstal/instan, berdasarkan InstantApps.isInstantApp(...), seharusnya tidak bermasalah dan biasanya tidak membuat kode sumber tidak terbaca (kecuali jika Anda menyalahgunakannya). Selain itu, ketika menggunakan intent berbagi, pastikan kode tersebut tidak secara eksplisit menghitung aplikasi yang terinstal pada perangkat, model keamanan instant app tidak mengizinkannya. Cukup gunakan Intent.createChooser() reguler untuk menampilkan daftar semua tindakan yang dapat dilakukan pengguna.
Tingkat kesulitan pengembangan instant app untuk aplikasi Android yang ada bervariasi antar developer dan sangat bergantung pada bagaimana aplikasi Anda diatur saat ini. Bagi beberapa developer, ini memudahkan karena proyek Anda sudah diatur menjadi beberapa modul. Namun, bagi yang lain, fokusnya adalah mengurangi ukuran aset sumber daya dan kode, dan kami telah memperkenalkan alat dan fitur platform Android di atas untuk membantu Anda melakukannya.

Apa kata developer lain yang menggunakan Android Instant Apps

Yang terakhir, bacalah postingan sangat menarik berikut ini oleh developer yang telah membangun instant app:
Kunjungi situs Developer Android untuk memulai Android Instant Apps dan membaca lebih banyak kisah sukses instant app dari developer lain.

Diposting oleh Abby Beck, AMP Project UX lead, Google & Matt Ludwig, AMP Project marketing lead, Google

Dua pilar inti Accelerated Mobile Pages (AMP) Project adalah kecepatan dan pengalaman pengguna yang menakjubkan pada web. Dapat dikatakan, AMP Project juga peduli tentang cara supaya proses pembangunan halaman web lebih cepat dan lebih mudah. Karena itu kami membuat AMP Start, sebuah library dengan template berfitur lengkap dan elemen halaman biasa yang dibangun dengan AMP.

Setelah memilih template, Anda bisa mendownload kode lengkap untuk situs tersebut, yang berisi semua HTML, JavaScript dan CSS yang diperlukan untuk merender semua halaman dalam situs. AMP Start dibangun menggunakan Basscss, toolkit CSS tingkat rendah yang menyediakan banyak kelas utilitas CSS untuk menghindari kebutuhan akan CSS khusus. Dengan cara ini Anda bisa dengan cepat membuat halaman AMP yang responsif dan sangat cepat dengan konten Anda sendiri, tanpa perlu membangun elemen halaman dari awal.
ampstart_home@2x.png
Kami mengumumkan AMP Start pada bulan Maret, dan selama beberapa bulan terakhir kami telah bekerja sama dengan komunitas desain untuk membuat template tambahan dengan lebih vertikal, seperti retail dan travel.

ampstart_templates@2x.jpg


Template e-commerce yang baru ðŸ˜Ž


Hari ini kami meluncurkan AMP Start yang didesain ulang, agar Anda bisa dengan mudah menemukan template atau komponen yang Anda butuhkan untuk memulai dengan AMP. Ini termasuk template baru seperti Lune, yang menyorot satu lini produk dengan animasi scrolling mulus dan efek paralaks. Lune dirancang dengan nuansa modern untuk menampilkan detail item tertentu dan memberi pengunjung deskripsi dan informasi tentang produk dari toko tradisional.

Lune_template.gif
Template pada AMP Start benar-benar interaktif dan dibangun sepenuhnya dengan AMP sehingga mereka sangat cepat di semua perangkat. Untuk memulai pembangunan pengalaman retail yang dinamis, lihat juga template Bike Shop yang baru, yang memungkinkan Anda memperlihatkan library produk dengan fitur seperti pengurutan produk, galeri gambar, dan alur checkout.


ezgif.com-video-to-gif
Karena template ini didesain sedemikian rupa, setiap elemen template tertentu, seperti gambar tokoh atau menu sidebar, juga bisa didownload dan disesuaikan agar pas dengan merek Anda. Hal ini untuk mempermudah pembuatan halaman yang dirancang dengan baik bahkan jika Anda sudah merampungkan sebagian besar situs Anda.

Berikutnya?


Template tambahan akan ditambahkan ke AMP Start dalam beberapa bulan mendatang, termasuk situs untuk menampilkan portofolio kreatif, situs berita dengan pemberian tag konten dan majalah digital, serta situs bisnis lokal. Untuk benar-benar memaksimalkan batas mengenai apa yang bisa dilakukan dengan AMP, kami bekerja sama dengan komunitas toko desain termasuk North Kingdom, MetaLab dan Grain & Mortar untuk membuat template ini. Tujuan kami adalah untuk menampilkan kemungkinan interaktif dan dinamis saat menggunakan komponen seperti amp-bind dan amp-animation.

sort_filter (1)

Kami berharap perbaikan AMP Start ini akan mempermudah Anda untuk memulai AMP, baik ketika Anda sedang membangun situs baru atau menggunakan salah satu komponen bergaya untuk halaman yang ada. Seperti biasa, kami menyambut baik setiap komentar, masukan, dan kontribusi Anda. Untuk bagian AMP Project yang lain, kode untuk AMP Start seluruhnya terdapat di GitHub dan dapat diakses oleh semua orang di sini.























Diposting oleh Steven Soneff, Identity Product Manager

Untuk membangun aplikasi yang menggunakan nomor telepon, penting sekali untuk memverifikasi bahwa pengguna memiliki nomor telepon. Melakukan ini bisa saja rumit dari perspektif UX, bukan saja dalam memahami format nomor telepon di berbagai wilayah lokal yang berbeda, tetapi juga dalam memberikan mekanisme verifikasi yang tidak rumit atau menggunakan izin perangkat yang mengganggu, seperti kemampuan untuk membaca semua SMS pengguna.

Ada banyak library untuk autentikasi telepon siap pakai yang efisien, seperti Firebase Phone Auth, tetapi jika Anda adalah developer lanjutan dan perlu membangun fungsionalitas ini sendiri, Google Play Services memiliki dua API baru yang membantu Anda memperoleh nomor telepon pengguna dan memverifikasinya melalui SMS tanpa izin perangkat: Phone Selector dan SMS Retriever. Aplikasi seperti Flipkart merasakan peningkatan tingkat keberhasilan sebesar 12% dalam alur sign-up nomor telepon menggunakan metode ini.

Langkah-langkah menggunakannya dengan server Anda bisa dilihat di sini:

Di postingan ini, kami akan menunjukkan kode yang Anda butuhkan untuk menyediakan pemilih nomor telepon kepada pengguna, kemudian menggunakannya dengan SMS retriever API untuk meminta kode verifikasi dari server bahwa perangkat Android akan secara otomatis menerima dan mengurai tanpa masukan dari pengguna

Catatan: Sebelum memulai, Anda perlu membangun dan menguji bahwa ini adalah perangkat dengan nomor telepon yang bisa menerima SMS dan menjalankan Google Play services 10.2.x dan yang lebih tinggi.

Menggunakan Phone Selector untuk mendapatkan nomor


Langkah pertama adalah meminta pengguna melakukan verifikasi SMS dari dalam aplikasi Anda. Aplikasi Anda mungkin meminta pengguna untuk memasukkan nomor telepon, dan Anda bisa menggunakan Phone Selector untuk memudahkannya, dengan menggunakan kode seperti berikut:
// Construct a request for phone numbers and show the picker
private void requestHint() {
    HintRequest hintRequest = new HintRequest.Builder()
           .setPhoneNumberIdentifierSupported(true)
           .build();

    PendingIntent intent = Auth.CredentialsApi.getHintPickerIntent(
            apiClient, hintRequest);
    startIntentSenderForResult(intent.getIntentSender(),
            RESOLVE_HINT, null, 0, 0, 0);
}

Builder HintRequest memberi tahu Play Services bahwa dibutuhkan identifier nomor telepon. Ini kemudian digunakan untuk membuat dan memulai sebuah intent, yang akan menampilkan kotak dialog Play Service kepada pengguna yang memungkinkan mereka untuk memilih nomor telepon yang akan dibagikan dengan aplikasi. API ini tidak memerlukan izin, dan menampilkan nomor yang ada di telepon atau Akun Google untuk dipilih pengguna.

Saat pengguna memilih nomor telepon, ia akan ditampilkan ke aplikasi pada onActivityResult dalam format E164 pada perangkat yang menjalankan Play Services versi terbaru. Perhatikan bahwa dalam beberapa kasus, tergantung pada jenis telepon Anda, Anda mungkin tidak mendapatkan nomor telepon, jadi pastikan untuk memeriksa apakah kredensialnya masih berlaku. Jika Anda tidak memiliki nomor, Anda harus memberikan sebuah cara agar pengguna bisa mengetiknya secara manual.
// Obtain the phone number from the result
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
  if (requestCode == RESOLVE_HINT) {
      if (resultCode == RESULT_OK) {
          Credential credential = data.getParcelableExtra(Credential.EXTRA_KEY);
          // credential.getId(); <-- E.164 format phone number on 10.2.+ devices
      }
  }
}

Pada titik ini Anda akan memiliki string nomor telepon untuk pengguna. Meskipun ini berguna, Anda mungkin perlu memverifikasi bahwa pengguna memiliki nomor khusus ini, misalnya untuk mengizinkan mereka mengirim atau mengambil pesan dengan pengguna lain atau mengidentifikasi diri mereka dengan nomor ini.

Menggunakan SMS Verification API untuk memverifikasi nomor


Cara termudah untuk memverifikasi kepemilikan nomor telepon adalah dengan mengirim SMS ke nomor tersebut, yang berisi kode verifikasi satu kali, dan meminta pengguna memasukkannya ke dalam aplikasi Anda. SMS Verification API memberikan kemampuan pada aplikasi untuk mendengarkan SMS masuk, kemudian mengurai kode secara otomatis.

Untuk memulai, aplikasi Anda akan SmsRetrieverClient dengan kode seperti berikut:
SmsRetrieverClient client = SmsRetriever.getClient(this /* context */);

Task<Void> task = client.startSmsRetriever();

task.addOnSuccessListener(new OnSuccessListener<Void>() {
  @Override
  public void onSuccess(Void aVoid) {
    // successfully started an SMS Retriever for one SMS message
  }
});

task.addOnFailureListener(new OnFailureListener() {
  @Override
  public void onFailure(@NonNull Exception e) {
  });
);

Ini sangat mudah -- Anda mendapatkan klien SMS Retriever kemudian menjalankan tugas untuk hal tersebut. Tugas tersebut memiliki listener Success serta Failure yang harus diganti. Setelah memulai SMS Retriever, Anda mengirimkan nomor telepon pengguna ke server dan memulai alur kerja untuk menghasilkan pesan dan mengirimkannya ke nomor tersebut.

Pesan harus dibangun dengan cara yang sudah ditetapkan. Pesan harus sesuai dengan format pesan SMS, jadi tidak boleh berukuran lebih dari 140 byte. Pesan harus dimulai dengan awalan tertentu: '<#>' atau dua karakter spasi berlebar-kosong berturut-turut (U+200B). Lihat dokumentasi untuk informasi selengkapnya. Pesan harus diakhiri dengan hash 11 karakter yang mengidentifikasi aplikasi Anda, seperti yang dijelaskan di bawah ini.

Contoh:

<#> Use 123456 as your verification code in Example App!
FA+9qCX9VSu

Kode verifikasi satu kali bisa berupa string: Anda bisa membuat nomor acak. Pesan harus diakhiri dengan hash yang ditentukan sesuai prosedur di sini. Google Play services akan menggunakan hash ini untuk menentukan aplikasi yang menjadi target pesan verifikasi. Anda hanya perlu membuat hash ini satu kali untuk paket aplikasi dan sertifikat penandatanganan: ia tidak akan berubah dan tidak boleh dipasok oleh aplikasi klien.

Server Anda kemudian mengirim pesan ke telepon menggunakan infrastruktur atau layanan SMS yang ada. Saat pesan ini diterima, Google Play services menyiarkan intent yang berisi teks pesan. Inilah kodenya:
public class MySMSBroadcastReceiver extends BroadcastReceiver {

  @Override
  public void onReceive(Context context, Intent intent) {
    if (SmsRetriever.SMS_RETRIEVED_ACTION.equals(intent.getAction())) {
      Bundle extras = intent.getExtras();
      Status status = (Status) extras.get(SmsRetriever.EXTRA_STATUS);

      switch(status.getStatusCode()) {
        case CommonStatusCodes.SUCCESS:
          String message = (String) extras.get(SmsRetriever.EXTRA_SMS_MESSAGE);
          break;
        case CommonStatusCodes.TIMEOUT:
          break;
      }
    }
  }
}

Pada bagian onReceive dari broadcast receiver Anda mendapatkan extras, dan menarik status dari sana. Jika status menunjukkan bahwa pesan telah berhasil diterima, Anda bisa menarik pesan dari extras. Dari sini, Anda bisa mengurai kode verifikasi dan mengirimkannya kembali ke server untuk mengonfirmasikan kepemilikan nomor telepon.

Untuk informasi selengkapnya, lihat dokumentasi lengkap dan pembicaraan Google I/O tahun ini.

Testimoni dari Pengguna Awal


Mitra awal kami yang menggunakan API ini sangat menyukainya. Berikut adalah beberapa testimoni dari mereka:

Twilio mengamati dan membuat blog bahwa Verifikasi SMS Android tidak pernah semudah ini.

"Jika Anda adalah developer yang membangun aplikasi seluler di Android serta menggunakan nomor telepon untuk mendaftar dan mengidentifikasi akun pengguna, Anda harus menggunakan Twilio Verification SDK for Android untuk cara tercepat menyelesaikan masalah dalam menyediakan alur sign-up yang mulus, aman, dan mudah." - Simon Thorpe, Product Owner di Twilio

Authy menyukai fakta bahwa API ini bisa digunakan dengan infrastruktur SMS mereka tanpa memerlukan banyak perubahan.

"Menambahkan Phone Selector + SMS Retriever ke dalam aplikasi Authy 2FA memberikan UX menakjubkan bagi pengguna selagi tetap mempertahankan keamanan tinggi yang dibutuhkan aplikasi kami." -- Serge Kruppa, Head of Authy Engineering

Telesign mengamati UX yang lebih baik, peningkatan keamanan dan rasio konversi yang lebih tinggi dengan backend framework yang sama.

"Salah satu keuntungan signifikan dari mode verifikasi dengan friksi yang lebih rendah ini adalah bahwa pengguna mungkin melihat peningkatan rasio konversi untuk skenario registrasi dan sign-up pengguna.

Peningkatan keamanan ini juga memberikan keuntungan karena Google Play Services hanya menyediakan akses ke pesan SMS untuk aplikasi yang ditargetkan berdasarkan hash aplikasi di dalam pesan." -- Priyesh Jain (Post author)