JavaScript من جهة العميل

مثال على مربّع حوار يطلب من المشترك ربط اشتراكه

من خلال "ربط الاشتراكات"، إنّ JavaScript من جهة العميل هو الطريقة الوحيدة لإنشاء عملية ربط جديدة بين PPID وحساب القارئ على Google. في الصفحة التي تم ضبطها، يظهر للقارئ مربّع حوار يطلب منه ربط اشتراكه. بعد أن ينقر القارئ على الزر "متابعة باستخدام حساب Google"، يمكنه اختيار حساب للربط به، ثم إعادته إلى الصفحة التي تم ضبطها عند الانتهاء.

ويتم ربط معرّف PPID بحساب القارئ باستخدام linkSUBSCRIPTION في swg.js. يشبه الاستخدام ميزة "ربط الحساب" السابقة (مثال)، ولكن بدلاً من تمرير الوعد، تقبل الطريقة كائنًا يحتوي على معرّف PPID.

أمثلة على الرموز البرمجية

توضّح أمثلة الرموز من جهة العميل هذه كيفية بدء رابط، وشكل الردّ الصالح، وكيفية استخدام swg.js eventManager للاستماع إلى أحداث الإحصاءات وتوجيهها وفقًا لذلك.

بدء مربّع حوار "ربط الاشتراكات"

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 من اسم نطاق جديد، اتّبِع تعليمات ضبط معرّف عميل OAuth في SwG.

الاختبار

لاختبار التنفيذ من جهة العميل لميزة "ربط الاشتراكات"، يجب تشغيل الرمز من خادم يحتوي على مصدر JavaScript معتمد.

  1. لاستخدام الإنتاج، يمكن أن تأتي المصادر المسموح بها من عميل OAuth الذي تم ضبطه أو من قائمة النطاقات التي تم إثبات ملكيتها في إعدادات جهة النشر داخل "مركز الناشرين".
  2. للتطوير أو الاستخدام المرحلي، مع نطاق لا يمكن التحقق منه (على سبيل المثال، مضيف محلي أو خادم غير عام)، يجب إدراج النطاق في عميل OAuth الذي تم إعداده.

تحديد الأخطاء وتصحيحها

تظهر المشكلة الأكثر شيوعًا عند اختبار JavaScript من جهة العميل خطأ 403 - Not Authorized عند محاولة تشغيل JavaScript. لحل هذه المشكلة، تأكَّد من تشغيل JavaScript من نطاق تم التحقق من صحته في "مركز الناشرين"، أو من تشغيل الرمز على مضيف مُدرَج في أصول js المعتمَدة من برنامج OAuth المرتبط.