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

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

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

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

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

توضّح أمثلة الرموز من جهة العميل هذه كيفية بدء عملية ربط، وفوائد الردّ، و (اختياريًا) كيفية استخدام 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 من اسم نطاق جديد، اتّبِع تعليمات ضبط معرّف عميل OAuth في SwG

الاختبار

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

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

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

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

الخطوة التالية

تهانينا على اكتمال دمج JavaScript من جهة العميل. الْآنْ يمكنك الانتقال إلى الدمج من جهة الخادم. هذه الخطوة مطلوبة لمزامنة بيانات القرّاء. المعلومات والواجبات. عندما تريد تنفيذ واستخدام الدالة UpdateReaderEntitlements المطلوبة من جانب الخادم، التأكد من تمييز المقالات الصحيحة جهة اليمين المشتركين.