تبلیغ و پیام‌رسانی را با یک کلاینت راه‌اندازی کنید

در یک اپ Flutter، نمایش تبلیغ و دریافت پیام دو نقطه تماس با مخاطب‌اند. اگر برای هر کدام یک کتابخانه مستقل، تنظیم دامنه جدا و شناسه نصب متفاوت بسازید، نگهداری پروژه دشوار می‌شود. بسته یکپارچه دیدنکس هر دو قابلیت را در didnex_ads قرار می‌دهد. شما کلاینت را یک بار پیکربندی می‌کنید و کنترلر پوش را از همان کلاینت می‌سازید.

این راهنما برای انتخاب مسیر اتصال است. نمونه کامل، فایل Manifest و توضیح چرخه عمر در مستندات Flutter و راهنمای پوش Flutter قرار دارند. نسخه فایل SDK را از همان نصب دیدنکسی بگیرید که رسانه‌تان در آن ثبت شده است.

پیش از نوشتن کد، رسانه را آماده کنید

در پنل ناشر یک رسانه اپ با پکیج واقعی برنامه ثبت کنید و مراحل بررسی آن را انجام دهید. برای هر فرمت تبلیغ، جایگاه سازگار بسازید. شناسه عمومی جایگاه با UNT_ شروع می‌شود. این مقدار را از «کد و راهنما» بردارید؛ عبارت نمونه UNT_REPLACE_ME شناسه قابل استفاده نیست.

اپ به ثبت دامنه و تأیید DNS نیاز ندارد. نشانی HTTPS در کد، مبدأ سرویس دیدنکس است. برای مسیر مستقیم، سرور اختصاصی ناشر، ورود مخاطب و کلید خصوصی داخل برنامه لازم نیست. در اتصال اختیاری به حساب‌های اپ از مسیر سرور، تنظیمات همان روش را مطابق راهنما نگه دارید.

فقط بسته اصلی را به پروژه اضافه کنید

پوشه didnex_ads را در مسیر وابستگی محلی پروژه قرار دهید و وابستگی path را در pubspec تعریف کنید. اگر SDK تبلیغات نصب است، همان پوشه را به‌روز کنید. افزودن دوباره کلاس‌های پوش از یک ZIP دیگر می‌تواند نسخه‌های متفاوت یک API را وارد پروژه کند.

dependencies:
  flutter:
    sdk: flutter
  didnex_ads:
    path: packages/didnex_ads

پس از دریافت وابستگی‌ها، import اصلی، کلاس‌های تبلیغ و پوش را در اختیار برنامه می‌گذارد. شماره نمایشی بسته در پنل ۱ است؛ نسخه فنی و وضعیت بررسی همان فایل در مرکز SDK مشخص می‌شود.

کنترلر پوش را از کلاینت تبلیغات بسازید

در این قطعه، client همان کلاینت پیکربندی‌شده تبلیغات است و unitId از پنل آمده است. callback نمایش باید پس از قرارگرفتن واقعی کارت در رابط، مقدار true برگرداند.

final push = client.createPush(
  unitId: unitId,
  onMessage: (message) async {
    await showMessageCard(message);
    return true;
  },
  onError: (error) => showConnectionStatus(error),
);

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

عضویت با اقدام مخاطب شروع می‌شود

ساخت کنترلر پوش، عضویت خودکار ایجاد نمی‌کند. پس از انتخاب کاربر، enableInbox را با رضایت و موضوع‌های مناسب صدا بزنید. Inbox هنگام فعال‌بودن اپ پیام‌ها را دریافت می‌کند. برای اعلان پس‌زمینه، پروژه واقعی FCM، تنظیم APNs در iOS و مجوز سیستم‌عامل لازم است؛ آداپتور اختیاری آن همراه بسته ارائه می‌شود.

یک کنترلر مالک دریافت باشد. هنگام خروج صفحه آن را dispose کنید و کلاینت مشترک را زمانی ببندید که همه مصرف‌کنندگانش تمام شده‌اند. دریافت دوباره یک پیام نباید کارت یا اعتبار جایزه را تکرار کند. هنگام noFill، فضای تبلیغ را جمع کنید و وضعیت دریافت پوش را مستقل نگه دارید.

نتیجه اتصال را در چند مرحله بررسی کنید

ابتدا تبلیغ آزمایشی و Inbox را هم‌زمان بررسی کنید. سپس قطع و وصل اینترنت، رفتن به پس‌زمینه، بازگشت، لغو عضویت و بازکردن یک پیام را آزمایش کنید. دریافت پیام، نمایش کارت و لمس مخاطب سه اتفاق جدا هستند. برای خواندن نتیجه آن‌ها، راهنمای آمار پوش را ببینید. اگر پروژه B4A هم دارید، مسیر اتصال همان پلتفرم را جدا دنبال کنید.