使用訂閱連結時,用戶端 JavaScript 是建立
PPID
與讀者 Google 帳戶之間的新關聯。在已設定的頁面上,讀者會看到對話方塊,要求他們連結訂閱項目。讀者點選「繼續使用 Google 帳戶」使用者點選按鈕後
可以選擇連結的帳戶,並返回設定網頁
訓練完成時
使用
swg.js
中的 linkSubscription 方法。使用方式與先前的帳戶連結功能相似 (示例),但該方法不是傳遞承諾,而是接受包含 PPID 的物件。
程式碼範例
這些用戶端程式碼範例說明瞭如何啟動連結,以及
回應看起來會像這樣,以及 (選用) 如何使用 swg.js
eventManager 來
監聽數據分析事件,並據此轉送這些事件。
啟動「訂閱連結」對話方塊
const result = await subscriptions.linkSubscription({publisherProvidedId:6789})
回應範例
已成功連結的帳戶傳回的有效回應,會包含連結中使用的 PPID
和布林值 success
狀態。
console.log(result) //{publisherProvidedId: 6789, success: true}
訂閱連結功能不需要使用第三方 Cookie,也不需要讀者有有效的 Google 工作階段。這項功能可讓讀者在購買後隨時啟動連結體驗,不限於購買後。如果讀者未登入 Google 帳戶,系統會在流程中提供登入帳戶的選項。
完整用戶端範例
<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>
建立 OAuth 用戶端 ID
雖然訂閱連結不需要 OAuth 用戶端,但 OAuth 用戶端
可用來編寫專案的授權網域許可清單。
授權網域是允許用戶端 JavaScript 發出呼叫的網域清單。你的出版品可能已具備 OAuth
在新聞發布者中心設定要與 swg.js
搭配使用的用戶端 ID。
- 如果「訂閱連結」的用戶端 JavaScript 呼叫來自 先前通過驗證的網域名稱,無須採取任何行動。
- 如果您的 JavaScript 是透過新的網域名稱執行,請按照 SwG OAuth 用戶端 ID 設定操作說明。
測試
如要測試訂閱連結的用戶端實作項目,您必須透過具有授權 JavaScript 來源的伺服器執行程式碼。
- 如要用於正式版,授權的來源可以來自已設定的 OAuth 用戶端,或是新聞發布者中心內的已驗證網域清單中的網域。
- 如果是開發或測試環境,且使用無法驗證的網域 (例如 localhost 或非公開伺服器),則該網域必須列在已設定的 OAuth 用戶端中。
排解錯誤
測試用戶端 JavaScript 時最常見的問題,是嘗試執行 JavaScript 時收到 403 - Not Authorized
錯誤。如要解決這個問題,請確認您是在發布者中心中從已驗證的網域執行 JavaScript,或是在已連結 OAuth 用戶端的授權 js 來源中執行代碼。
下一步
恭喜您完成用戶端 JavaScript 整合作業。您現在可以進行伺服器端整合。這是同步處理讀者的必要步驟授權。當您
實作並使用必要的伺服器端 UpdateReaderEntitlements
函式。
確保將適當的報導置於
位訂閱者。