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" düğmesini tıkladıktan sonra, bağlanacağı bir hesap seçebilir ve işlemi tamamladıktan sonra yapılandırılmış sayfaya geri gönderilebilir.
PPID'nin okuyucunun hesabıyla ilişkilendirilmesi, swg.js
'teki linkSubscription yöntemi kullanılarak yapılır. Önceki hesaba benzer kullanım
Özellik bağlama (örnek),
yöntem, bir sözü iletmek yerine
PPID.
Kod örnekleri
Bu istemci tarafı kod örnekleri, bağlantının nasıl başlatılacağını, geçerli bir yanıtın nasıl göründüğünü ve (isteğe bağlı olarak) analiz etkinliklerini dinlemek ve uygun şekilde yönlendirmek için swg.js
eventManager'ın nasıl kullanılacağını gösterir.
Abonelik bağlama iletişim kutusunu başlat
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çin OAuth istemcisi gerekli değildir ancak OAuth istemcisi
projeniz için yetkili alanların izin verilenler listesini yazmak amacıyla kullanılabilir.
Yetkili alanlar, istemci tarafı JavaScript'inizin çağrı yapmasına izin verilen alanların listesidir. Yayınınızda, swg.js
ile kullanılmak üzere Yayıncı Merkezi'nde yapılandırılmış bir OAuth istemci kimliği zaten mevcuttur.
- 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, yapılandırılmış OAuth istemciden veya Yayıncı Merkezi'ndeki yayın ayarlarındaki doğrulanmış alanlar listesinden gelebilir.
- Doğrulanamayan bir alan adıyla (ör. localhost) geliştirme veya hazırlık kullanımı için herkese açık olmayan bir sunucu) kullanıyorsanız alan, yapılandırılmış OAuth'ta listelenmelidir. İstemci’yi tıklayın.
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ın mümkün olduğunu
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 haklarıyla ilgili bilgileri senkronize etmek için gerekli bir adımdır. Google Takvim widget'ını
sunucu tarafı UpdateReaderEntitlements
işlevini uygulamak ve kullanmak
doğru makalelerin doğru kişiler için vurgulandığından
abone.