Banner quảng cáo yêu cầu một loại Đơn vị Quảng cáo dạng banner chuyên dụng cụ thể.
Bạn có thể đặt đối tượng khung nhìn banner vào hệ thống phân cấp khung nhìn của mình, cũng như với bất kỳ khung nhìn nào khác. Điều này cho phép bạn tùy chỉnh vị trí của từng trường hợp banner hoặc hiển thị nhiều banner.
Triển khai tập lệnh
Mẫu tập lệnh sau đây là ví dụ triển khai để hiển thị hai banner quảng cáo trên màn hình và các nút để kiểm tra chúng.
Ví dụ này sử dụng một hàm lắng nghe sự kiện cho nhiều đối tượng khung nhìn banner. Bạn cũng có thể tạo các trình nghe khác nhau cho từng đối tượng khung nhìn banner.
Cách triển khai định dạng banner MREC
Để hiển thị định dạng quảng cáo có kích thước hình chữ nhật cỡ trung bình (MREC) trong ứng dụng của bạn, hãy nhớ sử dụng kích thước phù hợp, chẳng hạn như 300x250, 300x300 hoặc 450x450. Trong trường hợp banner quảng cáo có kích thước cụ thể là 300x250 MREC, hãy thay thế kích thước này trong mã mẫu sau:
new UnityBannerSize(320, 50)
Với kích thước đã điều chỉnh này:
new UnityBannerSize(300, 250)
Mã mẫu
import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import com.unity3d.ads.IUnityAdsInitializationListener; import com.unity3d.ads.UnityAds; import com.unity3d.services.banners.BannerErrorInfo; import com.unity3d.services.banners.BannerView; import com.unity3d.services.banners.UnityBannerSize; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.RelativeLayout; public class ShowBanners extends AppCompatActivity implements IUnityAdsInitializationListener { String unityGameID = "1234567"; Boolean testMode = true; String topAdUnitId = "topBanner"; String bottomAdUnitId = "bottomBanner"; // Listener for banner events: private BannerView.IListener bannerListener = new BannerView.IListener() { @Override public void onBannerLoaded(BannerView bannerAdView) { // Called when the banner is loaded. Log.v("UnityAdsExample", "onBannerLoaded: " + bannerAdView.getPlacementId()); // Enable the correct button to hide the ad (bannerAdView.getPlacementId().equals("topBanner") ? hideTopBannerButton : hideBottomBannerButton).setEnabled(true); } @Override public void onBannerFailedToLoad(BannerView bannerAdView, BannerErrorInfo errorInfo) { Log.e("UnityAdsExample", "Unity Ads failed to load banner for " + bannerAdView.getPlacementId() + " with error: [" + errorInfo.errorCode + "] " + errorInfo.errorMessage); // Note that the BannerErrorInfo object can indicate a no fill (refer to the API documentation). } @Override public void onBannerClick(BannerView bannerAdView) { // Called when a banner is clicked. Log.v("UnityAdsExample", "onBannerClick: " + bannerAdView.getPlacementId()); } @Override public void onBannerLeftApplication(BannerView bannerAdView) { // Called when the banner links out of the application. Log.v("UnityAdsExample", "onBannerLeftApplication: " + bannerAdView.getPlacementId()); } }; // This banner view object will be placed at the top of the screen: BannerView topBanner; // This banner view object will be placed at the bottom of the screen: BannerView bottomBanner; // View objects to display banners: RelativeLayout topBannerView; RelativeLayout bottomBannerView; // Buttons to show the banners: Button showTopBannerButton; Button showBottomBannerButton; // Buttons to destroy the banners: Button hideTopBannerButton; Button hideBottomBannerButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Initialize Unity Ads: UnityAds.initialize(getApplicationContext(), unityGameID, testMode, this); // Set up a button to load the top banner when clicked: showTopBannerButton = findViewById(R.id.loadTopBanner); // Set up a button to load the bottom banner when clicked: showBottomBannerButton = findViewById(R.id.loadBottomBanner); // Set up a button to destroy the top banner when clicked: hideTopBannerButton = findViewById(R.id.hideTopBanner); // Set up a button to destroy the bottom banner when clicked: hideBottomBannerButton = findViewById(R.id.hideBottomBanner); showTopBannerButton.setEnabled(false); showBottomBannerButton.setEnabled(false); hideTopBannerButton.setEnabled(false); hideBottomBannerButton.setEnabled(false); showTopBannerButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { showTopBannerButton.setEnabled(false); // Create the top banner view object: topBanner = new BannerView(view.getContext(), topAdUnitId, new UnityBannerSize(320, 50)); // Set the listener for banner lifecycle events: topBanner.setListener(bannerListener); topBannerView = findViewById(R.id.topBanner); LoadBannerAd(topBanner, topBannerView); } }); showBottomBannerButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { showBottomBannerButton.setEnabled(false); // Create the bottom banner view object: bottomBanner = new BannerView(view.getContext(), bottomAdUnitId, new UnityBannerSize(320, 50)); // Set the listener for banner lifecycle events: bottomBanner.setListener(bannerListener); bottomBannerView = findViewById(R.id.bottomBanner); LoadBannerAd(bottomBanner, bottomBannerView); } }); hideTopBannerButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Remove content from the banner view: topBannerView.removeAllViews(); // Remove the banner variables: topBannerView = null; topBanner = null; showTopBannerButton.setEnabled(true); } }); hideBottomBannerButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Remove content from the banner view: bottomBannerView.removeAllViews(); // Remove the banner variables: bottomBannerView = null; bottomBanner = null; showBottomBannerButton.setEnabled(true); } }); } public void LoadBannerAd(BannerView bannerView, RelativeLayout bannerLayout) { // Request a banner ad: bannerView.load(); // Associate the banner view object with the banner view: bannerLayout.addView(bannerView); } @Override public void onInitializationComplete() { // Enable the show ad buttons because ads can now be loaded showTopBannerButton.setEnabled(true); showBottomBannerButton.setEnabled(true); } @Override public void onInitializationFailed(UnityAds.UnityAdsInitializationError error, String message) { } }
Bước tiếp theo: Xem lại hướng dẫn về chiến lược kiếm tiền hoặc thử nghiệm quá trình triển khai của bạn.