Google Mobile Ads — این SDK از گوگل برای نمایش تبلیغات در برنامههای موبایل است که شامل AdMob و Google Ad Manager میشود. SDK از تمام فرمتهای اصلی پشتیبانی میکند: بنرها، تبلیغات بین صفحهای (interstitial)، ویدئو با پاداش (rewarded) و تبلیغات بومی. Google Mobile Ads SDK سالانه بیش از 1 تریلیون درخواست تبلیغاتی را پردازش میکند و در 80% برنامههای دارای درآمدزایی تبلیغاتی استفاده میشود. طبق دادههای Google AdMob Documentation, 2025، میانگین درآمد به ازای هر کاربر با یکپارچهسازی صحیح $0.50-2.00 در ماه است.
نکات اصلی
Google Mobile Ads — پلتفرم تبلیغاتی گوگل برای برنامههای موبایل است که SDK برای نمایش تبلیغات و ابزارهای تحلیل درآمد ارائه میدهد. این پلتفرم شامل دو سیستم اصلی است: AdMob (برای توسعهدهندگان مستقل) و Google Ad Manager (برای ناشران بزرگ با کمپینهای تبلیغاتی مستقیم). هر دو سیستم از SDK یکسان Google Mobile Ads استفاده میکنند که مهاجرت بین پلتفرمها را آسان میکند.
اساس کار Google Mobile Ads حراج بلادرنگ (RTB — Real-Time Bidding) است. وقتی برنامه درخواست نمایش تبلیغ میکند، SDK یک درخواست به سرورهای گوگل ارسال میکند، جایی که الگوریتمها پروفایل کاربر، زمینه برنامه و کمپینهای تبلیغاتی موجود را تحلیل میکنند. برنده حراج در 100-300 میلیثانیه تعیین میشود — هرچه پیشنهاد تبلیغدهنده بالاتر باشد، درآمد توسعهدهنده بیشتر است. طبق دادههای Google (2025)، میانگین eCPM برای برنامههای اندروید $5-15 است.
eCPM (effective Cost Per Mille) — شاخص کلیدی درآمدزایی است که درآمد به ازای 1000 نمایش را نشان میدهد. eCPM به منطقه کاربر (در آمریکا و اروپا بالاتر، در آسیا پایینتر)، فرمت تبلیغ (ویدئو rewarded eCPM $10-30، بنرها — $0.50-2) و فصل سال (در دسامبر eCPM 30-50% بالاتر است) بستگی دارد. Google Mobile Ads SDK به طور خودکار نمایشها را برای حداکثر eCPM از طریق حراج بهینه میکند.
تبلیغات بنری — بلوکهای مستطیلی با اندازه ثابت (320x50 — استاندارد، 320x100 — بزرگ، 300x250 — متوسط). بنرها در پایین یا بالای صفحه قرار میگیرند و حداقل فضا را اشغال میکنند. نکته منفی: eCPM پایین ($0.50-2) و عادت کاربران — نرخ کلیک (CTR) بنرها 0.05-0.5% است. بنرها هر 30-60 ثانیه به طور خودکار بهروز میشوند، اما گوگل برای حفظ تجربه کاربری بهروزرسانی بیشتر از 60 ثانیه را توصیه نمیکند.
Interstitial (تبلیغات بین صفحهای) — تبلیغ تمامصفحه که در مکثهای طبیعی برنامه (بین مراحل بازی، هنگام انتقال بین صفحات) نمایش داده میشود. Interstitial eCPM $3-15 میدهد، اما نیاز به جایگذاری دقیق دارد — نمایش مکرر کاربران را آزار میدهد. گوگل تعداد را محدود میکند: حداکثر یک interstitial در دقیقه. طبق گفته گوگل، با جایگذاری صحیح، interstitial retention کاربران را بیش از 5% کاهش نمیدهد.
Rewarded (تبلیغ با پاداش) — ویدئویی که کاربر در ازای تماشای آن پاداش دریافت میکند (جان اضافی، سکه، دسترسی ممتاز). گرانترین فرمت با eCPM $10-30 و تعامل بالای کاربر — 80% کاربران با تماشای ویدئوی rewarded موافقت میکنند. مهم: پاداش باید برای کاربر قابل توجه باشد، در غیر این صورت تبلیغ را تماشا نخواهد کرد. Rewarded interstitial — فرمت ترکیبی (پاداش بدون تماشای اجباری)، از SDK 21.0.0 در دسترس است.
// بارگذاری و نمایش RewardedAd
class RewardedAdManager {
private var rewardedAd: RewardedAd? = null
fun loadAd(context: Context) {
RewardedAd.load(
context,
"ca-app-pub-3940256099942544/5224354917",
AdRequest.Builder().build(),
object : RewardedAdLoadCallback() {
override fun onAdLoaded(ad: RewardedAd) {
rewardedAd = ad
}
override fun onAdFailedToLoad(
error: LoadAdError
) {
Log.d("AdMob", error.message)
}
}
)
}
}Native Ads — تبلیغی که از نظر بصری با طراحی برنامه تطبیق داده شده است: توسعهدهنده مکان عنوان، توضیحات، تصویر و دکمه فراخوان به اقدام را کنترل میکند. Native ads بالاترین CTR (0.5-2%) را در بین همه فرمتها دارند و بهترین یکپارچگی را با UX برنامه ایجاد میکنند. Google Mobile Ads SDK قالبهای تبلیغ بومی (NativeTemplate) یا کنترل کامل از طریق NativeAdOptions را ارائه میدهد. فرمت ad_source_type نشان میدهد که خلاقیت بومی از کدام شبکه آمده است.
AdMob — پلتفرم تبلیغاتی گوگل برای برنامههای موبایل، طراحی شده برای توسعهدهندگان مستقل و استودیوهای کوچک. AdMob پر کردن خودکار مکانهای تبلیغاتی از طریق حراج، تنظیم ساده از طریق رابط وب و واسطهگری داخلی با 30+ شبکه تبلیغاتی را ارائه میدهد. حداقل برداشت وجه: $100. AdMob برای 90% توسعهدهندگان، از جمله استودیوهای متوسط با درآمد تا $100 000 در ماه مناسب است.
Google Ad Manager — پلتفرم پیشرفته برای ناشران بزرگ با کمپینهای تبلیغاتی مستقیم (direct deals)، ضمانتهای برنامهای و اولویتبندی منابع. Ad Manager از چندین سرور تبلیغاتی، حراج رقابتی (App Bidding) و تحلیل دقیق برای هر تبلیغدهنده پشتیبانی میکند. برای اتصال Ad Manager ترافیک ماهانه حداقل 5 میلیون نمایش مورد نیاز است. طبق دادههای گوگل، Ad Manager درآمد ناشران بزرگ را در مقایسه با AdMob 15-30% افزایش میدهد.
| معیار | AdMob | Ad Manager |
|---|---|---|
| مخاطب | توسعهدهندگان مستقل | ناشران بزرگ |
| Direct deals | خیر | بله |
| App Bidding | محدود | کامل |
| حداقل ترافیک | هر میزان | 5M+ نمایش/ماه |
| تحلیل | استاندارد | پیشرفته |
برای مهاجرت از AdMob به Ad Manager کافی است Ad Unit ID را در کد برنامه تغییر دهید — SDK یکسان باقی میماند (Google Mobile Ads SDK). گوگل توصیه میکند با AdMob شروع کنید و پس از رسیدن به درآمد ماهانه $10 000+ به Ad Manager مهاجرت کنید. App Bidding — فناوری کلیدی Ad Manager که به همه شبکههای تبلیغاتی اجازه میدهد در یک حراج واحد رقابت کنند و eCPM را 10-40% افزایش میدهد.
واسطهگری (Ad Mediation) — فناوری Google Mobile Ads که امکان اتصال چندین شبکه تبلیغاتی به یک Ad Unit را فراهم میکند. وقتی SDK تبلیغی را درخواست میکند، به ترتیب از شبکهها سوال میکند: ابتدا Google Ads، سپس شبکههای شریک (Facebook Audience Network، Unity Ads، AppLovin، IronSource، Mintegral و دیگران)، شبکهای را با بالاترین پیشنهاد برای این کاربر انتخاب میکند.
Google Mobile Ads SDK از واسطهگری بیش از 30 شبکه تبلیغاتی از طریق آداپتورها (adapters) پشتیبانی میکند که به عنوان وابستگیهای جداگانه Gradle بارگذاری میشوند. هر آداپتور رابط یکسان گوگل را پیادهسازی میکند که به SDK اجازه میدهد با هر شبکهای به صورت یکسان کار کند. طبق دادههای گوگل، واسطهگری درآمد کل تبلیغات را در مقایسه با استفاده از فقط AdMob 15-50% افزایش میدهد. App Bidding — نسخه پیشرفتهتر واسطهگری که در آن همه شبکهها به طور همزمان در یک حراج واحد شرکت میکنند، نه به صورت متوالی.
// تنظیم واسطهگری (build.gradle)
dependencies {
implementation "com.google.android.gms:play-services-ads:23.3.0"
// آداپتورهای واسطهگری
implementation "com.google.ads:mediation-facebook:6.17.0.0"
implementation "com.google.ads:mediation-unity:4.10.0.0"
implementation "com.google.ads:mediation-applovin:12.3.0.0"
}
// راهاندازی Mobile Ads SDK
MobileAds.initialize(this) {
Log.d("AdMob",
"Initialized: $it")
}نکته مهم: واسطهگری تاخیر نمایش تبلیغ را افزایش میدهد زیرا SDK چندین شبکه را به صورت متوالی بررسی میکند. برای بنرها این حیاتی نیست (تاخیر قابل قبول — تا 2 ثانیه)، اما برای interstitial و rewarded تاخیر بیش از 1 ثانیه احتمال نمایش را کاهش میدهد (کاربر ممکن است صفحه را ترک کند). گوگل به جای واسطهگری متوالی از App Bidding برای کاهش تاخیرها استفاده میکند. App Bidding همه پیشنهادها را به صورت موازی در 100-200 ms پردازش میکند.
تنظیم Google Mobile Ads در برنامه اندروید با افزودن وابستگی play-services-ads در build.gradle و راهاندازی SDK در کلاس Application شروع میشود. Google Mobile Ads SDK به اندروید 5.0 (API 21) و Google Play Services نسخه 21.0.0+ نیاز دارد. توصیه میشود SDK در اسرع وقت — در Application.onCreate() — راهاندازی شود تا تبلیغ همزمان با راهاندازی برنامه بارگذاری شود.
پس از راهاندازی SDK، توسعهدهنده یک Ad Unit در رابط وب AdMob یا Ad Manager ایجاد میکند و AdView را در layout برنامه قرار میدهد (برای بنرها) یا InterstitialAd/RewardedAd را به صورت برنامهریزی بارگذاری میکند. مهم: در حین توسعه از Ad Unit ID آزمایشی و پس از انتشار از ID نسخه نهایی استفاده کنید. Google Mobile Ads SDK حالت آزمایشی را بر اساس دستگاه اضافه شده به Test Devices در کنسول AdMob به طور خودکار تشخیص میدهد.
// راهاندازی SDK در کلاس Application
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
MobileAds.initialize(this)
// فعالسازی حالت رضایت GDPR
val params = RequestConfiguration.Builder()
.setTagForUnderAgeOfConsent(false)
.build()
MobileAds.setRequestConfiguration(params)
}
}
// بنر درونخطی در XML
// <com.google.android.gms.ads.AdView
// android:id="@+id/adView"
// android:layout_width="match_parent"
// android:layout_height="wrap_content"
// app:adUnitId="ca-app-pub-3940256099942544/6300978111"
// app:adSize="BANNER" />پس از تنظیم SDK و Ad Units، توسعهدهنده باید سیاست حفظ حریم خصوصی را در برنامه اضافه کند — این شرط اجباری گوگل برای انتشار در Play Store است. همچنین یکپارچهسازی UMP SDK (User Messaging Platform) برای جمعآوری رضایت کاربران از EEA و بریتانیا برای پردازش دادهها الزامی است. بدون UMP SDK، گوگل ممکن است نمایش تبلیغات شخصیسازی شده را محدود کند که eCPM را 40-60% کاهش میدهد.
Google Mobile Ads رعایت قوانین حریم خصوصی برای کاربران منطقه اقتصادی اروپا (EEA)، بریتانیا، ایالات متحده (CCPA/CPRA) و سایر مناطق با قوانین داده را الزامی میکند. ابزار اصلی User Messaging Platform (UMP) SDK است که به کاربر گفتگوی رضایت برای جمعآوری و پردازش دادهها برای شخصیسازی تبلیغات را نشان میدهد.
بدون کسب رضایت کاربر برای شخصیسازی، Google Mobile Ads SDK فقط تبلیغات غیرشخصی را نمایش میدهد که eCPM را 40-60% کاهش میدهد. TCF v2.0 (Transparency & Consent Framework) — استاندارد IAB Europe برای انتقال سیگنالهای رضایت بین سیستمهای تبلیغاتی. Google Ad Manager از TCF v2.0 به طور خودکار پشتیبانی میکند. برای AdMob یکپارچهسازی از طریق UMP SDK با پارامتر FORMS_PUBLISHER_ID الزامی است.
// UMP SDK درخواست رضایت کاربر
val consentInfo = UserMessagingPlatform.getConsentInformation(this)
consentInfo.requestConsentInfoUpdate(
context,
ConsentRequestParameters.Builder()
.setTagForUnderAgeOfConsent(false)
.build()
) { error ->
if (error != null) return@requestConsentInfoUpdate
if (consentInfo.isConsentFormAvailable()) {
UserMessagingPlatform.loadAndShowConsentFormIfRequired(
activity,
activity.getOnConsentFormSuccess(),
activity.getOnConsentFormFailure()
)
}
}الزامات اضافی: برای کاربران کالیفرنیا (CCPA) گوگل پشتیبانی از گزینه «اطلاعات شخصی من را نفروش» را الزامی میکند. برای کودکان (COPPA) — فعالسازی tagForChildDirectedTreatment. Google Play Store از همه برنامههای دارای تبلیغ میخواهد سیاست حفظ حریم خصوصی و لینک به آن را در Google Play Console داشته باشند. نقض این الزامات منجر به مسدود شدن نمایش تبلیغات یا حذف برنامه از Play Store میشود.
نمونه کامل یکپارچهسازی تبلیغ rewarded با پردازش پاداش کاربر. برنامه ویدئوی rewarded را در شروع بارگذاری میکند، با کلیک دکمه «دریافت پاداش» آن را نمایش میدهد و پس از تماشای کامل به کاربر سکه میدهد. کد از کوروتینها برای بارگذاری ناهمگام استفاده میکند و بررسی میکند که اگر کاربر قبلاً پاداش دریافت کرده است تبلیغ نمایش داده نشود (guard against double reward).
class RewardViewModel : ViewModel() {
private var rewardedAd: RewardedAd? = null
private val _rewardEarned = MutableLiveData<Boolean>(false)
val rewardEarned: LiveData<Boolean> = _rewardEarned
fun loadRewardedAd(context: Context) {
RewardedAd.load(context, AD_UNIT_ID,
AdRequest.Builder().build(),
object : RewardedAdLoadCallback() {
override fun onAdLoaded(ad: RewardedAd) {
rewardedAd = ad
}
}
)
}
fun showAd(activity: Activity) {
rewardedAd?.show(activity, {
// کاربر پاداش دریافت کرد
_rewardEarned.postValue(true)
addCoins(100)
loadRewardedAd(activity) // Preload next
})
}
}بهترین روشها برای تبلیغات rewarded: بلافاصله پس از بسته شدن تبلیغ فعلی، تبلیغ بعدی را پیشبارگذاری کنید (کاربر منتظر بارگذاری نمیماند). ویدئوی rewarded را فقط در زمینهای نمایش دهید که پاداش واضح است (مثلاً دکمه «تماشای تبلیغ برای 100 سکه»). گوگل نمایش تبلیغ rewarded را بدون درخواست صریح کاربر ممنوع میکند (پخش خودکار ممنوع است). callback onUserEarnedReward را بررسی کنید — فقط پس از آن پاداش را بدهید.
بهینهسازی درآمد از Google Mobile Ads با انتخاب صحیح فرمتهای تبلیغاتی شروع میشود. ترکیب بنرها (برای درآمد ثابت پسزمینه) و ویدئوی rewarded (برای تعامل فعال) حداکثر درآمد کل را فراهم میکند. از interstitial فقط در مکثهای طبیعی استفاده کنید — حداکثر 3-4 بار در هر نشست. Google Analytics برای Firebase به شما امکان میدهد بررسی کنید کدام صفحات بیشترین درآمد را دارند و کاربران کجا بیشتر تبلیغات را میبندند.
دومین عامل مهم واسطهگری است. 3-5 شبکه تبلیغاتی را از طریق AdMob mediation متصل کنید. طبق دادههای گوگل، برنامههای دارای واسطهگری 30% بیشتر درآمد دارند. App Bidding (موجود برای Ad Manager و تا حدودی برای AdMob) به لطف حراج همزمان 10-40% افزایش اضافی میدهد. تست A/B محل تبلیغات: موقعیتهای مختلف بنرها (بالا/پایین، چپ/راست) و تعداد interstitial را در بخشهای مختلف کاربران آزمایش کنید.
سومین عامل هدفگیری جغرافیایی است. eCPM در ایالات متحده، کانادا و استرالیا 3-5 برابر بیشتر از هند یا اندونزی است. اگر برنامه شما در مناطق با eCPM پایین محبوب است، گوگل استفاده از واسطهگری waterfall با شبکههای این مناطق (مثلاً InMobi برای هند) را توصیه میکند. محدودیت تعداد نمایش (frequency cap) را تنظیم کنید: حداکثر 1 interstitial هر 2 دقیقه و حداکثر 5 ویدئوی rewarded در ساعت — این کار خستگی کاربران از تبلیغات را کاهش میدهد.
سوالات متداول
میانگین درآمد به ازای هر کاربر با یکپارچهسازی صحیح $0.50-2.00 در ماه است. از ترکیب فرمتها استفاده کنید: بنرها برای درآمد پایه، ویدئوی rewarded برای درآمدزایی فعال و interstitial در مکثهای طبیعی. حتماً واسطهگری و UMP SDK را برای GDPR متصل کنید. بیشترین درآمد از کاربران آمریکا و اروپا حاصل میشود.
الزامات اصلی: حساب AdMob، سیاست حفظ حریم خصوصی در برنامه، یکپارچهسازی UMP SDK برای جمعآوری رضایت کاربران EEA، رتبه سنی برنامه در Google Play Console. Google Play Store از همه برنامههای دارای تبلیغ میخواهد این موضوع را هنگام انتشار مشخص کنند و از سیاست محتوای نامناسب Google Ads پیروی کنند.
App Bidding — فناوریای است که در آن همه شبکههای تبلیغاتی به طور همزمان در یک حراج برای نمایش تبلیغ شرکت میکنند. برنده در 100-200 ms تعیین میشود. برخلاف واسطهگری متوالی (که در آن شبکهها یکی پس از دیگری بررسی میشوند)، App Bidding درآمد را 10-40% افزایش میدهد و تاخیر نمایش را کاهش میدهد. App Bidding در Google Ad Manager و تا حدودی در AdMob در دسترس است.
eCPM پایین ممکن است ناشی از: منطقه کاربران (در آسیا و آفریقا eCPM پایینتر است)، فرمت نادرست (بنرها کمتر از rewarded میدهند)، نبود واسطهگری (فقط AdMob)، تنظیم نادرست UMP (عدم رضایت برای شخصیسازی) یا درصد بالای مسدودکنندههای تبلیغ. تحلیل AdMob را بررسی کنید و App Bidding را تنظیم کنید.
بله، اما با محدودیتها. برنامه باید tagForChildDirectedTreatment(true) را در RequestConfiguration فعال کند. گوگل فقط تبلیغات ایمن بدون شخصیسازی نمایش میدهد. eCPM برای برنامههای کودکان 60-80% پایینتر است. در Google Play Console باید مخاطب هدف برنامه مشخص شود. نقض COPPA — مسدود شدن حساب AdMob.
خلاصه
ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد
IT Sectr از سال 2017 برنامههای iOS و Android را برای استارتاپها و کسبوکارها ایجاد میکند. ما به شما مشاوره میدهیم و بهترین راهحل را پیشنهاد خواهیم کرد.
همچنین بخوانید