من خلال ميزة "ربط الاشتراكات"، يكون JavaScript من جهة العميل هو الطريقة الوحيدة لإنشاء
ربط جديد بين PPID
وحساب Google الخاص بالقارئ. على جدول بيانات تم إعداده
يظهر للقارئ مربّع حوار يطلب منه ربط
اشتراكك. بعد أن ينقر القارئ على زر "Continue with Google" (متابعة مع Google) زر،
اختيار حساب لربطه، والعودة إلى الصفحة التي تم ضبطها.
عند الانتهاء.
يتم ربط معرّف PPID بحساب القارئ باستخدام swg.js
. يتشابه استخدام الحساب مع الحساب السابق.
ميزة الربط (مثال)
ولكن بدلاً من تمرير وعود، تقبل الطريقة كائنًا يحتوي على
المعرّف المقدَّم من الناشر (PPID)
أمثلة على الرموز البرمجية
توضّح أمثلة الرموز من جهة العميل هذه كيفية بدء عملية ربط، وفوائد
الردّ، و (اختياريًا) كيفية استخدام eventManager في swg.js
من أجل
والاستماع إلى أحداث التحليلات وتوجيهها وفقًا لذلك.
ابدأ مربّع حوار "ربط الاشتراكات".
const result = await subscriptions.linkSubscription({publisherProvidedId:6789})
نموذج إجابة
تحتوي الردود الصالحة من حساب مرتبط بنجاح على كل من PPID
المستخدَم
في الرابط، وحالة success
منطقية.
console.log(result) //{publisherProvidedId: 6789, success: true}
لا يتطلّب ربط الاشتراكات استخدام ملفات تعريف الارتباط التابعة لجهات خارجية أو جلسة 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
على الرغم من أنّ عميل OAuth ليس مطلوبًا لربط الاشتراكات، يمكن استخدام عميل OAuth
لإنشاء القائمة المسموح بها لنطاقات البث المعتمَدة لمشروعك.
النطاقات المسموح بها هي قائمة بالنطاقات التي يتوفر منها رمز JavaScript من جهة العميل
مسموح بإجراء مكالمات منه. من المحتمل أن تستخدم جهة النشر الخاصة بك بروتوكول OAuth.
تم ضبط رقم تعريف العميل في "مركز الناشرين" لاستخدامه مع swg.js
.
- إذا كانت طلبات JavaScript من جهة العميل في ميزة "ربط الاشتراكات" تأتي من اسم نطاق تم التحقّق منه سابقًا، ليس عليك اتّخاذ أي إجراء.
- إذا كان JavaScript يعمل من اسم نطاق جديد، اتّبِع تعليمات ضبط معرّف العميل في SwG OAuth.
الاختبار
لاختبار عملية تنفيذ "ربط الاشتراكات" من جهة العميل، يجب أن يجب أن يتم تشغيله من خادم لديه مصدر JavaScript معتمد.
- لاستخدام الإصدار العلني، يمكن أن تأتي المصادر المعتمَدة من العميل المُعدّ ببروتوكول OAuth أو من قائمة النطاقات التي تم إثبات ملكيتها في إعدادات النشر ضمن "مركز الناشرين".
- لاستخدام وضع التطوير أو وضع الاختبار، مع نطاق لا يمكن التحقّق منه (مثل localhost أو خادم غير متاح للجميع)، يجب إدراج النطاق في OAuth Client الذي تم ضبطه.
تحديد الأخطاء وتصحيحها
إنّ المشكلة الأكثر شيوعًا عند اختبار JavaScript من جهة العميل هي ظهور خطأ
403 - Not Authorized
عند محاولة تشغيل JavaScript. الحل
هذا، تأكد من تشغيل جافا سكريبت من نطاق تم التحقق من صحته في
أو أنك تشغِّل الرمز على مضيف في
أصول js المعتمَدة لعميل OAuth المرتبط.
الخطوة التالية
تهانينا على إكمال عملية دمج JavaScript من جهة العميل. الآن،
يمكنك الانتقال إلى الدمج من جهة الخادم.
هذه خطوة مطلوبة لمزامنة أذونات القرّاء. عندما تريد
تنفيذ واستخدام الدالة UpdateReaderEntitlements
المطلوبة من جانب الخادم،
التأكد من تمييز المقالات الصحيحة جهة اليمين
المشتركين.