WebView API for Ads, WebViewController
kullanarak uygulama içi reklamdan para kazanmanızı sağlar.
WebViewController
aracılığıyla uygulamanızda AdSense kodu veya Google Yayıncı Etiketi ile reklam uygulayan web içeriği gösteriyorsanız reklamlardan para kazanma özelliğini etkinleştirmek için bu API'yi kullanmanız gerekir. Daha fazla bilgi edinmek için
AdMob politikalarını inceleyin.
- Google Mobile Ads SDK'sı ile reklam isteği göndererek para kazanın
Mobil uygulama için reklam biçimlerini kullanıp Google Mobile Ads SDK'sı ile AdMob'a reklam isteği göndererek uygulamanızdan para kazanabilirsiniz.
- Reklamlar için WebView API'yi kullanarak para kazanın
Uygulamanız, Ad Manager veya AdSense'ten reklam sunan web içeriğini göstermek için
WebViewController
kullanıyorsaWebViewController
nesnelerini Google Mobile Ads SDK'sına kaydetmek için WebView API for Ads'i kullanın. AdSense kodu veya Google Yayıncı Etiketi'ndeki JavaScript, reklam istekleri oluşturur ve gönderir. Böylece, SDK ile herhangi bir reklam isteğinde bulunmanız gerekmez. Bu API ile yalnızca mobil web ve masaüstü web envanter biçimlerinin kullanılabildiğini unutmayın.WebViewController
öğesinde web içeriğine sahip değilseniz reklamverenleri spam'den korumaya ve içeriği sağlayan web yayıncılarının para kazanmasını iyileştirmeye yardımcı olmak için bu API'yi kullanmanız önerilir.
Aynı uygulamada bu iki seçeneği veya ikisini birden yapabileceğinizi unutmayın.
Bu kılavuz, WebView API for Ads'i iOS uygulamanıza entegre etmenize yardımcı olmayı amaçlamaktadır.
Başlamadan önce
Reklamlar için WebView API'yi kullanmaya başlamadan önce aşağıdakileri yaptığınızdan emin olun:
- Uygulamanızda 3.0.0 veya daha yeni bir sürüm ile Flutter eklentisi için Google Mobile Ads SDK'sını kullanın.
webview_flutter
dosyasınıpubspec.yaml
dosyanıza bağımlılık olarak ekleyin.- Uygulamanıza 3.7.0 veya daha yeni bir
sürümle
webview_flutter_android
ekleyin.
Uygulama kimliği kontrolünü atla
Android
APPLICATION_ID
kontrolünü atlamak için AndroidManifest.xml
dosyanıza aşağıdaki <meta-data>
etiketini ekleyin. Bu adımı atlarsanız Google Mobile Ads SDK'sı uygulama başladığında bir IllegalStateException
mesajı gönderebilir.
<!-- Bypass APPLICATION_ID check for WebView API for Ads -->
<meta-data
android:name="com.google.android.gms.ads.INTEGRATION_MANAGER"
android:value="webview"/>
iOS
GADApplicationIdentifier
kontrolünü atlamak için Runner/Info.plist
dosyasını aşağıdaki anahtar ve dize değeriyle güncelleyin. Bu adımı atlarsanız Google Mobile Ads SDK'sı uygulama başlangıcında GADInvalidInitializationException
hatası verebilir.
<!-- Bypass GADApplicationIdentifier check for WebView API for Ads -->
<key>GADIntegrationManager</key>
<string>webview</string>
WebViewController'ı kaydedin
AdSense kodu veya Google Yayıncı Etiketleri kullanan bir WebViewController
içerisinde reklamlardan daha fazla para kazanmak için aşağıda listelenen adımları uygulayın:
WebViewController
içinde JavaScript'i etkinleştirin. Aksi takdirde, reklamlar yüklenmeyebilir.Kullanıcılarınızın reklam deneyimini iyileştirmek ve Chrome'un çerez politikasıyla tutarlı olmak için
AndroidWebViewController
örneğinizde üçüncü taraf çerezlerini etkinleştirin.Google Mobile Ads SDK'sı tarafından sağlanan
registerWebView()
yöntemini çağırarakWebViewController
örneğini kaydedin.
import 'package:google_mobile_ads/google_mobile_ads.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:webview_flutter_android/webview_flutter_android.dart';
@override
class WebViewExampleState extends State<WebViewExample> {
late final WebViewController controller;
@override
void initState() {
super.initState();
createWebView();
}
void createWebView() async {
controller = WebViewController();
// 1. Enable JavaScript in the web view.
await controller.setJavaScriptMode(JavaScriptMode.unrestricted);
// 2. Enable third-party cookies for Android.
if (controller.platform is AndroidWebViewController) {
AndroidWebViewCookieManager cookieManager = AndroidWebViewCookieManager(
const PlatformWebViewCookieManagerCreationParams());
await cookieManager.setAcceptThirdPartyCookies(
controller.platform as AndroidWebViewController, true);
}
// 3. Register the web view.
await MobileAds.instance.registerWebView(controller);
}
}
URL'yi yükle
Artık WebViewController
üzerinden URL yükleyip web içeriğinizi görüntüleyebilirsiniz.
Kendi URL'nizi kullanmadan önce entegrasyonu test etmek için şu test URL'sini yüklemenizi öneririz: https://webview-api-for-ads-test.glitch.me/
. JavaScript etkin değilse web sayfası
bir hata gösterir.
import 'package:google_mobile_ads/google_mobile_ads.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:webview_flutter_android/webview_flutter_android.dart';
@override
class WebViewExampleState extends State<WebViewExample> {
late final WebViewController controller;
@override
void initState() {
super.initState();
createWebView();
}
void createWebView() async {
controller = WebViewController();
// 1. Enable JavaScript in the web view.
await controller.setJavaScriptMode(JavaScriptMode.unrestricted);
// 2. Enable third-party cookies for Android.
if (controller.platform is AndroidWebViewController) {
AndroidWebViewCookieManager cookieManager = AndroidWebViewCookieManager(
const PlatformWebViewCookieManagerCreationParams());
await cookieManager.setAcceptThirdPartyCookies(
controller.platform as AndroidWebViewController, true);
}
// 3. Register the web view.
await MobileAds.instance.registerWebView(controller);
// 4. Load the URL.
await controller.loadRequest(Uri.parse('https://webview-api-for-ads-test.glitch.me/'));
}
Aşağıdaki koşullar geçerliyse test URL'si başarılı bir entegrasyon için yeşil durum çubukları gösterir:
WebView
, Google Mobile Ads SDK'sına bağlandı- JavaScript etkin
- Üçüncü taraf çerezleri çalışır (iOS cihazlarda beklenen bir durum değildir)
- Birinci taraf çerezlerinin işleyiş şekli
Test URL'mizin kaynak kodunu görüntüleyin. Daha sonra test URL'sini kendi URL'nizle değiştirebilirsiniz. Ayrıca, uygulamanızın HTTPS trafiğini yakalamak ve reklam isteklerini &scar=
parametresi için incelemek üzere Charles gibi bir proxy aracı da kullanabilirsiniz.