Quảng cáo xen kẽ có tặng thưởng là một loại định dạng quảng cáo có tặng thưởng, cho phép bạn thêm phần thưởng vào những quảng cáo tự động xuất hiện tại các điểm chuyển tiếp tự nhiên của ứng dụng. Không giống như quảng cáo có tặng thưởng, người dùng không bắt buộc phải chọn xem quảng cáo xen kẽ có tặng thưởng. Hướng dẫn này trình bày cách tích hợp quảng cáo xen kẽ có tặng thưởng từ AdMob vào ứng dụng Flutter.
Điều kiện tiên quyết
Trước khi tiếp tục, hãy làm như sau:
- Cài đặt trình bổ trợ Flutter phiên bản 1.1.0 trở lên.
- Thiết lập Google Mobile Ads Flutter Plugin. Ứng dụng Flutter của bạn phải nhập Google Mobile Ads Flutter Plugin.
Luôn thử nghiệm bằng quảng cáo thử nghiệm
Khi bạn tạo và thử nghiệm ứng dụng, hãy nhớ sử dụng quảng cáo thử nghiệm thay vì quảng cáo đang chạy trong thực tế. Nếu bạn không làm như vậy, tài khoản của bạn có thể bị tạm ngưng.
Cách dễ nhất để tải quảng cáo thử nghiệm là sử dụng mã đơn vị quảng cáo thử nghiệm dành riêng cho quảng cáo xen kẽ có tặng thưởng:
Android
ca-app-pub-3940256099942544/5354046379
iOS
ca-app-pub-3940256099942544/6978759866
Các đơn vị quảng cáo thử nghiệm được định cấu hình để trả về quảng cáo thử nghiệm cho mọi yêu cầu và bạn có thể sử dụng các đơn vị quảng cáo này trong ứng dụng của mình khi lập trình, chạy thử nghiệm và gỡ lỗi. Bạn chỉ cần nhớ thay thế mã này bằng mã đơn vị quảng cáo của mình trước khi xuất bản ứng dụng.
Tải một quảng cáo
Ví dụ sau đây tải một quảng cáo xen kẽ có tặng thưởng:
Thay thế _adUnitId bằng mã đơn vị quảng cáo của riêng bạn.
Sự kiện quảng cáo xen kẽ có tặng thưởng
Thông qua việc sử dụng FullScreenContentCallback, bạn có thể theo dõi các sự kiện trong vòng đời, chẳng hạn như khi quảng cáo xuất hiện hoặc bị đóng. Đặt RewardedInterstitialAd.fullScreenContentCallback trước khi hiển thị quảng cáo để nhận thông báo về các sự kiện này. Sau đây là ví dụ về cách triển khai từng phương thức và
ghi nhật ký thông báo vào bảng điều khiển:
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.');
},
);
Quảng cáo hiển thị hình ảnh
RewardedInterstitialAd được hiển thị dưới dạng Lớp phủ trên tất cả nội dung của ứng dụng và được đặt tĩnh; do đó, bạn không thể thêm lớp phủ này vào cây tiện ích Flutter.
Bạn có thể chọn thời điểm hiển thị quảng cáo bằng cách gọi show().
RewardedInterstitialAd.show() nhận một OnUserEarnedRewardCallback, được gọi khi người dùng nhận được phần thưởng. Hãy nhớ triển khai phương thức này và tặng thưởng cho người dùng khi họ xem quảng cáo.
_rewardedInterstitialAd?.show(
onUserEarnedReward: (AdWithoutView ad, RewardItem rewardItem) {
debugPrint('Reward amount: ${rewardItem.amount}');
},
);
Sau khi show() được gọi, bạn không thể xoá Ad hiển thị theo cách này bằng cách lập trình mà cần có hoạt động đầu vào của người dùng. Mỗi RewardedInterstitialAd chỉ có thể xuất hiện một lần. Các lệnh gọi tiếp theo để hiển thị sẽ kích hoạt onAdFailedToShowFullScreenContent.
Bạn phải loại bỏ quảng cáo khi không cần truy cập vào quảng cáo đó nữa. Phương pháp hay nhất về thời điểm gọi dispose() là trong lệnh gọi lại FullScreenContentCallback.onAdDismissedFullScreenContent và FullScreenContentCallback.onAdFailedToShowFullScreenContent.
[Không bắt buộc] Xác thực lệnh gọi lại của tính năng xác minh phía máy chủ (SSV)
Những ứng dụng cần có thêm dữ liệu về lệnh gọi lại của tính năng xác minh phía máy chủ
nên sử dụng tính năng dữ liệu tuỳ chỉnh của quảng cáo có tặng thưởng. Bất kỳ giá trị chuỗi nào
được đặt cho đối tượng quảng cáo có tặng thưởng đều sẽ được truyền đến tham số truy vấn custom_data cho
lệnh gọi lại của SSV. Nếu bạn không đặt giá trị dữ liệu tuỳ chỉnh, thì giá trị tham số truy vấn
custom_data sẽ không hiển thị trong lệnh gọi lại của SSV.
Mã mẫu sau đây minh hoạ cách đặt các lựa chọn của SSV sau khi quảng cáo xen kẽ có tặng thưởng được tải:
Thay thế SAMPLE_CUSTOM_DATA_STRING bằng dữ liệu tuỳ chỉnh của bạn.
Ví dụ hoàn chỉnh trên GitHub
Để xem ví dụ đầy đủ, hãy xem phần Bản minh hoạ API.