用戶端 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 用戶端 ID,以便與 swg.js 搭配使用。

  • 如果訂閱連結用戶端 JavaScript 呼叫來自先前驗證過的網域名稱,則無須採取任何行動。
  • 如果您的 JavaScript 是透過新的網域名稱執行,請按照 SwG OAuth 用戶端 ID 設定操作說明

測試

如要測試訂閱連結的用戶端實作項目,您必須透過具有授權 JavaScript 來源的伺服器執行程式碼。

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

排解錯誤

測試用戶端 JavaScript 時,最常見的問題是 嘗試執行 JavaScript 時發生 403 - Not Authorized 錯誤。解決方法 這之前,請務必在 或是您執行程式碼所在的主機 所連結 OAuth 用戶端的授權 js 來源。

下一步

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