連結使用者帳戶 (用戶端 JavaScript)

要求訂閱者連結訂閱項目的對話方塊示例

使用訂閱連結時,用戶端 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 來源的伺服器執行程式碼。

  1. 如要用於正式版,授權的來源可以來自已設定的 OAuth 用戶端,或是新聞發布者中心內的已驗證網域清單中的網域。
  2. 如果是開發或測試環境,且使用無法驗證的網域 (例如 localhost 或非公開伺服器),則該網域必須列在已設定的 OAuth 用戶端中。
,瞭解如何調查及移除這項存取權。

排解錯誤

測試用戶端 JavaScript 時最常見的問題,是嘗試執行 JavaScript 時收到 403 - Not Authorized 錯誤。如要解決這個問題,請確認您是在發布者中心中從已驗證的網域執行 JavaScript,或是在已連結 OAuth 用戶端的授權 js 來源中執行代碼。

下一步

恭喜您完成用戶端 JavaScript 整合作業。您現在可以進行伺服器端整合。這是同步處理讀者的必要步驟授權。當您 實作並使用必要的伺服器端 UpdateReaderEntitlements 函式。 確保將適當的報導置於 位訂閱者。