Menautkan Akun Pengguna (JavaScript sisi klien)

Contoh dialog yang meminta pelanggan untuk menautkan langganan

Dengan Penautan Langganan, JavaScript sisi klien adalah satu-satunya cara untuk membuat atribusi baru antara PPID dan Akun Google pembaca. Di server yang dikonfigurasi pembaca akan melihat dialog yang meminta mereka untuk menautkan langganan Anda. Setelah pembaca mengklik tombol "Lanjutkan dengan Google", mereka dapat memilih akun yang akan ditautkan, dan akan dikirim kembali ke halaman yang dikonfigurasi setelah selesai.

Mengaitkan PPID dengan akun pembaca dilakukan menggunakan metode linkSubscription di swg.js. Penggunaannya mirip dengan fitur Penautan Akun sebelumnya (contoh), tetapi alih-alih meneruskan promise, metode ini menerima objek yang berisi PPID.

Contoh kode

Contoh kode sisi klien ini mengilustrasikan cara memulai link, tampilan respons yang valid, dan (opsional) cara menggunakan eventManager swg.js untuk memproses peristiwa analisis dan merutekannya dengan semestinya.

Memulai dialog Penautan Langganan

const result = await subscriptions.linkSubscription({publisherProvidedId:6789})

Contoh respons

Respons yang valid dari akun yang berhasil ditautkan berisi PPID yang digunakan dalam penautan, dan status success boolean.

console.log(result) //{publisherProvidedId: 6789, success: true}

Penautan Langganan tidak memerlukan penggunaan cookie pihak ketiga, atau sesi Google aktif untuk pembaca. Hal ini memungkinkan peluncuran ke pengalaman penautan kapan saja dalam pengalaman pembaca, dan bukan hanya setelah pembelian. Jika pembaca tidak login ke menggunakan Akun Google Anda, mereka diberi kesempatan untuk melakukannya sebagai bagian dari alur.

Contoh lengkap sisi klien

<script
  async
  type="application/javascript"
  subscriptions-control="manual"
  src="https://news.google.com/swg/js/v1/swg.js">
</script>

<script>

  function linkSubscription(ppid) {
    self.SWG.push(async (subscriptions) => {
      try {
        const result = await subscriptions.linkSubscription({
          publisherProvidedId: ppid,
        })
        console.log(result)
      } catch(e) {
        console.log(e)
      }
    })
  }

  document.addEventListener('DOMContentLoaded', function () {
    (self.SWG = self.SWG || []).push(subscriptions => {
      subscriptions.init("PUBLICATION_ID");

      //Configure the event manager for analytics integration
      subscriptions.getEventManager().then(manager => {
        manager.registerEventListener((event) => {
            // Add code here to send the event to your analytics
            // sendToAnalytics(event);
          console.log(event);
        });
      });
    });

    document
      .querySelector("SELECTOR")
      .addEventListener('click', function(){
        linkSubscription(PPID)
      })
  });
</script>

Membuat client ID OAuth

Meskipun klien OAuth tidak diperlukan untuk Penautan Langganan, klien OAuth dapat digunakan untuk menulis daftar domain yang diizinkan untuk project Anda. Domain yang diotorisasi adalah daftar domain yang menggunakan javascript sisi klien Anda yang diizinkan untuk melakukan panggilan. Publikasi Anda mungkin sudah memiliki Client ID OAuth yang dikonfigurasi di Pusat Penerbit, untuk digunakan dengan swg.js.

  • Jika panggilan JavaScript sisi klien Penautan Langganan Anda berasal dari nama domain yang sebelumnya divalidasi, Anda tidak perlu melakukan tindakan apa pun.
  • Jika JavaScript Anda berjalan dari nama domain baru, ikuti petunjuk konfigurasi Client ID OAuth SwG.

Pengujian

Untuk menguji penerapan sisi klien Penautan Langganan, kode harus dijalankan dari server dengan asal javascript yang sah.

  1. Untuk penggunaan produksi, origin yang diotorisasi dapat berasal dari Klien OAuth yang dikonfigurasi, atau dari daftar domain terverifikasi di setelan publikasi dalam Pusat Penerbit.
  2. Untuk penggunaan pengembangan atau staging, dengan domain yang tidak dapat diverifikasi (misalnya, localhost atau server non-publik), domain harus tercantum di Klien OAuth yang dikonfigurasi.

Memecahkan masalah error

Masalah paling umum saat menguji JavaScript sisi klien adalah menerima error 403 - Not Authorized saat mencoba menjalankan JavaScript. Untuk mengatasinya, pastikan Anda menjalankan JavaScript dari domain yang divalidasi di Publisher Center, atau Anda menjalankan kode di host yang berada di asal js resmi klien OAuth tertaut.

Langkah berikutnya

Selamat, Anda telah menyelesaikan integrasi JavaScript sisi klien. Baru saja Anda dapat beralih ke integrasi sisi server. Langkah ini diperlukan untuk menyinkronkan yang sama. Jika Anda mengimplementasikan dan menggunakan fungsi UpdateReaderEntitlements sisi server yang diperlukan, Anda memastikan bahwa artikel yang tepat disorot untuk pelanggan.