[go: up one dir, main page]

Di aplikasi yang memungkinkan pengguna posting konten publik - misalnya di forum, jejaring sosial dan platform blogging - selalu ada risiko bahwa konten yang tidak pantas akan dipublikasikan. Dalam entri blog ini, kita akan melihat langkah-langkah agar Anda bisa secara otomatis memoderasi konten yang tidak pantas dalam aplikasi Firebase Anda menggunakan Cloud Functions.

Strategi yang paling sering digunakan untuk memoderasi konten adalah "moderasi reaktif". Biasanya, Anda bisa menambahkan tautan yang memungkinkan pengguna untuk melaporkan konten yang tidak pantas sehingga Anda dapat mereview dan menurunkan konten yang tidak sesuai dengan aturan internal Anda secara manual. Anda bisa mencegah konten yang tidak pantas agar tidak terlihat oleh publik dan melengkapi moderasi reaktif Anda secara lebih baik dengan menambahkan mekanisme moderasi otomatis. Mari kita lihat bagaimana Anda bisa dengan mudah menambahkan pemeriksaan otomatis untuk konten yang tidak pantas dalam teks dan foto yang dipublikasikan oleh pengguna di aplikasi Firebase menggunakan Cloud Functions.

Kita akan melakukan dua jenis moderasi konten otomatis:

Moderasi teks di sini kita akan menghapus semua kata-kata umpatan dan teriakan (misalnya "BERTERIAK!!!").

Moderasi gambar - di sini kita akan mengaburkan gambar yang berisi konten dewasa atau kekerasan.

Moderasi otomatis, biasanya, perlu dilakukan di lingkungan yang tepercaya (bukan pada klien), jadi Cloud Functions for Firebase sangat cocok untuk hal ini. Dibutuhkan dua fungsi untuk melakukan dua jenis moderasi.

Moderasi Teks


Moderasi teks akan dilakukan oleh fungsi bernama moderator yang dipicu Firebase Realtime Database. Ketika pengguna menambahkan komentar atau posting baru ke Realtime Database, sebuah fungsi yang menggunakan paket npm bad-words akan terpicu untuk menghapus kata-kata umpatan. Kemudian kita menggunakan paket npm capitalize-sentence untuk memperbaiki pesan yang berisi terlalu banyak huruf besar (biasanya menandakan pengguna berteriak). Langkah terakhir adalah menulis kembali pesan yang telah dimoderasi ke Realtime Database.

Untuk menggambarkan hal ini, kita akan menggunakan struktur data sederhana yang mewakili daftar pesan yang telah ditulis oleh pengguna dari sebuah chat room. Ini terbuat dari objek dengan atribut text yang ditambahkan ke daftar /messages:
/functions-project-12345
   /messages
       /key-123456
           text: "This is my first message!"
       /key-123457
           text: "IN THIS MESSAGE I AM SHOUTING!!!"

Setelah fungsi berjalan pada pesan yang baru ditambahkan, kita akan menambahkan dua atribut: sanitized yang bernilai true setelah diverifikasi oleh fungsi moderasi kita dan moderated yang bernilai true jika terdeteksi bahwa pesan berisi konten yang tidak pantas dan telah dimodifikasi Misalnya, setelah fungsi berjalan pada dua contoh pesan di atas, kita akan mendapatkan:
/functions-project-12345
   /messages
       /key-123456
           text: "This is my first message!",
           sanitized: true,
           moderated: false
       /key-123457
           text: "In this message I am shouting."
           sanitized: true,
           moderated: true

Fungsi moderator kita akan terpicu setiap kali ada penulisan ke salah satu pesan. Kita menyetelnya dengan menggunakan aturan pemicu functions.database().path('/messages/{messageId}').onWrite(...). Kita akan memoderasi pesan dan menulis kembali pesan yang telah dimoderasi ke dalam Realtime Database:
exports.moderator = functions.database.ref('/messages/{messageId}')
  .onWrite(event => {
      const message = event.data.val();

      if (message && !message.sanitized) {
        // Retrieved the message values.
        console.log('Retrieved message content: ', message);

        // Run moderation checks on on the message and moderate if needed.
        const moderatedMessage = moderateMessage(message.text);

        // Update the Firebase DB with checked message.
        console.log('Message has been moderated. Saving to DB: ', moderatedMessage);
        return event.data.adminRef.update({
          text: moderatedMessage,
          sanitized: true,
          moderated: message.text !== moderatedMessage
        });
      }
    });

Dalam fungsi moderateMessage, pertama-tama kita akan memeriksa apakah pengguna berteriak, dan jika memang berteriak, perbaiki kalimat dan hapus kata-kata kotor menggunakan filter paket bad-words.
function moderateMessage(message) {
  // Re-capitalize if the user is Shouting.
  if (isShouting(message)) {
    console.log('User is shouting. Fixing sentence case...');
    message = stopShouting(message);
  }

  // Moderate if the user uses SwearWords.
  if (containsSwearwords(message)) {
    console.log('User is swearing. moderating...');
    message = moderateSwearwords(message);
  }

  return message;
}

// Returns true if the string contains swearwords.
function containsSwearwords(message) {
  return message !== badWordsFilter.clean(message);
}

// Hide all swearwords. e.g: Crap => ****.
function moderateSwearwords(message) {
  return badWordsFilter.clean(message);
}

// Detect if the current message is shouting. i.e. there are too many Uppercase
// characters or exclamation points.
function isShouting(message) {
  return message.replace(/[^A-Z]/g, '').length > message.length / 2 || message.replace(/[^!]/g, '').length >= 3;
}

// Correctly capitalize the string as a sentence (e.g. uppercase after dots)
// and remove exclamation points.
function stopShouting(message) {
  return capitalizeSentence(message.toLowerCase()).replace(/!+/g, '.');
}

Catatan: paket bad-words menggunakan paket badwords-list dari daftar kata-kata umpatan yang hanya berisi sekitar 400 kata. Seperti yang Anda tahu imajinasi pengguna di luar sana tidak memiliki batas, jadi daftar ini tidak lengkap dan Anda mungkin perlu memperbanyak kamus kata-kata kotor.

Moderasi Gambar


Untuk memoderasi gambar, kita menyiapkan fungsi blurOffensiveImages yang akan terpicu setiap kali sebuah file diunggah ke Cloud Storage. Kita menyetelnya dengan menggunakan aturan pemicu functions.cloud.storage().onChange(...). Kita akan memeriksa apakah gambar berisi konten kekerasan atau vulgar menggunakan Google Cloud Vision API. Cloud Vision API memiliki fitur yang secara khusus memungkinkan kita untuk mendeteksi konten yang tidak pantas dalam gambar. Kemudian jika gambar itu tidak pantas kita akan mengaburkannya:
exports.blurOffensiveImages = functions.storage.object().onChange(event => {
  const object = event.data;
  const file = gcs.bucket(object.bucket).file(object.name);

  // Exit if this is a move or deletion event.
  if (object.resourceState === 'not_exists') {
    return console.log('This is a deletion event.');
  }

  // Check the image content using the Cloud Vision API.
  return vision.detectSafeSearch(file).then(data => {
    const safeSearch = data[0];
    console.log('SafeSearch results on image', safeSearch);

    if (safeSearch.adult || safeSearch.violence) {
      return blurImage(object.name, object.bucket, object.metadata);
    }
  });
});

Untuk mengaburkan gambar yang tersimpan di Cloud Storage, pertama-tama kita perlu mengunduhnya secara lokal pada instance Cloud Functions, mengaburkan gambar dengan ImageMagick, yang secara default terpasang pada semua instance, kemudian mengunggah ulang gambar tersebut ke Cloud Storage:
function blurImage(filePath, bucketName, metadata) {
 const filePathSplit = filePath.split('/');
 filePathSplit.pop();
 const fileDir = filePathSplit.join('/');
 const tempLocalDir = `${LOCAL_TMP_FOLDER}${fileDir}`;
 const tempLocalFile = `${LOCAL_TMP_FOLDER}${filePath}`;
 const bucket = gcs.bucket(bucketName);

 // Create the temp directory where the storage file will be downloaded.
 return mkdirp(tempLocalDir).then(() => {
   console.log('Temporary directory has been created', tempLocalDir);
   // Download file from bucket.
   return bucket.file(filePath).download({
     destination: tempLocalFile
   });
 }).then(() => {
   console.log('The file has been downloaded to', tempLocalFile);
   // Blur the image using ImageMagick.
   return exec(`convert ${tempLocalFile} -channel RGBA -blur 0x8 ${tempLocalFile}`);
 }).then(() => {
   console.log('Blurred image created at', tempLocalFile);
   // Uploading the Blurred image.
   return bucket.upload(tempLocalFile, {
     destination: filePath,
     metadata: {metadata: metadata} // Keeping custom metadata.
   });
 }).then(() => {
   console.log('Blurred image uploaded to Storage at', filePath);
 });
}

Cloud Functions for Firebase bisa menjadi alat yang sempurna untuk secara reaktif dan otomatis menerapkan aturan moderasi. Silakan lihat contoh sumber terbuka kami untuk moderasi teks dan moderasi gambar.

Ditulis oleh Dave Burke, VP Engineering

Hari ini kami meluncurkan Developer Preview 3 dengan Android O API final, citra sistem terbaru, dan pembaruan Android Studio untuk membantu Anda bersiap-siap guna consumer release nanti di musim panas. Lihat satu lagi pembaruan pratinjau yang datang di bulan Juli yang akan memberikan gambaran citra sistem mendekati-final kepada Anda.

Jika Anda telah mendaftarkan perangkat di Program Android Beta, Anda akan mendapatkan pembaruan untuk Developer Preview 3 dalam waktu dekat.

Buatlah aplikasi Anda agar kompatibel dengan Android O


Dengan peluncuran konsumen yang semakin mendekat di bulan-bulan mendatang, langkah pertama yang sangat penting adalah membuat aplikasi Anda saat ini kompatibel dengan Android O. Hal ini akan memberi pengguna transisi yang mulus ke platform baru saat Android O tiba di perangkat mereka.

Jika Anda belum menguji kompatibilitas aplikasi, memulainya cukup mudah -- daftarkan saja perangkat yang didukung di Android Beta dan dapatkan pembaruan terbaru melalui udara, kemudian pasang aplikasi Anda dari Google Play dan lakukan pengujian. Aplikasi harus berjalan dan terlihat bagus, dan aplikasi harus menangani perubahan perilaku Android O dengan benar -- terutama memerhatikan background limits dan perubahan pada jaringan, keamanan, dan identifier.

Setelah melakukan pembaruan yang diperlukan, kami menyarankan agar langsung memublikasikan versi aplikasi yang kompatibel di Google Play -- tanpa mengubah target platform aplikasi.

Meningkatkan aplikasi Anda dengan API dan fitur Android O


Mengembangkan aplikasi dengan fitur Android O bisa membantu Anda mendorong lebih banyak keterlibatan, menawarkan interaksi baru, memberi pengguna kontrol dan keamanan yang lebih baik, bahkan meningkatkan kinerja aplikasi.

Saluran notifikasi dan titik notifikasi menyediakan lebih banyak cara kepada Anda untuk menampilkan materi baru kepada pengguna dan membawanya kembali ke aplikasi Anda. Picture-in-picture menjaga aplikasi Anda tetap di layar saat pengguna melakukan multitasking, dan isiotomatis mempermudah pengguna saat memasukkan data formulir dan membantu menjaga keamanan data mereka. Lihat juga ikon adaptif, sumber daya font XML, font yang bisa diunduh dan emoji, autosizing TextView, AAudio API, dan banyak lagi. Anda juga perlu merencanakan dukungan untuk batas eksekusi latar belakang dan perubahan penting lainnya dalam perilaku sistem vital untuk aplikasi O.

Kunjungi situs O Developer Preview untuk mempelajari semua fitur dan API baru serta cara mengimplementasikannya ke dalam aplikasi Anda.
Mode Picture-in-picture memungkinkan Anda untuk terus melibatkan pengguna saat mereka multitasking (kiri). Titik notifikasi membuat pengguna tetap aktif di aplikasi Anda dan memungkinkan mereka langsung melompat ke fungsi utama aplikasi (kanan).

Memulai dengan Developer Preview 3


Pembaruan pratinjau hari ini mencakup versi platform Android O terbaru dengan API level 26 final dan ratusan perbaikan bug serta pengoptimalan. Anda bisa mengunduh API 26 SDK final dari SDK Manager di Android Studio, dan Pustaka Dukungan Android 26.0.0 beta 2 dari repositori Maven milik Google.

Bersama-sama, mereka memberikan semua yang Anda butuhkan untuk mengembangkan dan menguji aplikasi dengan Android O API resmi. Setelah memasang SDK final, Anda bisa memperbarui compileSdkVersion proyek Anda ke API 26 untuk dikompilasi terhadap Android O API resmi. Kami juga merekomendasikan Anda untuk memperbarui targetSdkVersion aplikasi Anda ke API 26 untuk mendaftarkan dan menguji aplikasi Anda dengan perubahan perilaku khusus Android O. Lihat panduan migrasi untuk keterangan tentang cara menyiapkan lingkungan Anda untuk pembangunan dengan Android O.

API telah berubah sejak developer preview kedua, jadi jika saat ini Anda memiliki kode yang menggunakan Android O Preview API, lihatlah laporan perbedaan untuk mengetahui di mana saja pengaruhnya pada aplikasi Anda.

Jika Anda mengembangkan Android O, kami sarankan agar memperbarui ke versi terbaru Android Studio 3.0, yang sekarang tersedia di saluran canary. Selain fitur baru yang hebat seperti alat profiling kinerja aplikasi yang lebih baik, dukungan untuk bahasa pemrograman Kotlin, dan pengoptimalan pembangunan Gradle, Android Studio 3.0 menyertakan dukungan pembangunan untuk Instant Apps, Wizard Ikon Adaptif, dan dukungan untuk Font XML, dan Font yang Bisa Diunduh.
Android Studio 3.0 menyertakan alat pengembangan dengan fitur Android O yang memungkinkan Anda melihat pratinjau sumber daya font XML di aplikasi Anda.

Jika tidak berencana menggunakan fitur tersebut, sekarang Anda memiliki pilihan untuk mengembangkan Android O menggunakan Android Studio 2.3.3 dari saluran stabil. Perhatikan bahwa alat untuk bekerja dengan ikon adaptif dan font yang bisa diunduh, serta font XML tidak tersedia di Android Studio 2.3.3.

Publikasikan aplikasi Anda ke saluran alfa, beta, atau produksi di Google Play


Sekarang setelah API sudah final, Anda bisa memublikasikan pembaruan APK yang dikompilasi, dan juga menargetkan API 26 ke saluran alfa, beta, atau produksi di Google Play. Menerbitkan aplikasi bertarget-O selama pratinjau memungkinkan Anda menguji kompatibilitas pada perangkat yang ada dan mendorong pembaruan ke perangkat yang menjalankan API 26 -- seperti pengguna yang terdaftar dalam program Android Beta.

Untuk memastikan aplikasi yang Anda perbarui berjalan dengan baik di Android O serta versi sebelumnya, strategi yang umum dipakai adalah menggunakan fitur pengujian beta Google Play untuk mendapatkan masukan awal dari sekelompok kecil pengguna -- termasuk pengguna developer preview — kemudian melakukan peluncuran bertahap saat Anda merilis aplikasi yang telah diperbarui ke semua pengguna.

Cara mendapatkan preview update


Melalui program Android Beta, developers dan early adopters di seluruh dunia akan segera mendapatkan Developer Preview 3 di perangkat mereka. Jika Anda belum mendaftar, silakan kunjungi android.com/beta dan daftarkan tablet atau ponsel Android yang memenuhi syarat. Seperti biasa, Anda juga bisa mengunduh dan mem-flash pembaruan ini secara manual. O Developer Preview tersedia untuk Pixel, Pixel XL, Pixel C, Nexus 5X, Nexus 6P, dan Nexus Player.

Terima kasih banyak untuk semua masukan Anda sejauh ini. Teruslah berbagi masukan atau permintaan karena kami sedang mengerjakan rilis konsumen untuk musim panas ini. Kami tunggu kehadiran aplikasi Anda di Android O!

Waktu yang sibuk di Mountain View berhubung lebih dari 7.000 developer telah bergabung dengan kami di Shoreline Amphitheater demi Google I/O tahun ini. Kami telah membuat banyak pengumuman produk namun saya begitu antusias dengan yang satu ini — AdMob yang baru didesain ulang!

Banyak dari Anda yang mengandalkan penghasilan dari iklan di aplikasi — kenyataannya, lebih dari 1 juta aplikasi kini menggunakan AdMob untuk menghasilkan uang di iOS dan Android. Dan sampai kini, kami telah membayar lebih dari $3,5 miliar dolar kepada developer seperti Anda. Namun kami tahu bisa berbuat lebih banyak lagi untuk membantu Anda agar sukses. Jadi kami membangun ulang platform AdMob dari nol untuk membantu Anda membangun bisnis yang menguntungkan dengan lebih cepat dan agar tetap untung ketika Anda mengubah skalanya.

Mudah digunakan berkat user interface baru

Waktu Anda berharga dan kami ingin Anda menggunakannya untuk mengembangkan bisnis, bukan menyusuri layar-layar kami. Dengan AdMob baru, segala hal mulai dari navigasi hingga dasbor telah dipersiapkan bagi aplikasi Anda. Berbagai alat dan fitur yang paling dibutuhkan langsung tersedia di hadapan Anda. Kami juga telah menerapkan Material Design di semua bagian platform AdMob agar pengalaman Anda menjadi lebih intuitif dan produktif di setiap langkah.

Saat memasuki pengalaman baru ini, Anda akan melihat antarmuka efisien yang menampilkan tren growth  dan memberi Anda ringkasan tentang cara kerja aplikasi. Punya satu atau lima puluh aplikasi, app picker baru akan membantu Anda dengan gegas menjajal pengalaman AdMob baru. Selain itu, kami telah menambahkan dasbor yang disederhanakan dengan uraian lengkap mengenai pendapatan Anda. Dari sini Anda bisa melihat bagaimana dampak iklan terhadap metrik penting seperti lifetime value, engagement, dan retensi untuk setiap aplikasi.
Dengan AdMob baru jadi lebih mudah menemukan cara mendapatkan apa yang Anda butuhkan

Insights lebih dalam melalui integrasi dengan Firebase

Kami tahu bahwa Anda punya banyak pilihan dalam hal menghasilkan uang untuk aplikasi bisnis. Apakah Anda memutuskan penggunaan in-app purchases, subscription, ads, atau commerce, kami tahu betapa berharganya tampilan holistik bagi pengambilan keputusan dan pemantauan perubahan monetisasi yang kecil sekalipun bisa mempengaruhi pengalaman pengguna. Mengompilasi semua data ini secara historis memerlukan banyak tools serta banyak menghabiskan waktu dan umumnya mustahil. Jadi kami menyediakan analitik komprehensif yang siap digunakan melalui integrasi dengan Google Analytics for Firebase.

Dengan integrasi ini Anda bisa melihat pelaporan baru atas semua sumber pendapatan Anda dan menggali Firebase lebih dalam untuk mengetahui bagaimana pengaruhnya pada lifetime value dan user behaviour.

Untuk memulai, tautkan akun AdMob dan Firebase Anda dan perbarui ke versi terbaru SDK. Setelah ditautkan, Anda akan memiliki akses ke data pendapatan iklan yang mendetail dan wawasan pengguna seperti waktu yang dihabiskan di aplikasi dan pembelian dalam aplikasi—semua di satu tempat. Akun Firebase Anda kini bisa mengakses sinyal iklan dan AdMob bisa mengakses sinyal penggunaan aplikasi Anda untuk mendapatkan insights yang lebih mendalam. Dengan akses instan ke data pendapatan iklan yang detail plus consumer insights seperti session durations dan ad exposure, Anda tidak perlu lagi berurusan dengan spreadsheet yang tiada habisnya atau menebak-nebak sembarangan.
Manfaatkan strategi monetisasi yang lebih cerdas dengan data yang tepat, semua di satu tempat.

Dengan tampilan lifetime value yang lebih lengkap, Anda kini memiliki data yang dibutuhkan untuk membuat strategi monetisasi dengan penuh keyakinkan. Marcin Krakowiak, co-founder Byss Mobile, adalah seorang penggemarnya: “Membuat strategi monetisasi yang berkelanjutan telah menjadi fokus utama tim karena kami terus memperbanyak ragam portofolio aplikasi. Memiliki sumber data yang berarti dan terhubung akurat adalah kunci untuk mengembangkan strategi itu. Itulah yang dilakukan oleh integrasi baru antara Firebase dan AdMob. Kita akhirnya dapat menganalisis lifetime value untuk pembelian dalam aplikasi maupun iklan untuk menguji dan membuat strategi monetisasi yang lebih menguntungkan.”


Advanced controls untuk scale dengan Mediation Groups

Jika sudah menggunakan AdMob, Anda tahu bahwa mediation adalah cara bagus untuk memonetisasi berbagai ad networks. Baiklah, mediation akan lebih baik lagi dengan penambahan mediation groups.

Secara historis, Anda perlu mengonfigurasi mediation untuk setiap slot iklan dan geografi. Developer yang menggunakan mediation sering kali merasa proses ini amat sangat menyita waktu. Kami memperkenalkan medaition group di AdMob, agar semua ini jadi lebih mudah. Cukup persiapkan mediation sekali kemudian tetapkan grup itu ke unit iklan dan negara yang berbeda di semua bagian aplikasi Anda dalam satu langkah. Anda juga bisa membuat panggilan telepon ke jaringan luar hingga tiga kali dalam satu rantai mediation yang akan membantu Anda memaksimalkan pendapatan.
Siapkan dan aktifkan mediation groups baru dengan beberapa klik saja.

Kami berharap Anda akan memanfaatkan keuntungan mediation groups dan hal lain yang ditawarkan oleh platform AdMob yang telah didesain ulang — karena platform ini memang dibangun demi Anda! Kami di sini akan mendukung keberhasilan Anda sebagai developer aplikasi, dan kami benar-benar antusias untuk melihat Anda menggunakan berbagai alat baru ini untuk mengembangkan bisnis. Jadilah bagian dari jutaan aplikasi yang menggunakan AdMob dengan menerapkan alat monetisasi kami yang baru.

Kunjungi Pusat Bantuan atau hubungi tim akun Google Anda untuk mengetahui kapan Anda akan memiliki akses ke berbagai fitur hebat ini.

Ditulis oleh: Duke Dukellis, Group Product Manager, AdMob











Ditulis oleh Hodie Meyers, Product Manager, Google Drive, dan Wesley Chun (@wescpy), Developer Advocate, G Suite

Perusahaan selalu mencari cara untuk beroperasi secara lebih efisien, dan melengkapi developer dengan alat tepat yang bisa membuat perbedaan. Kami meluncurkan Team Drives tahun ini untuk memberikan pengalaman Drive terbaik yang disukai pengguna ke tim perusahaan. Kami juga memperbarui Google Drive API, sehingga developer bisa memanfaatkan Team Drives di aplikasi yang mereka bangun.

Dalam video G Suite Dev Show terbaru ini, kami membahas bagaimana Anda bisa memanfaatkan fungsionalitas Team Drives di aplikasi Anda. Kabar baiknya adalah Anda tidak perlu mempelajari API yang sepenuhnya baru—fitur Team Drives dibangun ke dalam Drive API sehingga Anda bisa membangun dengan dasar yang sudah diketahui. Cobalah lihat:

Setelah melihat video ini, Anda akan terbiasa dengan empat operasi dasar untuk membantu Anda membangun fungsionalitas Team Drives dengan benar di aplikasi Anda:
  1. Cara membuat Team Drives 
  2. Cara menambahkan anggota/pengguna ke Team Drives Anda 
  3. Cara membuat folder di Team Drives (seperti membuat folder Drive biasa) 
  4. Cara mengunggah/mengimpor file ke folder Team Drives (seperti mengunggah file ke folder biasa) 
Drive API bisa membantu banyak developer menciptakan solusi yang bisa digunakan dengan Google Drive dan Team Drives. Entah Anda adalah seorang Independent Software Vendor (ISV), System Integrator (SI) atau bekerja di IT, ada banyak cara memanfaatkan Drive API untuk meningkatkan produktivitas, membantu perusahaan Anda bermigrasi ke G Suite, atau membangun alat untuk mengotomatisasi alur kerja.

Fitur Team Drives tersedia di Drive API v2 dan v3, keterangan selengkapnya bisa dilihat di dokumentasi Drive API. Kami menunggu apa yang bisa Anda bangun dengan Team Drives!

Dii Google I/O, kami memperkenalkan Google Maps URL, sebuah cara baru bagi developer untuk menautkan secara langsung ke Google Maps dari aplikasi apa saja. Lebih dari satu miliar orang menggunakan situs dan aplikasi Google Maps setiap bulan untuk mendapatkan informasi tentang dunia, dan kini kami mempermudahnya untuk memanfaatkan kemampuan peta kami dari aplikasi atau situs apa saja.

Mengapa URL?

Maps boleh jadi penting untuk membantu pengguna Anda membereskan urusan, namun kita tahu bahwa kadang-kadang peta tidak perlu menjadi bagian inti dari aplikasi atau situs Anda. Terkadang Anda cuma membutuhkan kemampuan untuk menyelesaikan penjelajahan pengguna—termasuk memberikan petunjuk ke lokasi tertentu. Mungkin mereka sudah siap membeli sesuatu dari Anda dan perlu menemukan toko terdekat, atau mereka ingin mempersiapkan tempat pertemuan dengan pengguna lainnya. Semua ini bisa dilakukan dengan mudah di Google Maps.

Yang bisa Anda lakukan adalah menggunakan Google Maps URL untuk menautkan ke Google Maps dan memicu fungsionalitas yang dibutuhkan oleh Anda atau pengguna secara otomatis. URL Google Maps bukanlah barang baru. Anda barangkali memerhatikan bahwa penyalinan URL dari browser bisa dilakukan—pada beberapa platform. Walaupun kita memiliki Android Intents dan Skema URL iOS, keduanya hanya bekerja pada platform aslinya. Selain menambah pekerjaan developer, hal ini juga berarti fungsionalitas multi-pengguna dibatasi pada pengguna di platform yang sama tersebut.

Lintas platform

Jadi untuk memulai, kita membutuhkan skema URL universal yang bisa mendukung lintas-platform—Android, iOS, dan web. Pengguna aplikasi messaging harus dapat berbagi lokasi untuk berjumpa dengan teman mereka tanpa khawatir apakah penerima pesan menggunakan Android atau iOS. Dan agar bisa semudah itu, developer tidak perlu mengimplementasikan ulang fitur yang sama dengan dua library berbeda.

Jadi bila Google Maps URL dibuka, URL itu akan ditangani oleh aplikasi Google Maps yang telah dipasang pada perangkat pengguna, apa pun perangkatnya. Jika tersedia Google Maps untuk Android atau iOS, ke sanalah pengguna akan dibawa. Jika tidak maka Google Maps akan dibuka di browser.

Mudah digunakan

Cara memulainya sederhana—ganti saja beberapa values dalam URL berdasarkan apa yang akan Anda lakukan. Itu berarti kami mempermudah pembuatan URL secara terprogram. Inilah beberapa contoh untuk membantu Anda memulai:

Anggaplah seseorang telah menyelesaikan pemesanan tempat menginap dan perlu mengetahui cara menuju ke sana atau melihat restoran yang terdekat:
https://www.google.com/maps/search/?api=1&query=sushi+near+94043
Parameter query akan melakukan tugasnya: memasukkan query. Di sini kita menetapkan sebuah tempat, namun jika Anda melakukan penautan yang sama tanpa lokasi, maka ia akan mencari di dekat pengguna mengekliknya. Cobalah: klik di sini untuk menampilkan sushi di dekat Anda.

Hal ini serupa dengan query di atas, namun kali ini kita mendapatkan kembali hasil tunggal, sehingga didapat detail tambahan yang ditampilkan pada laman:
google.com/maps/search/?api=1&query=shoreline+amphitheatre
Parameter api (mandatory) menetapkan versi URL Maps yang Anda gunakan. Kami meluncurkan versi 1.


Atau jika pengguna telah mempersiapkan aplikasi kebugaran sendiri dan ingin mencoba rute baru di sepeda mereka:
www.google.com/maps/dir/?api=1&destination=stevens+creek+trail&travelmode=bicycling&dir_action=navigate
Kita bisa menetapkan travelmode ke bersepeda, tujuan ke jalur bersepeda terdekat, dan selesai!

Dan kita juga bisa membuka StreetView secara langsung dengan fokus tempat yang kita pilih untuk memberikan kesan sungguhan tentang tempat tersebut:
www.google.com/maps/@?api=1&map_action=pano&viewpoint=36.0665,-112.0906&heading=85&pitch=10&fov=75
viewpoint adalah koordinat LatLng yang ingin kita dapatkan gambarnya, dan heading, pitch, serta fov memungkinkan Anda menetapkan secara persis tempat yang dilihat.

Perlu lebih banyak fungsionalitas?

URL Google Maps cocok sekali untuk membantu pengguna Anda melakukan beberapa pekerjaan di Google Maps. Akan tetapi, bila Anda membutuhkan lebih banyak fleksibilitas, penyesuaian, atau kontrol, kami menyarankan integrasi Google Maps ke dalam aplikasi atau situs Anda sebagai gantinya. Di sinilah Google Maps API kita yang lebih andal memainkan perannya. Dengan rangkaian API yang kaya fitur, Anda bisa mengakses fungsionalitas penuh dan bisa mengontrol kamera Anda, melukis bentuk di peta, atau menata gaya peta agar cocok dengan aplikasi, merek, atau agar UI menjadi lebih baik. Dan jika Anda menginginkan lebih dari sekadar peta, kami memiliki metadata untuk Places, gambar, dan masih banyak lagi.

Ketahui selengkapnya

Bila Anda suka mendelegasikan pekerjaan berat dan memanfaatkan aplikasi Google Maps bagi kebutuhan Anda, maka URL Maps cocok untuk Anda. Lihat dokumentasi baru kami.

Terima kasih telah menggunakan URL Google Maps dan Google Maps API! Pastikan berbagi masukan atau masalah di Issue Tracker.

gambar penulis
Ditulis oleh Joel Kalmanowicz, Product Manager, Google Maps API

Memantau kinerja dari sudut pandang pengguna - baik kinerja kode aplikasi maupun responsivitas/reliabilitas jaringan - merupakan tantangan dalam membangun aplikasi mobile yang hebat. Anda harus dapat memahami kondisi yang membutuhkan perbaikan, untuk menghindari pengguna menjadi tidak aktif dan ulasan negatif. Sebaliknya, kami melihat 60% dari ulasan bintang 5 di Google Play menyebutkan kecepatan, desain, atau kegunaan.


Tantangan terbesar dalam memantau kinerja di aplikasi asli adalah memahami konteks. Mengetahui bahwa pengalaman pengguna tersendat atau animasi Anda tidak berjalan mulus belumlah cukup; Anda harus memahami bagian mana yang bermasalah dalam aplikasi Anda. Penting juga untuk memahami bagaimana pengalaman bisa bervariasi untuk negara, perangkat, tingkat OS yang berbeda, dll.

Inilah alasan mengapa kami membangun Firebase Performance Monitoring untuk iOS dan Android. Firebase Performance Monitoring menyediakan SDK untuk merekam dan menginstrumentasikan metrik kinerja dalam tahap produksi, dan konsol untuk mengetahui gambaran data yang direkam oleh SDK.



Firebase Performance Monitoring menyediakan dua fitur utama: pelacakan dan pemantauan aktivitas jaringan. Mari kita bicarakan tentang pelacakan terlebih dahulu. Pelacakan memungkinkan Anda menginstrumentasikan bagian-bagian aplikasi Anda untuk mengetahui durasi suatu tindakan, serta melampirkan metrik khusus ke tindakan itu dengan menggunakan API "counter". Sebagai contoh, Anda dapat mempersiapkan pelacakan waktu dari mulai pemuatan gambar hingga dirender penuh di layar, dan melacak berapa kali Anda mengenai atau melewatkan cache selagi memuat gambar dengan menggunakan counters.
Cukup dengan memasang SDK, Anda akan mendapatkan pelacak otomatis untuk memulai aplikasi sehingga Anda bisa memantau berapa lama waktu yang dibutuhkan pengguna untuk menjalani proses menghidupkan aplikasi.


Fitur lain yang ditawarkan Firebase Performance adalah pemantauan aktivitas jaringan. Permintaan HTTP/S yang dibuat oleh aplikasi Anda secara otomatis akan dipantau dari mulai saat permintaan dikirim hingga respons diterima. Untuk setiap pola URL, Anda akan melihat waktu respons, ukuran payload, dan tingkat keberhasilan.


Bila terjadi kegagalan, Anda juga akan melihat laporan kode respons 400 dan 500 yang menyebabkannya.



Semua metrik yang dikumpulkan untuk pelacakan dan jaringan bisa dipecah menurut negara, perangkat, versi aplikasi dan versi OS. Ini akan membantu Anda mempersempit penyebab masalah dan memperbaikinya dengan lebih mudah.



Firebase Performance Monitoring kini tersedia dalam versi beta. Untuk mengetahui selengkapnya, lihat dokumentasinya di sini, atau tonton sesi I/O kami untuk mendalaminya.



Mengimplementasikan in-app ads bisa jadi menghabiskan waktu dan rumit, namun dengan AdMob Anda bisa mulai mengintegrasikan iklan berinsentif dengan cepat dan mudah. Selain membuat iklan berinsentif jadi mudah disiapkan dan tersedia untuk semua, kami juga menggabungkan fitur unik lain ke AdMob. Berikut 3 alasan mengapa Anda sebaiknya menggunakan mediasi dan permintaan video AdMob berinsentif.

Pengalaman Pengguna
Format iklan video berinsentif dari Google menekankan pada tercapainya pengalaman pengguna yang menarik. Iklan berinsentif yang menawarkan pilihan menonton video dengan imbalan di dalam aplikasi merupakan angin segar dalam dunia game. Agar berhasil, pengalaman ini lebih perlu melengkapi daripada mengganggu alur pengguna. Dengan permintaan input kepada pengguna yang intuitif dan opsi keluar yang jelas, format iklan berinsentif yang kami miliki memberi kendali kepada pengguna atas pengalamannya di dalam aplikasi.

Optimalisasi hasil
Untuk memastikan pengalaman pengguna yang optimal dan menghindari iklan yang tak dilihat akibat pengulangan, Anda perlu memastikan bahwa iklan yang akan ditayangkan kepada pengguna cukup beragam. Mediasi berinsentif memungkinkan Anda mengelola banyak sumber permintaan pihak ketiga melalui satu platform, di samping permintaan Google. Ini akan membantu memastikan bahwa selalu ada iklan yang tersedia untuk ditayangkan dan iklan yang ditayangkan juga merupakan iklan yang paling bernilai. Dengan memilih untuk bekerja dengan banyak sumber permintaan dan mengelolanya secara optimal, penayang bisa meningkatkan pendapatan lewat kompetisi di antara berbagai sumber.

Lebih dari itu, solusi mediasi berinsentif kami menawarkan kendali maksimum kepada penayang atas pengalaman iklan berinsentif pengguna. Melakukan eksperimen dan mengoptimalkan penyiapan berinsentif dengan konfigurasi level unit iklan menjadi mudah dilakukan karena penayang dapat mencoba berbagai setelan berinsentif yang disesuaikan di tempat-tempat berbeda di dalam aplikasi mereka. Adanya setelan di sisi server berarti tidak perlu lagi menerbitkan ulang aplikasi setelah perubahan dilakukan, sehingga Anda dapat mudah bereksperimen.

Firebase Analytics
Menggunakan Firebase Analytics untuk menganalisis efektivitas dan dampak periklanan berinsentif merupakan ciri khas dari AdMob. Langkah pertama adalah memeriksa tab Firebase Audiences untuk membuat segmentasi pengguna dengan cara yang penting untuk bisnis Anda. Selanjutnya baru bisa menganalisis dampaknya terhadap pengalaman dari berbagai segmen pengguna tersebut.  Eksperimen dan memahami apa yang diminati pengguna bernilai tinggi merupakan kunci bagi keberhasilan insentif.

open



Sampai jumpa, pastikan untuk tetap terhubung ke berbagai hal tentang AdMob dengan mengikuti laman TwitterLinkedIn, dan laman Google+.



Musim panas lalu, kami meluncurkan versi beta untuk API Cloud Speech, layanan Pengenal Ucapan Otomatis atau Automatic Speech Recognition (ASR). Sejak itu, ribuan pelanggan telah membantu kami meningkatkan kualitas layanan, dan dengan bangga kami mengumumkan bahwa mulai hari ini API Cloud Speech tersedia secara luas.

API Cloud Speech dibuat dengan teknologi inti yang memberdayakan pengenalan ucapan untuk produk Google lainnya (mis., Google Search, Google Now, Google Assistant), namun telah diadaptasi agar lebih sesuai dengan kebutuhan pelanggan Google Cloud. API Cloud Speech adalah salah satu dari model pre-trained machine learning yang tersedia untuk tugas umum seperti analisis video, analisis gambar, analisis teks dan penerjemahan dinamis.

Dengan masukan yang bermanfaat dari pelanggan dan mitra, dengan senang hati kami sampaikan bahwa kami memiliki fitur dan kinerja baru untuk diumumkan:
  • Peningkatan akurasi transkripsi untuk audio berformat panjang
  • Proses lebih cepat, biasanya 3x lebih cepat daripada versi sebelumnya untuk skenario batch
  • Perluasan dukungan format file, sekarang termasuk WAV, Opus dan Speex

Di antara pengguna awal API Cloud Speech, kami telah melihat dua penggunaan kasus utama yang muncul: ucapan sebagai metode kontrol untuk aplikasi dan perangkat seperti penelusuran suara, perintah suara dan Interactive Voice Response (IVR); dan juga dalam analitik ucapan. Analitik ucapan membuka berbagai kemampuan yang sangat menarik untuk permasalahan yang sulit mis., wawasan real-time dari pusat panggilan.

InteractiveTel menggunakan API Cloud Speech sebagai solusi untuk melacak, memantau dan melaporkan interaksi dealer-pelanggan melalui telepon.
“API Cloud Speech Google melakukan transkripsi ucapan-ke-teks yang sangat akurat dalam waktu mendekati seketika itu juga. Nilai akurasi yang lebih tinggi berarti kami dapat membantu para dealer mendapatkan hasil maksimal dari interaksi telepon dengan para pelanggan mereka dan meningkatkan penjualan.” — Gary Graves, CTO dan Co-Founder, InterActiveTel
API Cloud Speech kini telah tersedia. Klik di sini untuk mengetahui lebih lanjut.

Kami gembira mengumumkan bahwa kami telah mengambil langkah pertama untuk menjadikan pustaka klien kami sebagai open source. Dengan SDK menjadi open source, kami ingin menunjukkan komitmen kami pada transparansi yang lebih besar dan membangun komunitas developer yang lebih kokoh. Untuk mencapai tujuan tersebut, kami akan menggunakan GitHub sebagai bagian inti dari toolchain kami sendiri agar Anda semua dapat ikut berkontribusi. Bila menemukan masalah dalam kode kami, mulai dari gaya yang tidak konsisten hingga bug, Anda bisa menyampaikan masalah tersebut melalui tracker issue GitHub standar. Anda juga bisa menemukan proyek kami di direktori  Google Open Source. Kami sangat menantikan pertanyaan Anda!

Apa yang open source?


Kami mulai dengan menjadikan open source beberapa Produk di SDK iOS, JavaScript, Java, Node.js, dan Python. Kami juga sedang menyiapkan open source Android SDK. SDK-SDK tersebut sedang dilisensikan dibawah Apache 2.0, lisensi fleksibel yang sama seperti proyek open source Firebase yang ada, misalnya FirebaseUI.

Mari kita lihat setiap repo:

Firebase iOS SDK 4.0


https://github.com/firebase/firebase-ios-sdk

Dengan peluncuran Firebase iOS SDK 4.0, kami telah melakukan sejumlah peningkatan pada pengalaman developer, misalnya nama API yang lebih idiomatis bagi pengguna Swift. Dengan menjadikan iOS SDK open source, kami ingin menyediakan fasilitas tambahan sehingga Anda dapat memberi kami masukan, misalnya tentang fitur. Untuk rilis pertama ini kami akan menjadikan open source untuk SDK Realtime Database, Auth, Cloud Storage dan Cloud Messaging (FCM), tetapi ke depannya akan lebih banyak lagi yang kami jadikan open source.

Karena beberapa komponen Firebase belum dapat kami jadikan open source, proses pembangunan produknya belum tersedia. Walaupun Anda bisa menggunakan repo ini untuk membangun FirebaseDev pod, library kami yang didistribusikan melalui CocoaPods untuk saat ini akan tetap berupa kerangka kerja statis. Kami terus mencari cara untuk meningkatkan pengalaman developer bagi developer, dengan integrasi apa pun.

Detail selengkapnya yang lebih jelas tentang bagaimana Anda membangun, menguji dan berkontribusi pada SDK iOS tersedia di GitHub README.

Firebase JavaScript SDK 4.0


https://github.com/firebase/firebase-js-sdk

Kami gembira bisa mengumumkan bahwa kami akan membuka sumber SDK Realtime Database, Auth, Cloud Storage dan Cloud Messaging (FCM) untuk JavaScript. Kami akan melakukan beberapa perbaikan mendesak dari rilis awal ini, termasuk membuka sumber Firebase Authentication. Kami juga dalam proses merilis peta sumber untuk komponen kami, yang diharapkan akan benar-benar meningkatkan kemudahan men-debug aplikasi Anda.

GitHub repo mengandung petunjuk tentang cara Anda membangun, menguji, dan berkontribusi.

Firebase Admin SDK


Node.js: https://github.com/firebase/firebase-admin-node

Java: https://github.com/firebase/firebase-admin-java

Python: https://github.com/firebase/firebase-admin-python

Kami gembira mengumumkan bahwa ketiga Admin SDK untuk mengakses Firebase pada lingkungan ber-privileged sekarang sudah open source, termasuk Python SDK, yang baru diluncurkan. Walaupun kami terus mencoba mendukung bahasa lainnya, kami harap Anda menggunakan sumber kami sebagai inspirasi untuk mengaktifkan Firebase bagi lingkungan sekitar Anda. (Jika Anda sudah melakukannya, kami ingin mendengar kisahnya!)

Kami ingin segera melihat yang akan Anda kerjakan dengan SDK terbaru - seperti biasa, hubungi kami jika ada masukan atau pertanyaan melalui Grup Google Firebase-Talk, tentang Stack Overflow, melalui Tim pendukung Firebase, atau saat ini di GitHub untuk masalah SDK permintaan yang terkumpul! Dan untuk membaca peningkatan lainnya pada Firebase yang diluncurkan di Google I/O, kunjungi blog Firebase.

Ditulis oleh Rahul Roy-chowdhury, VP Product Management, Chrome

Apa kemajuan yang didapat dalam setahun. Tahun lalu di Google I/O, kami menginformasikan bahwa mobile web sangat mendukung kegiatan bisnis. Berbagai teknologi baru seperti AMP dan Progressive Web App (PWA) telah mengusung berbagai kemampuan baru, kinerja yang lebih baik, dan workflow yang lebih efisien untuk mobile web.
Setahun telah berlalu: lebih dari dua miliar laman AMP telah dibuat dan "PWA" telah terbukti lebih dari sekadar jargon—kini ia telah menjadi cara bagi banyak bisnis di seluruh dunia dalam membangun perangkat mobile. Untuk detail selengkapnya, lihatlah video Google I/O tentang laporan tahunan mobile web, atau bacalah tulisan di bawah tentang bagaimana semua teknologi ini membuat mobile web modern dipakai oleh banyak orang.

Momentum
Merangkum semua kisah sukses hebat dari seluruh dunia dalam satu entri blog merupakan pekerjaan berat, namun inilah beberapa garis besarnya.

Untuk meningkatkan kinerja situs mobile web Wego, mereka membangun laman AMP menggunakan amp-install-serviceworker untuk transisi ke pengalaman PWA yang cepat. Rata-rata waktu pemuatan laman berkurang dari 12 detik menjadi kurang dari satu detik, dan conversion rates bertambah sebanyak 95%.


Ketika Forbes membangun ulang mobile website-nya sebagai PWA, mereka memulai dengan memikirkan kembali pengalaman seperti apa yang didapat pengguna pada ponsel. Daripada memperbarui situs utama mereka sedikit demi sedikit, Forbes mengintegrasikan teknologi PWA untuk menyediakan pengalaman seperti dalam aplikasi. Mereka melihat peningkatan seketika dan interaction rate meningkat lebih dari dua kali lipat sejak diluncurkan.


Ola, rental mobil terkemuka di India, membangun PWA dan melihat bahwa 20% pengguna yang memesan menggunakan PWA, telah menguinstall aplikasi mereka sebelumnya. Dengan mengurangi jumlah ruang penyimpanan yang dibutuhkan, PWA memungkinkan mereka re-engage para pengguna secara efektif.
Kisah sukses lainnya adalah Twitter Lite, PWA yang meminimalkan penggunaan data, lebih fleksibel pada jaringan mobile yang tidak dapat diandalkan, dan menggunakan ruang penyimpanan pada perangkat kurang dari 1 MB. Pengalaman mobile web baru dari Twitter juga dioptimalkan untuk kecepatan, launch time lebih cepat hingga 30% serta navigasi yang lebih cepat dalam situs. Mereka menemukan bahwa pengguna menghabiskan waktu 2,7x lebih banyak di situs, dan hasilnya terlihat dari peningkatan tweets 76% di PWA daripada situs mobile web mereka sebelumnya. Twitter melihat interaksi yang luar biasa pada 1 juta sesi yang dimulai dalam sehari dari ikon yang ditambahkan ke homescreen Android.
Pengalaman yang Disempurnakan
Pengguna berharap banyak dari perangkat mobile mereka, dan kami telah menambahkan segudang API dalam setahun terakhir ini untuk memenuhi permintaan itu. Web seluler bisa mendukung kasus penggunaan lebih banyak dan melakukan hal yang lebih banyak daripada sebelumnya. Beberapa fitur unggulan:
  • Add to Homescreen yang Ditingkatkan: Di awal tahun ini kami telah memperkenalkan Add to Homescreen yang Ditingkatkan, yang mengintegrasikan PWA jauh lebih dalam ke sistem operasi Android. Kini, selain ditampilkan di layar utama, PWA juga ditampilkan di launcher dan settings Android bersama aplikasi native, dan juga bisa dibuka sebagai respons terhadap pengguna yang mengeklik tautan di Chrome atau aplikasi lain.
  • Pembayaran: Checkout bisa menjadi proses yang rumit. Untuk meningkatkan alur pembayaran di web, kami telah meluncurkan API pembayaran one-tap yang disebut Payment Request. Penggunaan API ini memungkinkan aplikasi web mendukung mekanisme pembayaran kartu kredit dan Google seperti Android Pay. Kami juga baru saja mengumumkan bahwa sekarang integrasi API ini sudah bisa dilakukan dengan aplikasi pembayaran tambahan.
  • Konsumsi Media: Lebih dari 70% lalu lintas internet berupa video. Agar mendapat pengalaman media web seluler yang hebat, kami memberi pengguna kontrol pemutaran yang lebih banyak dengan Media Session API, pemutaran layar penuh yang ditingkatkan dengan Screen Orientation API, dan menyempurnakan fitur untuk offline dengan Background Fetch. Untuk mengetahui selengkapnya, lihat praktik terbaik media web seluler kami dan lihat bagaimana API tersebut bisa bergabung dalam demo PWA untuk Media.
Tools
Kami juga telah bekerja keras untuk meningkatkan dan memperluas rangkaian alat yang memungkinkan Anda membangun pengalaman memikat di web.
Lighthouse adalah alat bantu otomatis baru untuk mengukur kualitas pengalaman web. Alat ini menjalankan hampir 100 audit terhadap aplikasi web Anda, memeriksa semua hal mulai dari kinerja laman hingga efisiensi byte, hingga aksesibilitas, dan memberi Anda skor rangkuman. Integrasi baru dengan DevTools di Chrome memungkinkan Anda untuk menjalankan audit Lighthouse tanpa meninggalkan browser.
Polymer 2.0 adalah rilis utama berikutnya dari library Polymer, yang dibangun ulang dari nol untuk memanfaatkan fitur baru yang terbaik dari platform web modern. Rilis ini menggunakan Web Component API baru yang disertakan dalam Chrome dan Safari. Semuanya bersifat modular dan yang paling penting - kini 10% lebih cepat dan 80% lebih kecil.
Chrome berkomitmen untuk memastikan Anda bisa mengembangkan dengan mudah, berinteraksi dengan pengguna, dan membangun bisnis yang semakin berkembang di seputar web. Untuk berita terbaru, langgan saluran YouTube kami dan ikuti kami di Twitter @ChromiumDev.