Ödüllü reklamlar, kullanıcıların uygulama içi ödüller karşılığında etkileşime girebileceği reklamlardır. Bu kılavuzda, Ad Manager'daki ödüllü reklamların Flutter uygulamasına nasıl entegre edileceği açıklanmaktadır.
Her zaman test reklamlarıyla test yapın
Uygulamalarınızı oluşturup test ederken canlı yayınlanan üretim reklamları yerine test reklamlarını kullandığınızdan emin olun. Bu işlemi yapmazsanız hesabınız askıya alınabilir.
Test reklamlarını yüklemenin en kolay yolu, ödüllü reklamlar için özel test reklam birimi kimliğimizi kullanmaktır:
/21775744923/example/rewarded
Test reklam birimleri, her istek için test reklamları döndürecek şekilde yapılandırılır ve kodlama, test etme ve hata ayıklama sırasında bunları kendi uygulamalarınızda kullanabilirsiniz. Uygulamanızı yayınlamadan önce bunları kendi reklam birimi kimliklerinizle değiştirdiğinizden emin olun.
Reklam yükleme
Aşağıdaki örnekte ödüllü reklam yüklenir:
_adUnitId öğesini kendi reklam birimi kimliğinizle değiştirin.
Ödüllü reklam etkinlikleri
FullScreenContentCallback
kullanarak reklamın gösterilmesi veya kapatılması gibi yaşam döngüsü etkinliklerini dinleyebilirsiniz. Bu etkinliklerle ilgili bildirim almak için reklamı göstermeden önce RewardedAd.fullScreenContentCallback
ayarlayın. Bu örnekte her yöntem uygulanır ve konsola bir mesaj kaydedilir:
ad.fullScreenContentCallback = FullScreenContentCallback(
onAdShowedFullScreenContent: (ad) {
// Called when the ad showed the full screen content.
debugPrint('Ad showed full screen content.');
},
onAdFailedToShowFullScreenContent: (ad, err) {
// Called when the ad failed to show full screen content.
debugPrint('Ad failed to show full screen content with error: $err');
// Dispose the ad here to free resources.
ad.dispose();
},
onAdDismissedFullScreenContent: (ad) {
// Called when the ad dismissed full screen content.
debugPrint('Ad was dismissed.');
// Dispose the ad here to free resources.
ad.dispose();
},
onAdImpression: (ad) {
// Called when an impression occurs on the ad.
debugPrint('Ad recorded an impression.');
},
onAdClicked: (ad) {
// Called when a click is recorded for an ad.
debugPrint('Ad was clicked.');
},
);
Görüntülü reklam
RewardedAd
, tüm uygulama içeriğinin üzerinde bir yer paylaşımı olarak gösterilir ve statik olarak yerleştirilir. Bu nedenle, Flutter widget ağacına eklenemez. show()
işlevini çağırarak reklamın ne zaman gösterileceğini seçebilirsiniz.
RewardedAd.show()
, kullanıcının ödül kazandığında çağrılan bir OnUserEarnedRewardCallback
alır. Bu özelliği uyguladığınızdan ve kullanıcıyı reklam izlediği için ödüllendirdiğinizden emin olun.
_rewardedAd?.show(
onUserEarnedReward:
(AdWithoutView ad, RewardItem rewardItem) {
debugPrint(
'Reward amount: ${rewardItem.amount}',
);
},
);
show()
çağrıldıktan sonra bu şekilde gösterilen bir Ad
programatik olarak kaldırılamaz ve kullanıcı girişi gerektirir. RewardedAd
yalnızca bir kez gösterilebilir. Gösterilecek sonraki aramalar onAdFailedToShowFullScreenContent
tetiklenir.
Bir reklama erişim artık gerekli olmadığında reklamın kaldırılması gerekir. dispose()
ile FullScreenContentCallback.onAdDismissedFullScreenContent
ve FullScreenContentCallback.onAdFailedToShowFullScreenContent
geri aramaları için en iyi uygulama, arama zamanını belirlemektir.
[İsteğe bağlı] Sunucu tarafı doğrulama (SSV) geri çağırmalarını doğrulama
Sunucu tarafı doğrulaması geri çağırmalarında ek veri gerektiren uygulamalar, ödüllü reklamların özel veri özelliğini kullanmalıdır. Ödüllü reklam nesnesinde ayarlanan herhangi bir dize değeri, SSV geri çağırmasının custom_data
sorgu parametresine iletilir. Özel veri değeri ayarlanmamışsa custom_data
sorgu parametresi değeri SSV geri çağırmasında yer almaz.
Aşağıdaki kod örneğinde, ödüllü reklam yüklendikten sonra SSV seçeneklerinin nasıl ayarlanacağı gösterilmektedir:
SAMPLE_CUSTOM_DATA_STRING öğesini özel verilerinizle değiştirin.