使用訂閱連結功能時,用戶端 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 用戶端 ID,以便與 swg.js
搭配使用。
- 如果訂閱連結用戶端 JavaScript 呼叫來自先前驗證過的網域名稱,則無須採取任何行動。
- 如果您的 JavaScript 是透過新的網域名稱執行,請按照 SwG OAuth 用戶端 ID 設定操作說明。
測試
如要測試訂閱連結的用戶端實作項目,您必須透過具有授權 JavaScript 來源的伺服器執行程式碼。
- 如要用於正式版,授權的來源可以來自已設定的 OAuth 用戶端,或是新聞發布者中心內的已驗證網域清單中的網域。
- 如果是開發或測試環境,且使用無法驗證的網域 (例如 localhost 或非公開伺服器),則該網域必須列於已設定的 OAuth 用戶端中。
排解錯誤
測試用戶端 JavaScript 時,最常見的問題是
嘗試執行 JavaScript 時發生 403 - Not Authorized
錯誤。解決方法
這之前,請務必在
或是您執行程式碼所在的主機
所連結 OAuth 用戶端的授權 js 來源。
下一步
恭喜您完成了用戶端 JavaScript 整合。您現在可以進行伺服器端整合。這是同步處理讀者的必要步驟授權。當您
實作並使用必要的伺服器端 UpdateReaderEntitlements
函式。
確保將適當的報導置於
位訂閱者。