Ücretsiz APK oluştur

Para kazanma

AdMob Entegrasyonu

Para Kazanma Kurulumu

1AdMob Hesabı Oluşturun#

Bir Google AdMob hesabına kaydolun. Başlamak için bir Google hesabına ihtiyacınız var. AdMob, Google'ın mobil reklam platformudur.

2Uygulamanızı Ekleyin#

AdMob panosunda:

  • Kenar çubuğunda 'Uygulamalar'a tıklayın
  • 'Uygulama Ekle'ye tıklayın
  • 'Uygulamanız desteklenen bir uygulama mağazasında listeleniyor mu?' sorusu için 'Hayır'ı seçin
  • Uygulama adınızı girin
  • Platform olarak 'Android'i seçin
  • 'Ekle'ye tıklayın

3Uygulama Kimliğini Alın#

Uygulamanızı oluşturduktan sonra:

  • Gösterilen Uygulama Kimliğini kopyalayın (biçim: ca-app-pub-XXXXXXXXXXXXXXXX~XXXXXXXXXX)
  • Bu, Reklam Birimi Kimliğinizden farklıdır
  • Bunu AndroidManifest.xml içinde kullanacaksınız
App ID format:
ca-app-pub-1234567890123456~1234567890

4Reklam Birimi Oluştur (Banner)#

AdMob uygulamanızda:

  • 'Reklam birimleri' sekmesine tıklayın
  • 'Reklam birimi ekle'ye tıklayın
  • 'Banner'ı seçin
  • Reklam birimi adını girin (ör. 'Ana Banner')
  • 'Reklam birimi oluştur'a tıklayın
  • Reklam Birimi Kimliğini kopyalayın
Banner Ad Unit ID format:
ca-app-pub-1234567890123456/1234567890

5AppMint'te Kurulum#

AppMint'te, Adım 3:

  1. 'AdMob Reklamları'nı AÇIN ve AdMob Uygulama Kimliğinizi yapıştırın (~ içeren)
  2. Reklam Kontrolü: 'Otomatik'i koruyun - uygulama reklamları sizin için yerleştirir
  3. 'Banner Reklam'ı AÇIN, Reklam Konumunu (Alt veya Üst) seçin ve Banner Reklam Birimi Kimliğinizi yapıştırın (/ içeren)
  4. Diğer ayarlarla devam edin ve uygulamanızı oluşturun
Ad Unit ID (not App ID):
ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY

6Uygulamanızda Test Reklamları#

Geliştirme sırasında politika ihlallerini önlemek için Google'ın resmi test kimliklerini kullanın. Bunları oluşturucuya kopyalayıp yapıştırın:

📋 AdMob Uygulama Kimliği:
ca-app-pub-3940256099942544~3347511713

📋 Banner Reklam Birimi Kimliği:
ca-app-pub-3940256099942544/6300978111

📋 Geçiş Reklam Birimi Kimliği:
ca-app-pub-3940256099942544/1033173712

📋 Ödüllü Reklam Birimi Kimliği:
ca-app-pub-3940256099942544/5224354917

📋 Yayıncı Kimliği:
pub-3940256099942544

📋 Geliştirici Web Sitesi:
https://example.com

Bu test kimlikleri gelir oluşturmadan veya politikaları ihlal etmeden gerçekçi görünen reklamlar gösterir. Yayın için bunları gerçek kimliklerinizle değiştirin.

Test IDs for Generator:

AdMob App ID:       ca-app-pub-3940256099942544~3347511713
Banner Ad ID:       ca-app-pub-3940256099942544/6300978111
Interstitial ID:    ca-app-pub-3940256099942544/1033173712
Rewarded Ad ID:     ca-app-pub-3940256099942544/5224354917
Publisher ID:       pub-3940256099942544
Developer URL:      https://example.com

7Geçiş Reklamları#

Geçiş reklamları, uygulama arayüzünün tamamını kaplayan tam ekran reklamlardır. Kullanıcılar bunları kapatarak uygulamaya dönebilir.

📺 Nasıl Etkinleştirilir (Adım 3, Reklam Kontrolü 'Otomatik'):

  1. 'Tam Ekran Reklam'ı AÇIN
  2. Reklam Türü: 'Geçiş Reklamı'nı seçin
  3. Geçiş Reklam Birimi Kimliğinizi girin (veya test reklamları için boş bırakın)
  4. Tetikleme Modunu seçin:

🔄 Gezinmelerden Sonra (varsayılan):
Reklam her N sayfa gezinmesinden sonra gösterilir. Örneğin 4 olarak ayarlanırsa reklam 4., 8., 12. sayfa yüklemesinden sonra görünür ve böyle devam eder.

📱 Uygulama Açılışı:
Reklam, uygulama ilk açıldığında açılış ekranından hemen sonra bir kez gösterilir.

👆 İsteğe Bağlı:
Otomatik reklam yok - sayfanız WebToApk.showInterstitialAd() ile bir dokunuşta reklam gösterir.

⚠️ Reklam Türü tek bir seçimdir: Geçiş VEYA Ödüllü, ikisi birden değil.

Example: every 4 page navigations

Page 1 → No ad
Page 2 → No ad
Page 3 → No ad
Page 4 → 📺 Interstitial Ad shown!
Page 5 → No ad
Page 6 → No ad
Page 7 → No ad
Page 8 → 📺 Interstitial Ad shown!
...

8Ödüllü Reklamlar#

Ödüllü reklamlar, kullanıcıların bir ödül karşılığında izlediği tam ekran video reklamlardır. Banner veya geçiş reklamlarından daha yüksek gelir sağlarlar.

🎁 Nasıl Etkinleştirilir (Adım 3, Reklam Kontrolü 'Otomatik'):

  1. 'Tam Ekran Reklam'ı AÇIN
  2. Reklam Türü: 'Ödüllü Reklam'ı seçin
  3. Ödüllü Reklam Birimi Kimliğinizi girin (veya test reklamları için boş bırakın)
  4. Tetikleme Modunu seçin:

🔄 Gezinmelerden Sonra (varsayılan):
Geçiş reklamına benzer - reklam her N sayfa yüklemesinden sonra gösterilir. 'Her N sayfa gezinmesinden sonra reklam göster' N değerini belirler. Varsayılan 4'tür.

📱 Uygulama Açılışı:
Ödül videosu, uygulama açılış ekranından sonra ilk açıldığında bir kez gösterilir.

👆 İsteğe Bağlı:
Otomatik reklam yok - sayfanızın kendi 'kazanmak için reklam izle' düğmesi WebToApk.showRewardedAd() çağırır.

💡 Kaç gezinme?
Daha az = daha çok reklam (daha fazla gelir ama daha kötü kullanıcı deneyimi). Daha çok = daha az reklam (daha iyi kullanıcı deneyimi ama daha az gelir). Önerilen: 3-5.

⚠️ Google politikası: ödüllü reklamlar kullanıcının iznini gerektirir. Gezinmelerden Sonra ve Uygulama Açılışı modlarında uygulamanız önce 'Reklam izlensin mi?' istemini 'Hayır, teşekkürler' düğmesiyle gösterir; reklam yalnızca kabul ederlerse oynar.

Revenue comparison (approximate):

Banner Ads:       $0.10 - $0.50 per 1000 views
Interstitial Ads: $1 - $5 per 1000 views
Rewarded Ads:     $5 - $15 per 1000 views

Recommended N (page navigations per ad):
Aggressive:  2-3 (more ads, more revenue)
Balanced:    4-5 (recommended)
Conservative: 6-10 (fewer ads, better UX)

⚠️ AdMob, AEA, Birleşik Krallık, İsviçre ve ABD eyaletlerindeki kullanıcılar için bir onay mekanizması gerektirir.

Bu, oluşturulan uygulama tarafından Google'ın Kullanıcı Mesajlaşma Platformu (UMP) kullanılarak otomatik olarak yapılır. Uygulama şunları yapacak:

  • Reklam göstermeden önce AEA/Birleşik Krallık/İsviçre kullanıcılarına bir onay iletişim kutusu gösterin
  • İlgili ABD eyaletlerindeki kullanıcılara vazgeçme iletişim kutusu gösterin
  • Reklamları yalnızca onay alındıktan sonra isteyin

SİZİN yapmanız gerekenler:

  1. AdMob konsolunda → Gizlilik ve mesajlaşma → Avrupa düzenlemeleri mesajı oluştur
  2. AdMob konsolunda → Gizlilik ve mesajlaşma → ABD eyalet düzenlemeleri mesajı oluştur
  3. Gizlilik Politikası URL'nizi oluşturucuda ayarlayın (Adım 3 veya Adım 4)
  4. Gizlilik politikanızda AdMob reklamcılığından bahsedildiğinden emin olun

⚠️ Bu kurulum olmadan AdMob bir politika uyarısı gösterebilir: 'Consent requirement: No CMP'

10Reklam İnceleme Süreci#

Uygulamanızı yayınladıktan sonra:

  • AdMob uygulamanızı inceleyecek (genellikle 24-48 saat sürer)
  • Başlangıçta test reklamları göreceksiniz
  • Onaylandıktan sonra gerçek reklamlar gösterilmeye başlar
  • Uygulama içeriğinizi politikalara uygun tutun

11Ödemeleri Etkinleştirin#

Reklam gelirini almak için:

  • AdMob panosunda 'Ödemeler'e gidin
  • Ödeme yöntemi ekleyin (banka hesabı veya diğer seçenekler)
  • Adresinizi doğrulayın
  • Vergi bilgilerini ayarlayın
  • Ödemeler 100 $ eşiğine ulaşıldıktan sonra aylık yapılır

12En İyi Uygulamalar#

✅ Banner Yerleşimi: Alttaki banner daha az rahatsız edicidir ve daha iyi kullanıcı deneyimi sunar

✅ Geçiş/Ödüllü: Birini seçin, ikisini birden değil. Ödüllü reklamlar daha çok kazandırır ama kullanıcı etkileşimi gerektirir

✅ Eylem Sayısı: Reklamlar arasında 4-5 gezinmeyle başlayın. Çok sık = kötü yorumlar

✅ Önce Test Edin: Geliştirme sırasında her zaman test reklam birimleriyle deneyin

✅ Performansı İzleyin: Kazanç ve metrikler için AdMob panosunu düzenli kontrol edin

⚠️ Tıklamayın: Kendi reklamlarınıza asla tıklamayın - bu AdMob politikasını ihlal eder

⚠️ Kaliteli İçerik: Uygulamanızın değer sunduğundan ve AdMob politikalarına uyduğundan emin olun

💡 İpucu: Maksimum gelir için Banner (her zaman görünür) + Geçiş veya Ödüllü (periyodik) birleştirin

13Sorun Giderme#

Yaygın sorunlar ve çözümleri:

  • Reklam gösterilmiyor: Doğru Reklam Birimi Kimliğini kullanıp kullanmadığınızı kontrol edin (Uygulama Kimliği değil)
  • Test reklamları çalışıyor ama gerçek reklamlar çalışmıyor: AdMob incelemesinin tamamlanmasını bekleyin
  • Reklam isteği başarısız: İnternet bağlantısını ve AdMob hesap durumunu kontrol edin
  • Hesap askıya alındı: AdMob politikalarını inceleyin ve gerekirse itiraz edin

14Geliştirici kontrollü reklamlar: her reklamı kendiniz yerleştirin#

Aşağıdaki tam demo sayfasını (Coin Runner) indirin: düzenin içinde bir banner, seviyeler arasında bir geçiş reklamı, bir 'Reklam izle, 50 jeton kazan' düğmesi, 300×250 dikdörtgen, uygulama açılış anahtarı ve her sonucun canlı günlüğü. Zip'leyin, Çevrimdışı ZIP olarak yükleyin, önceden doldurulmuş test kimlikleriyle Geliştirici kontrollü'yü seçin, derleyin - her düğme kendini açıklar.

Yukarıdaki seçenekler Otomatik moddur: uygulama banner'ı ve tam sayfa veya ödüllü reklamı sizin için gösterir. Her AdMob biçimini ve her birini sayfanızın tam istediği yere koyma özgürlüğünü istiyorsanız, bunun yerine Adım 3'te 'Reklam Kontrolü → Geliştirici kontrollü' seçeneğini seçin.

Bu modda HİÇBİR ŞEY otomatik değildir. Kullandığınız her biçim için bir reklam birimi kimliği girin - banner, orta dikdörtgen (300×250), geçiş, ödüllü, ödüllü geçiş, uygulama açılışı - ve gerisini boş bırakın. Sayfanız her şeyi window.AppMintAds üzerinden yönetir:

  • AppMintAds.banner.attach('#slot', {size:'banner'|'medium_rectangle'}) - adını verdiğiniz öğenin üzerine yerleştirilen bir banner; bir kartın içinde, liste öğeleri arasında, her yerde. Kaydırırken öğeyi takip eder; detach() kaldırır. Aynı anda en fazla iki tane.
  • await AppMintAds.load('interstitial') → {ok:true} veya {ok:false, code:'no_fill'|'network'|'invalid_unit'|'consent'|'ad_free'|'disabled'}
  • await AppMintAds.show('rewarded') → {shown:true, earned:true, reward:{type,amount}} veya {shown:false, reason}
  • AppMintAds.isReady('interstitial') - düğmenizi buna göre etkinleştirin
  • AppMintAds.appOpen.setEnabled(false) - kullanıcı bir işin ortasındayken uygulama açılış reklamını duraklatın

AppMintAds yalnızca yüklü uygulamanın içinde bulunur - her zaman özellik tespiti yapın (if (window.AppMintAds) …) ki sayfa tarayıcıda da çalışsın. Google'ın kuralları geçerlidir ve uygulama bunları uygular: ödüllü reklam yalnızca kullanıcının kendi dokunuşuyla oynar ('Reklam izle' düğmeniz onay anlamına gelir), geçiş reklamları arasında 60 saniye ara bırakılır ve asla temel bir eylemin üstüne reklam koymayın.

// Feature-detect: AppMintAds exists only in the installed app
const ads = window.AppMintAds;

// 1. A banner INSIDE your layout — <div id="ad-slot"></div> reserves the space
if (ads) {
  const r = await ads.banner.attach('#ad-slot', { size: 'banner' });
  console.log(r.ok ? 'banner ' + r.width + 'x' + r.height : 'no banner: ' + r.code);
}

// 2. A full-page ad at a natural break (between levels), never on every tap
async function levelFinished() {
  if (ads && ads.isReady('interstitial')) await ads.show('interstitial');
  showNextLevel();          // continues whether or not an ad was shown
}

// 3. A 'Watch ad to earn 50 coins' button — the tap is the user's opt-in
watchBtn.onclick = async () => {
  if (!ads) return;                                 // browser: no native ads
  // From a tap the ad plays. Without one (a timer, a route change) the app shows
  // AdMob's "Watch an ad? / No thanks" intro first and answers code 'declined'.
  const r = await ads.show('rewarded');
  if (r.earned) addCoins(r.reward.amount || 50);   // grant ONLY when earned
  else if (r.reason === 'ad_free') addCoins(50);    // premium user: grant without an ad
  else toast('No ad available right now');          // no popup, no Skip button
};

// 4. Preload and keep the button honest
ads?.load('rewarded').then(r => { watchBtn.disabled = !r.ok; });

Uygulamada, bu adımın düğmesi bunları telefonunuza kaydeder. Burada doğrudan indirilebilir.

admob-developer-demo.html HTML · 12 KB

15Reklam durum olayları: her isteğe ne olduğunu bilin#

Geliştirici kontrollü her reklam, tüm yaşam döngüsünü TEK bir olayda bildirir, appmint:ad; böylece dolumları günlüğe kaydedebilir, hatalara tepki verebilir ve kendi arayüzünüzü yönetebilirsiniz:

{ type, phase, slot?, code?, adCode?, message?, width?, height?, reward?, earned? }

  • type: banner | mrec | interstitial | rewarded | rewarded_interstitial | app_open
  • phase: loading → loaded | failed → opened → impression → clicked → closed, ayrıca rewarded (ödül kazanıldı) ve show_failed
  • code (failed durumunda): no_fill | network | invalid_unit | internal - adCode AdMob'un kendi numarası, message ise metnidir
  • slot: hangi banner alanı, banner/mrec için

Promise'ler her çağrıda aynı yanıtı verir; olay ise show() çağırmadığınız reklamlar (uygulama açılış reklamı, banner yenileme) dahil her şeyi verir. Otomatik modda AppMintAds yine vardır ancak 'automatic_mode' koduyla yanıt verir - bunun yerine WebToApk.showInterstitialAd()/showRewardedAd() çağrılarını ve oradaki appmint:reward / appmint:ad-closed / appmint:ad-unavailable olaylarını kullanın.

window.addEventListener('appmint:ad', e => {
  const a = e.detail;
  console.log(a.type, a.phase, a.code || '', a.message || '');
  if (a.phase === 'failed' && a.code === 'no_fill') analytics.track('ad_no_fill', a);
  if (a.type === 'rewarded' && a.phase === 'rewarded') console.log('earned', a.reward);
  if (a.type === 'banner' && a.phase === 'loaded') console.log('banner ' + a.width + 'x' + a.height + ' in ' + a.slot);
});

// What can this build serve? (guard it — in a browser AppMintAds is undefined)
if (window.AppMintAds) console.log(AppMintAds.config());
// → { control: 'developer', formats: { banner: true, mrec: false, interstitial: true, ... } }

Bu sayfa, uygulamanın içindeki Entegrasyon Rehberi'nden oluşturulur, bu yüzden mevcut derlemenin söylediğini aynen söyler. Markdown olarak okuyun.

22.10.2026 tarihinde yayınlanan rehberle karşılaştırılarak kontrol edildi.