21 Eylül 2026 Pazartesi

از تله هزینه به‌ازای نصب (CPI) تا بازیکنان وفادار: ارتقای بازی‌های موبایل با اکشن‌های درون‌برنامه‌ای Firebase و Google Ads (UAC 2.0)




از تله هزینه به‌ازای نصب (CPI) تا بازیکنان وفادار: ارتقای بازی‌های موبایل با اکشن‌های درون‌برنامه‌ای Firebase و Google Ads (UAC 2.0)

هر توسعه‌دهنده مستقل بازی که عنوانی را برای موبایل منتشر می‌کند، دیر یا زود با پارادوکس هزینه به‌ازای نصب (CPI) مواجه می‌شود:

شما یک کمپین پولی جذب کاربر (User Acquisition) راه‌اندازی می‌کنید، از سرازیر شدن دانلودهای ارزان‌قیمت شادمان می‌شوید و افزایش شمارنده نصب در Google Play را تماشا می‌کنید. اما زمانی که ۴۸ ساعت بعد داشبورد تحلیلی خود را باز می‌کنید، واقعیت تلخ خود را نشان می‌دهد:

۱,۰۰۰ نصب ──► ۵۰۰ حذف فوری بازی (< ۲ دقیقه) ──► ۵۰ اتمام مرحله ۱ ──► ۵ بازیکن وفادار

بیش از ۵۰٪ از کاربران جذب‌شده بازی را قبل از به پایان رساندن همان مرحله اول از گوشی خود پاک کرده‌اند.

اگر یک کمپین استاندارد Google Ads برای نصب برنامه (UAC 1.0) را با قیمت‌گذاری پایه‌ای CPI اجرا کنید، الگوریتم یادگیری ماشین گوگل دقیقاً همان کاری را انجام می‌دهد که از آن خواسته‌اید: ارزان‌ترین کاربرانی را پیدا کن که روی دکمه "Install" در Google Play ضربه می‌زنند. متأسفانه، ارزان‌ترین کاربران در شبکه‌های تبلیغاتی معمولاً شکارچیان پاداش‌های درون برنامه‌ای، کلیک‌های تصادفی یا حساب‌های شبه‌ربات هستند که هرگز قصد تعامل واقعی با گیم‌پلی شما را ندارند.

در این مقاله، معماری فنی و مهندسی بازاریابی واقعی خود را از بازی اکشن و سرعتی تانک رترو، Blocked: Pixel Panzer (توسعه‌یافته با MonoGame و C# توسط Arar Games) به اشتراک می‌گذاریم. ما بررسی خواهیم کرد که چگونه تله‌متری سمت دستگاه را به Google Analytics 4 (GA4) و کمپین‌های درون‌برنامه‌ای Google Ads (UAC 2.0) متصل کردیم تا خرید نصب‌های توخالی را متوقف کرده و بازیکنانی متعهد با نرخ بازگشت و ماندگاری بالا جذب کنیم.


۱. تحلیل قیف کاربر: داده‌های زنده تحلیلی چه چیزی به ما آموختند

قبل از خرج کردن حتی یک دلار در شبکه‌های تبلیغاتی، باید دقیقاً بدانید بازیکنان در چه نقطه‌ای بازی را رها می‌کنند.

در Blocked: Pixel Panzer، سیستم تله‌متری ما چرخه‌های حیات گیم‌پلی را به صورت ناهمگام در Firebase ثبت می‌کند:

  • first_open
  • screen_view (ردیابی بیش از ۴۰ صفحه سفارشی MonoGame)
  • level_completed (همراه با پارامترهای level_number، score و duration_seconds)
  • skill_upgraded
  • boss_fight_result
  • app_remove (سیگنال بومی سیستم‌عامل برای حذف برنامه)

وقتی نشست‌های حذف‌شده را در گزارش Path Exploration سرویس GA4 تجزیه و تحلیل کردیم، داده‌ها بسیار تکان‌دهنده بودند:

  • از میان ۶۳ دستگاه حذف‌شده که مورد بررسی قرار گرفتند، حدود ۳۰ کاربر قبل از اتمام مرحله ۱ بازی را حذف کرده بودند.
  • ۱۴ کاربر بلافاصله پس از ارتقای مهارت‌های اولیه خود در چرخه گیم‌پلی از بازی خارج شدند.
  • بیشترین پیشرفت در میان کاربران ریزش‌کرده، مرحله ۱۰ (اولین غول مرحله / World Boss) بود.
[ نصب بازی توسط کاربر ] 
       │
       ├──► ۴۸٪ ریزش: ترک بازی پیش از اتمام مرحله ۱ <── (منطقه اتلاف هزینه CPI)
       │
       ├──► ۳۰٪ تعامل: ارتقای مهارت‌ها و رسیدن به مرحله ۲ و ۳
       │
       └──► ۲۲٪ ماندگاری اصلی: رسیدن به غول مرحله (مرحله ۱۰) و فرایند Meta-Game

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

برای ساخت یک اقتصاد بازی پایدار، مدل قیمت‌گذاری تبلیغاتی ما باید روی کاربرانی بهینه‌سازی می‌شد که رفتار آن‌ها با بازیکنانی مطابقت داشت که واقعاً مرحله ۱ را پشت سر گذاشته و به سمت مرحله ۳ پیشروی می‌کنند.


۲. سازوکار UAC 2.0: بهینه‌سازی بر اساس اکشن‌های درون‌برنامه‌ای

کمپین‌های عمومی اپلیکیشن گوگل ادز (Universal App Campaigns) در قالب‌های بهینه‌سازی متفاوتی عرضه می‌شوند:

مدل کمپین تمرکز قیمت‌گذاری آنچه الگوریتم یاد می‌گیرد بهترین کاربرد برای
UAC 1.0 (نصب‌ها) حداکثرسازی نصب / Target CPI پروفایل کاربرانی که مداوم برنامه‌های جدید نصب می‌کنند انتشار اولیه در استور، جهش حجم دانلود
UAC 2.0 (اکشن‌های درون‌برنامه) Target CPA (هزینه هدف به‌ازای اقدام) پروفایل کاربرانی که یک نقطه عطف خاص در بازی را تکمیل می‌کنند ماندگاری پایدار، رشد گیم‌پلی طولانی‌مدت
UAC 2.5 (ارزش / ROAS) Target ROAS پروفایل کاربرانی که خریدهای درون‌برنامه‌ای سنگین انجام می‌دهند بازی‌هایی با سیستم خرید درون‌برنامه‌ای پرحجم

در مدل UAC 2.0 (اکشن‌های درون‌برنامه)، شما یک هزینه هدف به‌ازای اقدام (tCPA)—به عنوان مثال ۰.۲۰ دلار به ازای هر بار تکمیل مرحله ۱—تعیین می‌کنید.

سپس شبکه عصبی Smart Bidding گوگل صدها سیگنال رفتاری را در Google Play، YouTube، جستجوی گوگل و میلیون‌ها برنامه در شبکه نمایش گوگل (AdMob) تحلیل می‌کند. این الگوریتم فقط زمانی اقدام به ثبت پیشنهاد قیمت تهاجمی می‌کند که نمایش تبلیغ با کاربری مطابقت داشته باشد که سوابق رفتاری او نشان دهد بازی را دانلود خواهد کرد، بخش آموزشی را رد می‌کند و مرحله ۱ را به پایان می‌رساند.


۳. پیاده‌سازی گام به گام: از تله‌متری C# تا Google Ads

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

گام ۱: قلاب تله‌متری سمت دستگاه (MonoGame / C#)

در فایل Blocked.Shared/Managers/AnalyticsManager.cs، هر زمان که بازیکن یک منطقه نبرد را پاکسازی می‌کند، بازی امتیاز، آسیب وارده و زمان را محاسبه کرده و رویداد level_completed را بدون مسدود کردن ترد رندرینگ ۶۰ فریم بر ثانیه ارسال می‌کند:

public static void LogLevelCompleted(int level, int score, int totalScore, string rank,
                                     int durationSeconds, int damageTaken,
                                     int blocksBroken, int enemiesKilled, int suppliesCollected)
{
    try
    {
        _payload.Clear();
        _payload[AnalyticsParams.LevelNumber] = level;
        _payload[AnalyticsParams.Score] = score;
        _payload[AnalyticsParams.TotalScore] = totalScore;
        _payload[AnalyticsParams.DurationSeconds] = durationSeconds;
        _payload[AnalyticsParams.IsBoss] = IsBossLevel(level) ? 1 : 0;
        
        // Dispatches to Android Firebase SDK via JNI (non-blocking SQLite buffer)
        _service.LogEvent(AnalyticsEvents.LevelCompleted, _payload);
    }
    catch (Exception ex)
    {
        // Telemetry must never crash gameplay
        Warn(ex);
    }
}

گام ۲: سنتز رویداد در GA4 (بدون نیاز به به‌روزرسانی در استور)

گوگل ادز به طور پیش‌فرض نمی‌تواند مستقیماً روی زیرپرس‌وجوهای پارامتری مانند level_completed WHERE level_number == 1 پیشنهاد قیمت بدهد. با این حال، Google Analytics 4 به شما اجازه می‌دهد از طریق تله‌متری دریافتی، رویدادهای سفارشی ترکیبی را بدون نیاز به انتشار نسخه جدید در اپ استور ایجاد کنید:

۱. در کنسول GA4، به مسیر Admin ➔ Data display ➔ Events بروید. ۲. روی Create event کلیک کرده و موارد زیر را تنظیم کنید:

  • Custom event name: level_1_completed
  • Matching conditions:
    • event_name equals level_completed
    • level_number equals 1
  • گزینه "Copy parameters from the source event" را علامت بزنید تا امتیازات و معیارهای نشست حفظ شوند. ۳. پیکربندی را ذخیره کنید. ۴. در برگه Events یا Key events، رویداد level_1_completed را پیدا کرده و گزینه "Mark as key event" را فعال کنید.

اکنون، هر زمان که هر بازیکنی در سراسر جهان مرحله ۱ را به پایان برساند، GA4 به طور خودکار رویداد تبدیل اختصاصی level_1_completed را صادر می‌کند.

۱. پنل Google Ads (ads.google.com) را باز کنید. ۲. به مسیر Goals ➔ Conversions ➔ Summary بروید. ۳. روی New conversion action ➔ Import ➔ Google Analytics 4 properties (Firebase) کلیک کنید. ۴. رویداد level_1_completed را از فهرست انتخاب نمایید. ۵. دسته‌بندی را روی Engagement یا Level achieved قرار دهید. ۶. این اقدام تبدیل را به عنوان Primary علامت‌گذاری کنید تا موتور Smart Bidding به طور فعال بر اساس آن بهینه‌سازی انجام دهد.

[ بازی موبایل: مرحله ۱ به پایان رسید ]
                │
                │  LogEvent("level_completed", { level_number: 1 })
                ▼
[ موتور Firebase Analytics ]
                │
                │  قانون GA4: سنتز رویداد "level_1_completed"
                ▼
[ رویداد کلیدی در GA4 (تبدیل) ]
                │
                │  یکپارچه‌سازی لینک‌شده با Google Ads
                ▼
[ موتور هوشمند Smart Bidding گوگل ادز (UAC 2.0 Target CPA) ]

۴. غلبه بر مشکل شروع سرد: استراتژی قیف دومرحله‌ای

یک اشتباه رایج در میان توسعه‌دهندگان مستقل هنگام تغییر رویکرد به UAC 2.0 این است که خیلی زود اهداف عمیقی از بازی را نشانه می‌گیرند.

قانون حجم در یادگیری ماشین

الگوریتم‌های Smart Bidding در گوگل ادز برای آموزش مؤثر به حداقل داده‌های آماری نیاز دارند:

  • قانون طلایی: یک کمپین باید روزانه حداقل ۱۰ تا ۲۰ تبدیل درون‌برنامه‌ای هدف تولید کند تا از "فاز یادگیری" (Learning Phase) خارج شده و به بازدهی بهینه در پیشنهاد قیمت برسد.

در تحلیل اولیه، ما مخاطبی به نام Quality_Players_Level_3 (بازیکنانی که مرحله ۳ یا بالاتر را به پایان رسانده بودند) ایجاد کرده بودیم که ۱۷ بازیکن را در خود جای داده بود.

اگر بلافاصله کمپینی با هدف مرحله ۳ راه‌اندازی می‌کردیم:

  • ایجاد ۱۵ تبدیل مرحله ۳ در روز نیازمند بودجه تبلیغاتی سنگینی در شروع کار بود.
  • با تنها ۱۷ نمونه اولیه، اندازه نمونه الگوریتم بیش از حد محدود بود و خطر نوسانات شدید قیمت یا حتی توقف کامل نمایش تبلیغات ("Too small to serve") وجود داشت.

راه‌حل دومرحله‌ای دقیق

به جای رویکرد همه یا هیچ، ما از یک استراتژی قیف مرحله‌بندی شده استفاده کردیم:

flowchart TD
    A["مرحله ۱: افزایش تکمیل مرحله ۱"] --> B["جذب بازیکنان مشتاق با tCPA پایین"]
    B --> C["فیلتر کردن ۱۰۰٪ کاربرانی که بعد از نصب بازی نمی‌کنند"]
    C --> D["تکمیل جامعه مخاطبان 'Quality_Players_Level_3' (بیش از ۱۰۰ بازیکن)"]
    D --> E["مرحله ۲: انتقال Target CPA به مرحله ۳ / ارتقای مهارت‌ها"]

۱. مرحله ۱ (حجم داده و پالایش): بهینه‌سازی برای level_1_completed. از آنجا که حدود ۵۰ تا ۶۰ درصد از گیمرهای واقعی می‌توانند مرحله ۱ را فتح کنند، این کمپین به راحتی بیش از ۲۰ تبدیل روزانه با هزینه هدف پایین (~۰.۱۵ تا ۰.۲۵ دلار) به دست می‌آورد. این رویکرد بلافاصله ربات‌ها و مزارع نصب بی‌کیفیت را تصفیه کرده و یک پایگاه کاربر فعال ایجاد می‌کند. ۲. مرحله ۲ (بهبود و تعمیق): با اتمام مرحله ۱ توسط صدها بازیکن، درصدی پایدار به طور طبیعی به مراحل ۳، ۵ و ۱۰ پیشرفت می‌کنند. هنگامی که جامعه Quality_Players_Level_3 از ۱۰۰ تا ۲۰۰ کاربر فعال فراتر رفت، هدف کمپین می‌تواند با خیالی آسوده به مرحله ۳ یا دستاوردهای Meta-Game (skill_upgraded) منتقل شود تا بالاترین ارزش طول عمر مشتری به دست آید.


۵. انتخاب بازار و تعادل جغرافیایی

پیشنهاد قیمت در بازارهای سطح ۱ (ایالات متحده، انگلستان، آلمان) با کمپینی کالیبره‌نشده می‌تواند بودجه‌های محدود توسعه‌دهندگان مستقل را ظرف چند ساعت بسوزاند (۱.۵۰ تا ۴.۰۰ دلار برای هر اکشن).

برای تست اولیه UAC 2.0 در بازی Blocked: Pixel Panzer، ما خوشه‌ای استراتژیک از چهار بازار پرحجم، مقرون‌به‌صرفه و علاقه‌مند به بازی را انتخاب کردیم:

۱. ترکیه (TR): جامعه قدرتمند بازیکنان محلی، تعامل بالا با عناوین آرکید/اکشن و هزینه‌های جذب بسیار اقتصادی. ۲. برزیل (BR): یکی از بزرگترین بازارهای بازی اندروید در جهان. بازیکنان موبایل برزیل اشتیاق عمیقی به زیبایی‌شناسی رترو و نبردهای آرکید دارند. ۳. مکزیک (MX): دومین هاب بزرگ بازی در آمریکای لاتین با حجم کاربر بالا و جوامع بازیکنان وفادار. ۴. لهستان (PL): یک محیط آزمایشی اروپایی ایده‌آل—درآمد تبلیغاتی AdMob (eCPM) به مراتب بالاتر از آمریکای جنوبی، اما با هزینه‌های جذب بسیار کمتر از اروپای غربی.

بومی‌سازی محلی: اهرم پنهان موفقیت

تبلیغات در بازارهای خارجی تنها زمانی بازدهی واقعی دارند که تجربه درون بازی با صفحه فروشگاه مطابقت داشته باشد. در Blocked: Pixel Panzer، هر چهار بازار از همان ابتدا با بومی‌سازی کامل پشتیبانی می‌شوند:

  • tr.json (ترکی)
  • pt-BR.json (پرتغالی برزیل)
  • es-419.json (اسپانیایی آمریکای لاتین)
  • pl.json (لهستانی)

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

نکته حرفه‌ای در هدف‌گیری مکانی: در تنظیمات موقعیت مکانی Google Ads، همیشه گزینه پیش‌فرض "حضور یا علاقه" را به "حضور: افرادی که در مکان‌های انتخابی شما حضور دارند یا مرتباً در آنجا هستند" تغییر دهید. این اطمینان می‌دهد که بودجه شما منحصراً برای کاربرانی خرج می‌شود که از نظر فیزیکی در کشورهای هدف زندگی می‌کنند، نه ترافیک حاصل از فیلترشکن‌ها و VPNهای خارجی.


۶. دارایی‌های خلاقانه: چرا ویدیو بازدهی را چند برابر می‌کند و هرگز جایگزین تصاویر نمی‌شود

هنگام ساخت گروه‌های تبلیغاتی در گوگل ادز، توسعه‌دهندگان اغلب می‌پرسند: «اگر ویدیوی گیم‌پلی اضافه کنم، آیا اسکرین‌شات‌های زیبای من را تحت‌الشعاع قرار می‌دهد؟»

پاسخ قاطعانه خیر است. گوگل ادز در بسترهای چندکاناله کاملاً متمایزی فعالیت می‌کند:

  • عناوین و اسکرین‌شات‌ها: بر نتایج جستجوی Google Play، ویترین برنامه‌های پیشنهادی و بنرهای تبلیغاتی تسلط دارند.
  • ویدیو: فضای فوق‌العاده گسترده YouTube Shorts، تبلیغات پیش‌نمایش ویدیویی و ویدیوهای جایزه‌دار (Rewarded Video) را در دیگر بازی‌های محبوب موبایل باز می‌کند.

در بازی‌های پرتنشی مانند Blocked: Pixel Panzer، اسکرین‌شات‌های ثابت فقط می‌توانند پیکسل‌آرت را نشان دهند، اما تنها ویدیو است که می‌تواند حس جاخالی دادن از رگبار گلوله‌ها، انفجارهای زنجیره‌ای و منهدم کردن جنگنده‌های دشمن را منتقل کند.

کاربرانی که پس از تماشای ویدیوی واقعی گیم‌پلی بازی را نصب می‌کنند، از قبل با کنترل‌ها و مکانیزم‌ها آشنا هستند. در نتیجه، نرخ تبدیل آن‌ها در رویداد level_1_completed بسیار بالاتر از کاربرانی است که تنها با تصاویر ثابت جذب شده‌اند.


۷. چک‌لیست نهایی برای توسعه‌دهندگان مستقل

پیش از راه‌اندازی کمپین تبلیغاتی بعدی خود، این چک‌لیست معماری را بررسی کنید:

  • تأیید تله‌متری بازی: مطمئن شوید رویداد level_completed با پارامترهای تمیز و بدون هیچ‌گونه اختصاص حافظه اضافی (GC) در ترد اصلی ثبت می‌شود.
  • سنتز رویدادهای کلیدی در GA4: رویدادهای اختصاصی (مانند level_1_completed) ایجاد کرده و آن‌ها را به عنوان رویداد کلیدی (Key Event) در GA4 مشخص کنید.
  • وارد کردن به Google Ads: حساب فایربیس و گوگل ادز را متصل کنید، اکشن را وارد کرده و آن را به عنوان Primary تنظیم کنید.
  • تمرکز قیمت‌گذاری: به جای تمرکز بر حجم خام نصب، گزینه اکشن‌های درون‌برنامه‌ای (Target CPA) را انتخاب نمایید.
  • تنظیم دقیق CPA اولیه: تارگت‌های واقع‌بینانه (۰.۱۵ تا ۰.۳۰ دلار بسته به سطح کشور هدف) تعیین کرده و اجازه دهید حداقل ۳ تا ۴ روز یادگیری ماشین پیوسته اجرا شود.
  • مرحله‌بندی قیف: با یک نقطه عطف زودهنگام و در دسترس (مرحله ۱) شروع کنید تا سرعت تبدیل شکل بگیرد، سپس اهداف را به سطوح عمیق‌تر ارتقا دهید.

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


نوشته شده توسط تیم مهندسی Arar Games / Mayhemco. بازی Blocked: Pixel Panzer در Google Play را بررسی کنید تا نبرد هیجان‌انگیز آرکید رترو ما را از نزدیک تجربه کنید.


Hashtags & SEO Topics

#BlockedPixelPanzer #ArarGames #Mayhemco #PaintTrek #MonoGame #GoogleAds #FirebaseAnalytics #GA4 #MobileGameDev #UserAcquisition #GameMarketing #SmartBidding #TargetCPA #InAppActions #IndieGameDev #GameAnalytics #AndroidDev




Hiç yorum yok:

Yorum Gönder