Kullanıcı hesaplarını bağlama (İstemci tarafı JavaScript)

Aboneden aboneliğini bağlamasını isteyen iletişim kutusu örneği

Abonelik Bağlantısı'nda, PPID ile okuyucunun Google Hesabı arasında yeni bir ilişki oluşturmanın tek yolu istemci tarafı JavaScript'tir. Yapılandırılmış bir okuyucuya kendi hesaplarını bağlamasını isteyen bir iletişim kutusu abonelik. Okuyucu "Google ile Devam Et"i tıkladıktan sonra onlar da bağlanacak bir hesap seçebilir ve yapılandırılan sayfaya geri gönderilebilir. gerekir.

PPID'yi okuyucunun hesabıyla ilişkilendirme işlemi swg.js ürününde linkSubscription yöntemi. Önceki hesaba benzer kullanım Özellik bağlama (örnek), yöntem, bir sözü iletmek yerine PPID.

Kod örnekleri

Bu istemci tarafı kod örnekleri, bir bağlantının nasıl başlatılacağını, ve (isteğe bağlı olarak) izleme etkinliği için swg.js eventManager'ın analiz etkinliklerini dinleyip bunlara uygun şekilde yönlendirin.

Abonelik Bağlama iletişim kutusunu başlatma

const result = await subscriptions.linkSubscription({publisherProvidedId:6789})

Örnek yanıt

Başarıyla bağlanmış bir hesaptan alınan geçerli yanıtlarda kullanılan PPID bulunur ve boole success durumunu belirtir.

console.log(result) //{publisherProvidedId: 6789, success: true}

Abonelik Bağlama, üçüncü taraf çerezleri veya okuyucu için etkin bir Google oturumu. Bu esneklik, bağlantı deneyiminin yalnızca satın alma işleminden sonra değil, okuyucunun deneyiminde herhangi bir zamanda başlatılmasına olanak tanır. Okuyucu, o hesabı kullanan kişilere akışın bir parçası olarak bunu yapma fırsatı verilir.

İstemci tarafı örneği

<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 istemci kimliği oluşturun

Abonelik bağlama işlemi için OAuth istemcisi gerekmese de OAuth istemcisi, projenizin yetkili alan adlarının izin verilenler listesini oluşturmak için kullanılabilir. Yetkili alanlar, istemci tarafı JavaScript'inizin çağrı yapmasına izin verilen alanların listesidir. Yayınınızın zaten bir OAuth'u var Yayıncı Merkezi'nde swg.js ile kullanılmak üzere yapılandırılmış istemci kimliği.

Test

Abonelik Bağlamanın istemci tarafı uygulamasını test etmek için, kod, yetkili bir JavaScript kaynağına sahip bir sunucudan çalıştırılmalıdır.

  1. Üretim kullanımı için yetkili kaynaklar, OAuth istemcisi veya yayın ayarlarındaki doğrulanmış alan adları listesinden Yayıncı Merkezi'nden inceleyebilirsiniz.
  2. Doğrulanamayan bir alan (ör. localhost veya herkese açık olmayan bir sunucu) ile geliştirme veya hazırlık amaçlı kullanım için alan, yapılandırılmış OAuth istemcisinde listelenmelidir.

Hataları giderme

İstemci taraflı JavaScript test edilirken en sık karşılaşılan sorun, JavaScript çalıştırılmaya çalışılırken 403 - Not Authorized hatası oluştu. Sorunu çözmek için Bunun için, JavaScript'i ya da kodu ana makinede çalıştırmanız gerektiğini bağlı OAuth istemcisinin yetkilendirilmiş js kaynakları.

Sonraki adım

İstemci tarafı JavaScript entegrasyonunu tamamladığınız için tebrik ederiz. Şimdi sunucu tarafı entegrasyonu bölümüne geçebilirsiniz. Bu, okuyucularınızın senkronizasyonu için gerekli bir adımdır haklar. Gerekli sunucu tarafı UpdateReaderEntitlements işlevini uygulayıp kullandığınızda, doğru aboneler için doğru makalelerin öne çıkarılmasını sağlarsınız.