اعلانهای موبایل و مسئلهٔ تحویل در ایران

اعلان، سادهترین قابلیت اپلیکیشن به نظر میرسد و در بازار ایران یکی از دردسرسازترینهاست.
دلیلش هم فنی است و هم زیرساختی: مسیر استاندارد تحویل اعلان روی اندروید، از سرویسهای گوگل میگذرد — و آن سرویسها اینجا قابل اتکا نیستند.
چرا اعلان نمیرسد
روی اندروید، مسیر متعارف این است: سرور شما به سرویس پیامرسانی گوگل میفرستد، آن سرویس به دستگاه تحویل میدهد.
سه مشکل در بازار ما:
دسترسی ناپایدار. ارتباط دستگاه با سرورهای گوگل همیشه برقرار نیست. اعلان یا با تأخیر طولانی میرسد یا اصلاً نمیرسد.
دستگاههای بدون سرویس گوگل. بخشی از گوشیهای موجود در بازار، سرویسهای گوگل را ندارند. برای این کاربران، مسیر استاندارد اصلاً وجود ندارد.
بهینهسازی باتری سازندگان. بسیاری از سازندگان، برنامههای پسزمینه را تهاجمی میبندند. این مشکل جهانی است و اینجا با بقیه جمع میشود.
نتیجهٔ عملی: نرخ تحویل اعلان در ایران بهطور معنیداری پایینتر از میانگین جهانی است و اگر منطق محصولتان به رسیدن اعلان وابسته باشد، آن منطق در بخشی از موارد کار نمیکند.
گزینههای واقعی
سرویسهای پیامرسانی داخلی
چند سرویس ایرانی این کار را انجام میدهند و روی دستگاههای بدون سرویس گوگل هم کار میکنند.
مزیت: نرخ تحویل بهتر در داخل، پشتیبانی فارسی، بدون وابستگی به دسترسی خارجی.
عیب: یک وابستگی جدید. کیفیت و پایداری بین ارائهدهندهها متفاوت است.
اتصال دائم خودتان
اپلیکیشن یک اتصال باز با سرور شما نگه میدارد.
مزیت: کنترل کامل، بدون واسطه.
عیب: مصرف باتری، پیچیدگی، و اینکه سیستمعامل ممکن است اتصال را ببندد. روی iOS عملاً غیرممکن است.
کِی درست است: برای اپلیکیشنی که کاربر ساعتها بازش نگه میدارد — اپ راننده، اپ پیک، پنل عملیاتی.
دریافت دورهای
اپلیکیشن هر چند دقیقه از سرور میپرسد چیز جدیدی هست.
مزیت: ساده و قابل اتکا.
عیب: لحظهای نیست، باتری و داده مصرف میکند.
پیامک
قدیمی، گران، و قابل اتکاترین.
برای پیامهای حیاتی — کد تأیید، هشدار مالی، تأیید سفارش — پیامک هنوز استاندارد عملی است. جزئیات مصرفش را در بخش بعد ببینید.
راهبردی که پیشنهاد میکنیم
اعلان را بهعنوان کانالی «تلاشمحور» ببینید، نه تضمینشده.
یعنی معماریتان نباید فرض کند اعلان رسیده. سه لایه:
۱. برای اطلاعرسانی عادی: سرویس داخلی، و اگر لازم شد سرویس گوگل بهعنوان مسیر دوم.
۲. برای پیام حیاتی: پیامک، مستقل از اعلان.
۳. همیشه، در خود اپلیکیشن: هر چیزی که اعلان شده، باید در صندوق پیام داخل برنامه هم باشد. این تنها لایهای است که همیشه کار میکند و ارزانترین بیمه است — کاربری که اعلان را ندیده، وقتی برنامه را باز میکند پیام را میبیند.
آن لایهٔ سوم را بسیاری از تیمها جا میاندازند و بعد تعجب میکنند چرا کاربران از اتفاقها بیخبرند.
پیامک، و اقتصادش
پیامک قابل اتکاست و هزینه دارد. سه نکتهٔ عملی:
اعتبار پنل تمام میشود. پنلهای ایرانی اعتباریاند و شارژشان تمام میشود. سطح اعتبار باید خودش پایش شود با هشدار — نه اینکه از روی خطای ارسال کشف شود. هفتهای که هیچ مشتری کد تأیید نگرفته، از اینجا شروع میشود.
محدودیت نرخ روی ارسال کد. بدون آن، کسی هزینهٔ پیامک شما را به بازی میگیرد. همان نکتهای که در احراز هویت گفتیم.
ارسال باید کار پسزمینه باشد با تلاش مجدد و قابلیت اجرای دوباره بدون ارسال مضاعف. کاربری که سه پیامک یکسان بگیرد، شکایت میکند.
طراحی اعلان: چطور خاموش نشود
مسئلهٔ دوم، بعد از تحویل: کاربری که اعلانهای شما را خاموش کند، برای همیشه از دست رفته.
آنچه باعث خاموش شدن میشود:
- زیاد بودن. حد بگذارید — روزی یکی دو تا برای اکثر برنامهها کافی است.
- بیربط بودن.
- ساعت بد. اعلان ساعت دو بامداد، خاموشکنندهٔ فوری است. بازهٔ مجاز ارسال تعریف کنید و منطقهٔ زمانی کاربر را در نظر بگیرید.
- تبلیغاتی بودن همهٔ پیامها.
آنچه کمک میکند:
- تنظیمات ریز. کاربر بتواند نوع اعلانها را جدا خاموش کند، نه همه را با هم. کسی که فقط از تبلیغات اذیت است، نباید مجبور شود اعلان سفارشش را هم خاموش کند.
- درخواست اجازه در لحظهٔ درست. روی iOS اجازه یک بار پرسیده میشود و اگر رد شود، برگرداندنش تقریباً غیرممکن است. در اولین اجرا نپرسید — وقتی بپرسید که کاربر ارزشش را فهمیده باشد؛ مثلاً بعد از ثبت اولین سفارش.
- متن مشخص. «سفارش شما ارسال شد» بهتر از «خبری برای شما داریم».
نکات فنی که وقت میگیرند
متن فارسی در اعلان. طول متن، شکستن خط و جهت را روی دستگاه واقعی امتحان کنید. پیشنمایشهای شبیهساز گمراهکنندهاند.
اعلان وقتی برنامه بسته است رفتار متفاوتی دارد. این حالت را جدا تست کنید؛ شایعترین باگ همینجاست.
کلیک روی اعلان باید به صفحهٔ درست برود، نه صفحهٔ اصلی. و اگر کاربر وارد نشده، پس از ورود باید همانجا برود.
اعلان تکراری. اگر هم سرویس داخلی و هم گوگل را استفاده میکنید، شناسهٔ یکتا بگذارید تا دو بار نمایش داده نشود.
چه چیزی را بسنجید
نرخ تحویل واقعی، به تفکیک سرویس و نوع دستگاه. بدون این عدد نمیدانید مشکل دارید یا نه — و بیشتر تیمها ندارند.
نرخ باز شدن، به تفکیک نوع اعلان. اعلانی که نرخ بازش زیر چند درصد است، فقط دارد کاربر را به سمت خاموشکردن میبرد.
نرخ خاموشکردن. اگر بعد از کمپینی جهش کرد، آن کمپین ضرر داشته حتی اگر کلیک گرفته باشد.
سازوکار کلی انتخاب بین کانالها — اعلان، پیامک، ایمیل، درونبرنامهای — در راهبرد اطلاعرسانی آمده.