Liên kết tài khoản người dùng (JavaScript phía máy khách)

Ví dụ về hộp thoại yêu cầu người đăng ký liên kết gói thuê bao của họ

Với tính năng Liên kết gói thuê bao, javascript phía máy khách là cách duy nhất để tạo mối liên kết mới giữa PPID và Tài khoản Google của người đọc. Trên một trang đã định cấu hình, trình đọc sẽ thấy một hộp thoại yêu cầu họ liên kết gói thuê bao. Sau khi độc giả nhấp vào nút "Tiếp tục với Google" nút, chúng có thể chọn một tài khoản để liên kết và sẽ được đưa trở lại trang đã định cấu hình sau khi hoàn tất.

Bạn có thể liên kết PPID với tài khoản của người đọc bằng cách sử dụng phương thức liên kết gói thuê bao trong swg.js. Việc sử dụng này tương tự như Tài khoản trước đó Tính năng liên kết (ví dụ), nhưng thay vì truyền lời hứa, phương thức này sẽ chấp nhận một đối tượng chứa PPID (giá trị nhận dạng do nhà xuất bản cung cấp).

Ví dụ về mã

Những ví dụ về mã phía máy khách này minh hoạ cách bắt đầu một đường liên kết, phản hồi sẽ có dạng như thế nào và (không bắt buộc) cách sử dụng eventManager swg.js để theo dõi các sự kiện phân tích và định tuyến chúng một cách phù hợp.

Bắt đầu hộp thoại Liên kết gói thuê bao

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

Phản hồi mẫu

Phản hồi hợp lệ từ một tài khoản được liên kết thành công chứa cả PPID được sử dụng trong đường liên kết và trạng thái boolean success.

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

Tính năng Liên kết gói thuê bao không yêu cầu người đọc sử dụng cookie của bên thứ ba hoặc phiên Google đang hoạt động. Điều này một cách linh hoạt cho phép truy cập vào trải nghiệm liên kết bất cứ lúc nào trong chứ không chỉ sau khi mua hàng. Nếu chưa đăng nhập vào Tài khoản Google, người đọc sẽ có cơ hội đăng nhập trong quy trình.

Hoàn thành ví dụ phía máy khách

<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>

Tạo mã ứng dụng OAuth

Mặc dù không bắt buộc phải có ứng dụng khách OAuth để Liên kết gói thuê bao, nhưng bạn có thể sử dụng ứng dụng khách OAuth để tạo danh sách cho phép các miền được uỷ quyền cho dự án của mình. Các miền được uỷ quyền là danh sách các miền mà từ đó javascript phía máy khách của bạn được phép thực hiện cuộc gọi từ. Ấn bản của bạn có thể đã có Mã ứng dụng OAuth được định cấu hình trong Trung tâm xuất bản để sử dụng với swg.js.

Thử nghiệm

Để kiểm thử việc triển khai phía máy khách của tính năng Liên kết gói thuê bao, đoạn mã phải chạy từ một máy chủ có nguồn gốc javascript được uỷ quyền.

  1. Đối với mục đích sử dụng chính thức, nguồn gốc được uỷ quyền có thể đến từ Ứng dụng OAuth đã định cấu hình hoặc từ danh sách miền đã xác minh trong phần cài đặt ấn bản trong Trung tâm xuất bản.
  2. Để sử dụng trong quá trình phát triển hoặc thử nghiệm, với một miền không xác minh được (ví dụ: localhost hoặc máy chủ không công khai), thì miền phải có trong OAuth đã định cấu hình Khách hàng.

Khắc phục lỗi

Vấn đề phổ biến nhất khi kiểm thử javascript phía máy khách là nhận được lỗi 403 - Not Authorized khi cố gắng chạy javascript. Để giải quyết vấn đề này, hãy đảm bảo rằng bạn đang chạy javascript từ một miền đã được xác thực trong Publisher Center hoặc bạn đang chạy mã trên một máy chủ lưu trữ nằm trong nguồn gốc js được uỷ quyền của ứng dụng OAuth được liên kết.

Bước tiếp theo

Chúc mừng bạn đã hoàn tất việc tích hợp JavaScript phía máy khách. Bây giờ, bạn có thể chuyển sang phần tích hợp phía máy chủ. Đây là bước bắt buộc để đồng bộ hoá thông tin độc giả các quyền. Khi triển khai và sử dụng hàm UpdateReaderEntitlements phía máy chủ bắt buộc, bạn đảm bảo rằng các bài viết phù hợp được đánh dấu đúng người đăng ký.