عیب یابی

اطلاعات موجود در این سند می‌تواند به عیب‌یابی مشکلاتی که ممکن است هنگام پیاده‌سازی پیوند اشتراک با آنها مواجه شوید، کمک کند.

دکمه فراخوان برای لینک اشتراک در صفحه بارگذاری گیر کرده است

مثال خطا:

نماد بارگیری

شکل ۱. دکمه فراخوان برای لینک اشتراک بارگذاری نمی‌شود.

برای حل این مشکل، موارد زیر را بررسی کنید:

  • مطمئن شوید که مبدأ صفحات، شامل زیردامنه‌های آزمایشی، را به عنوان نشانی‌های اینترنتی اضافی در تنظیمات انتشار مرکز ناشران اضافه می‌کنید.
    • مطمئن شوید که وضعیت URL به جای «تأیید»، «تأیید شده» باشد.
  • برای پیاده‌سازی‌های Extended Access یا Reader Revenue Manager Enterprise، مطمئن شوید که ریشه‌های صفحات، از جمله زیردامنه‌های آزمایشی، را به ریشه‌های مجاز جاوا اسکریپت OAuth 2.0 Client که برای چنین پیاده‌سازی پیکربندی کرده‌اید، اضافه می‌کنید. این کار باید در Google Cloud Console انجام شود.

حساب کاربری قابل پیوند نبود

مثال خطا:

حساب کاربری قابل پیوند نبود

شکل ۲. مشکل عدم اتصال حساب کاربری

برای حل این مشکل، موارد زیر را بررسی کنید:

  • مطمئن شوید که شرایط خدمات مربوط به پیوند اشتراک را در مرکز ناشران پذیرفته‌اید. برای انجام این کار، به تنظیمات پیوند اشتراک بروید و روی امضای شرایط خدمات پیوند اشتراک کلیک کنید.
  • اگر حساب گوگل قبلاً متصل شده باشد، هنگام تلاش مجدد برای اتصال اشتراک، پیام خطایی دریافت خواهید کرد. قبل از تکرار تست ادغام سمت کلاینت، باید اشتراک را از طریق صفحه اشتراک‌ها در حساب گوگل لغو کنید.

خطای مجوزها هنگام فراخوانی API لینک اشتراک

مثال خطا:

کد 403
پیام 'readerrevenuesubscriptionlinking.readerEntitlements.update' در منبع رد شد.
'//readerrevenuesubscriptionlinking.googleapis.com/publications/example.com/readers/10078823/entitlements'
(یا ممکن است وجود نداشته باشد)."

برای حل این مشکل، موارد زیر را بررسی کنید:

  • مطمئن شوید که از همان پروژه‌ای استفاده می‌کنید که در تنظیمات پیوند اشتراک مشخص شده است. هنگام تنظیم پیوند اشتراک در مرکز ناشران، از شماره پروژه استفاده کنید. می‌توانید شماره پروژه را از داشبورد پروژه خود پیدا کنید.
  • مطمئن شوید که Subscription Linking API در پروژه شما فعال است.
  • در پروژه مدیریت هویت و دسترسی (IAM)، مطمئن شوید که حساب کاربری سرویس با نقشی به عنوان مدیر پیوند اشتراک اعطا شده است. توجه داشته باشید که انتشار تغییر نقش در سیستم ممکن است زمان‌بر باشد. اگر هنگام فراخوانی API، حتی پس از تأیید اینکه حساب کاربری سرویس شما نقش IAM صحیح را دارد، خطای ۴۰۳ دریافت کردید، چند لحظه صبر کنید و سپس دوباره درخواست خود را امتحان کنید.
  • اگر مطمئن نیستید که از کدام حساب‌های سرویس استفاده کنید یا اینکه آیا نقش IAM لازم را دارند یا خیر، از تحلیلگر سیاست (Policy Analyzer) پروژه‌ای که برای Subscription Linking راه‌اندازی کرده‌اید، استفاده کنید. یک پرس‌وجوی سفارشی با پارامترهای پرس‌وجوی زیر ایجاد و اجرا کنید:

    پارامتر ۱ نقش
    نقش مدیریت لینک‌های اشتراک
  • هنگام فراخوانی Subscription Linking API، مطمئن شوید که از کلید حساب سرویس صحیح استفاده می‌کنید. ویژگی‌های زیر را در کلید حساب سرویس خود (فایل JSON) بررسی کنید:

    • نوع: باید service_account باشد.
    • project_id: باید شناسه پروژه شماره پروژه مشخص شده در تنظیمات پیوند اشتراک باشد.
    • client_email: این باید همان حساب سرویس در IAM پروژه باشد که با نقش Subscription Linking Admin اختصاص داده شده است.
  • اگر توکن دسترسی را از طریق نقطه پایانی توکن Google OAuth 2.0 (https://oauth2.googleapis.com/token) دریافت کرده‌اید، هنگام فراخوانی APIهای لینک اشتراک، مطمئن شوید که توکن معتبر است و منقضی نشده است. اگر توکن منقضی شد، باید یک توکن جدید دریافت کنید.

  • اگر از REST API استفاده می‌کنید، مطمئن شوید که از شناسه انتشاری که در تنظیمات Subscription Linking ارائه کرده‌اید، استفاده می‌کنید. برای مثال، اگر شناسه انتشار شما 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"

عدم نمایش مقالات برجسته در نتایج جستجو

برای حل این مشکل، موارد زیر را بررسی کنید:

نمی‌توان زبان پیام فراخوان عمل پیوند اشتراک را تغییر داد

لینک دادن به فراخوان برای اقدام در اشتراک

زبان فراخوانی برای اقدام در لینک اشتراک توسط تنظیمات کاربر تعیین می‌شود. این زبان را نمی‌توان به صورت سراسری تغییر داد.

زبان به شرح زیر تعیین می‌شود:

  1. اگر کاربر با حساب گوگل خود وارد سیستم شده باشد، زبان اصلی تنظیم شده در تنظیمات حساب گوگل او ( https://myaccount.google.com/language ) استفاده می‌شود.

  2. اگر کاربر وارد سیستم نشده باشد، زبان بر اساس تنظیمات زبان اصلی مرورگر یا سیستم عامل او تنظیم می‌شود.

فراخوان‌های لینک‌دهی اشتراک از همه زبان‌ها پشتیبانی نمی‌کنند. اگر زبان اصلی کاربر پشتیبانی نشود، ممکن است فراخوان به اقدام به صورت پیش‌فرض به انگلیسی باشد.