تحديد المشاكل وحلّها

يمكن أن تساعد المعلومات الواردة في هذا المستند في تحديد وحلّ المشاكل التي قد تواجهها أثناء تنفيذ ميزة ربط الاشتراكات.

توقُّف طلب ربط الاشتراكات على شاشة التحميل

مثال على الخطأ:

رمز التحميل

الشكل 1. لا يتم تحميل رسالة طلب ربط الاشتراكات.

لحلّ هذه المشكلة، تحقَّق مما يلي:

  • احرص على إضافة مصادر الصفحات، بما في ذلك النطاقات الفرعية للاختبار، باعتبارها عناوين URL إضافية في إعدادات جهة النشر في "مركز الناشرين".
  • بالنسبة إلى عمليات تنفيذ "الوصول الموسّع" أو "منصة إدارة الأرباح من القراء" للمؤسسات، احرِص على إضافة مصادر الصفحات، بما في ذلك النطاقات الفرعية للاختبار، إلى مصادر JavaScript المسموح بها لبرنامج عميل OAuth 2.0 الذي تم ضبطه لهذا التنفيذ. وهذا الإجراء يجب أن يتم في Google Cloud Console.

تعذّر ربط الحساب

مثال على الخطأ:

تعذّر ربط الحساب

الشكل 2. تعذّر ربط الحساب.

لحلّ هذه المشكلة، تحقَّق مما يلي:

  • احرص على قبول بنود الخدمة الخاصة بربط الاشتراكات في مركز الناشرين. لإجراء ذلك، يمكنك الانتقال إلى إعدادات ربط الاشتراكات والنقر على توقيع بنود الخدمة الخاصة بربط الاشتراكات.
  • إذا سبق لك ربط حساب Google، ستظهر لك رسالة خطأ عند إعادة محاولة ربط الاشتراك. عليك إلغاء ربط الاشتراك من خلال صفحة الاشتراكات في "حساب Google"، قبل تكرار اختبار الدمج من جهة العميل.

حدث خطأ في الأذونات عند طلب Subscription Linking API.

مثال على الخطأ:

الرمز 403
الرسالة 'readerrevenuesubscriptionlinking.readerEntitlements.update' تم رفضه على المورد
'//readerrevenuesubscriptionlinking.googleapis.com/publications/example.com/readers/10078823/entitlements'
(أو قد لا يكون موجودًا)."

لحلّ هذه المشكلة، تحقَّق مما يلي:

  • تأكَّد من استخدام المشروع نفسه على النحو المحدّد في إعداد ميزة ربط الاشتراكات. عند إعداد ميزة ربط الاشتراكات في "مركز الناشرين"، استخدِم رقم المشروع. يمكنك العثور على رقم المشروع من لوحة بيانات المشروع.
  • تأكَّد من تفعيل SUBSCRIPTION Linking API في مشروعك.
  • في "إدارة الهوية وإمكانية الوصول" (IAM) في المشروع، تأكَّد من أنّ حساب الخدمة ممنوح للدور كمشرف ربط الاشتراك. يُرجى العلم أنّ نشر تغيير الدور من خلال النظام قد يستغرق بعض الوقت. إذا ظهر لك الخطأ 403 عند إجراء طلبات بيانات من واجهة برمجة التطبيقات، حتى بعد التأكّد من أنّ حساب الخدمة يتضمّن دور "إدارة الهوية وإمكانية الوصول" الصحيح، انتظِر لبضع ثوانٍ ثم جرِّب طلبك مرة أخرى.
  • إذا لم تكن متأكّدًا من حسابات الخدمة المطلوب استخدامها أو إذا كانت تمتلك دور "إدارة الهوية وإمكانية الوصول" الضروري، استخدِم أداة تحليل السياسات من المشروع الذي أعددته لربط الاشتراكات. أنشئ طلب بحث مخصّصًا ونفّذه باستخدام مَعلمات طلب البحث التالية:

    المعلمة 1 Role
    Role المشرف على ربط الاشتراكات
  • تأكَّد من استخدام المفتاح الصحيح لحساب الخدمة عند طلب واجهة برمجة التطبيقات SUBSCRIPTION Linking API. افحص الخصائص التالية في مفتاح حساب الخدمة (ملف JSON):

    • type: يجب أن تكون service_account.
    • project_id: يجب أن يكون رقم تعريف المشروع لرقم المشروع المحدّد في عملية إعداد ربط الاشتراكات.
    • client_email: يجب أن يكون حساب الخدمة نفسه في "إدارة الهوية وإمكانية الوصول" للمشروع والذي تم إسناده إلى الدور مشرف ربط الاشتراك.
  • إذا حصلت على رمز الدخول من خلال نقطة نهاية الرمز المميّز لبروتوكول OAuth 2.0 من Google (https://oauth2.googleapis.com/token)، تأكَّد من أنّ الرمز المميّز صالح وغير منتهي الصلاحية عند طلب واجهات برمجة التطبيقات لربط الاشتراكات. وفي حال انتهاء صلاحية الرمز، عليك الحصول على رمز جديد.

  • إذا كنت تستخدم REST API، احرص على استخدام معرّف جهة النشر الذي قدّمته في عملية إعداد ربط الاشتراكات. على سبيل المثال، إذا كان معرّف جهة النشر هو example.com، يجب أن يحتوي عنوان URL للطلب على هذا المعرّف.

    • ✅ استخدِم معرّف جهة النشر الذي تم إعداده فقط: publications/example.com/readers/10078823/entitlements
    • ❌ لا تستخدِم معرّف جهة النشر غير المعرّف المحدّد في إعدادات ربط الاشتراكات: publications/example-staging.com/readers/10078823/entitlements
    • ❌ لا تضمِّن منتج جهة النشر في الطلب: publications/example.com:premium/readers/10078823/entitlements

حدث خطأ غير صالح في الوسيطة عند تعديل الاستحقاق.

مثال على الخطأ:

الرسالة خطأ: يحتوي الطلب على وسيطة غير صالحة.

لحلّ هذه المشكلة، تحقَّق مما يلي:

  • احرص على توفير العنصر entitlements بالتنسيق الصحيح. انظر هذا المثال.
  • احرص على أن تكون السمة product_id بتنسيق publication_id:product.
    • ✅ مثال صالح: "product_id":"example.com:basic"
    • ❌ مثال غير صالح: "product_id":"example.com"

عدم رؤية المقالات المميّزة في نتائج البحث

لحلّ هذه المشكلة، تحقَّق مما يلي: