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.
- Abonelik Bağlama istemci taraflı JavaScript çağrılarınız alan adıyla ilişkilendirilir. Herhangi bir işlem yapmanız gerekmez.
- JavaScript'iniz yeni bir alan adından çalışıyorsa SwG OAuth İstemci Kimliği yapılandırma talimatları.
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.
- Üretim kullanımı için yetkili kaynaklar, OAuth istemcisi veya yayın ayarlarındaki doğrulanmış alan adları listesinden Yayıncı Merkezi'nden inceleyebilirsiniz.
- 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.