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
liên kết mới giữa PPID
và Tài khoản Google của độc giả. 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.
Việc liên kết PPID với tài khoản của người đọc được thực hiện bằng cách sử dụng
phương thức linkSubscription trong swg.js
. Cách sử dụng tương tự như tính năng Liên kết tài khoản trước đó (ví dụ), nhưng thay vì truyền một lời hứa, phương thức này chấp nhận một đối tượng chứa PPID.
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}
Bạn không cần sử dụng tính năng Liên kết gói thuê bao cookie của bên thứ ba hoặc một phiên Google đang hoạt động cho người đọc. Điều này cho phép linh hoạt khởi chạy trải nghiệm liên kết bất cứ lúc nào trong trải nghiệm của người đọc, chứ không chỉ sau khi mua hàng. Nếu độc giả không đăng nhập vào Tài khoản Google, họ sẽ có cơ hội thực hiện việc này 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 OAuth để dùng tính năng Liên kết gói thuê bao, nhưng lại dùng OAuth
có thể được dùng để tạo danh sách cho phép gồm các miền được uỷ quyền cho dự án của bạn.
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ó OAuth
Mã ứng dụng khách đã được định cấu hình trong Trung tâm xuất bản để dùng với swg.js
.
- Nếu các lệnh gọi javascript phía máy khách của tính năng Liên kết gói thuê bao bắt nguồn từ một tên miền được xác thực trước đó, bạn không cần làm gì cả.
- Nếu javascript của bạn chạy từ một tên miền mới, hãy thực hiện theo Hướng dẫn định cấu hình mã ứng dụng OAuth cho dịch vụ SwG.
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.
- Đố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.
- Để 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ụ: máy chủ cục bộ 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 tra javascript phía máy khách là nhận được
Lỗi 403 - Not Authorized
khi cố 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ương thức tích hợp phía máy chủ.
Đây là bước bắt buộc để đồng bộ hoá quyền của độc giả. 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ý.