Banner adaptif anchor
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Banner adaptif adalah iklan responsif generasi berikutnya, yang memaksimalkan performa dengan mengoptimalkan ukuran iklan untuk setiap perangkat. Demi menyempurnakan banner cerdas, yang hanya mendukung tinggi tetap, banner adaptif memungkinkan Anda menentukan lebar iklan dan menggunakannya untuk menentukan ukuran iklan yang optimal.
Untuk memilih ukuran iklan terbaik, banner adaptif menggunakan rasio aspek tetap, bukan tinggi tetap. Hasilnya, iklan banner dapat menempati bagian layar dengan lebih konsisten di berbagai perangkat dan memberikan peluang untuk meningkatkan performa.
Saat menggunakan banner adaptif, perhatikan bahwa banner ini akan selalu menampilkan ukuran konstan untuk perangkat dan lebar tertentu. Setelah menguji tata letak di perangkat tertentu, Anda dapat yakin bahwa ukuran iklan tidak akan berubah. Namun, ukuran materi iklan banner dapat berubah di berbagai perangkat. Oleh karena itu,
sebaiknya tata letak Anda mengakomodasi variasi tinggi iklan. Dalam kasus yang jarang terjadi,
ukuran adaptif penuh mungkin tidak terisi dan materi iklan ukuran standar akan
dipusatkan di slot ini.
Prasyarat
Kapan harus menggunakan banner adaptif
Banner adaptif dirancang untuk secara langsung menggantikan ukuran banner standar industri 320x50 dan format banner cerdas yang digantikannya.
Ukuran banner ini umumnya digunakan sebagai banner anchor, yang biasanya
terkunci di bagian atas atau bawah layar.
Untuk banner anchor tersebut, rasio aspek saat menggunakan banner adaptif akan
mirip dengan iklan standar 320x50, seperti yang dapat dilihat dalam tiga contoh
di bawah:

Banner 320x50
|

Banner adaptif
|

Banner smart
|
Banner adaptif memanfaatkan ukuran layar yang tersedia dengan lebih baik. Selain itu, dibandingkan dengan banner smart, banner adaptif adalah pilihan yang lebih baik karena:
Banner ini menggunakan lebar apa pun yang Anda berikan, bukan memaksa lebar menjadi layar
penuh, sehingga Anda dapat memperhitungkan area aman di iOS, dan potongan layar
di Android.
Elemen ini memilih tinggi yang optimal untuk perangkat tertentu, bukan memiliki
tinggi yang konstan di berbagai perangkat berukuran berbeda, sehingga mengurangi efek
fragmentasi perangkat.
Catatan penerapan
Saat menerapkan banner adaptif di aplikasi Anda, perhatikan poin-poin berikut:
- Anda harus mengetahui lebar tampilan tempat iklan akan ditempatkan,
dan hal ini harus mempertimbangkan lebar perangkat dan area aman atau
potongan yang berlaku.
- Pastikan latar belakang tampilan iklan Anda buram agar mematuhi kebijakan AdMob saat ukuran iklan yang lebih kecil ditayangkan dan tidak mengisi slot iklan.
- Pastikan Anda menggunakan plugin Google Mobile Ads Unity versi terbaru. Untuk mediasi, gunakan versi terbaru setiap adaptor mediasi.
- Ukuran banner adaptif dirancang agar berfungsi optimal saat menggunakan lebar penuh yang tersedia. Dalam kebanyakan kasus, ukurannya adalah lebar penuh layar perangkat yang digunakan. Pastikan untuk mempertimbangkan area aman yang berlaku.
- Google Mobile Ads SDK akan menyesuaikan ukuran banner dengan tinggi iklan yang dioptimalkan untuk lebar tertentu saat menggunakan API AdSize adaptif.
- Ada tiga metode untuk mendapatkan ukuran iklan adaptif:
AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth
untuk lanskap,
AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth
untuk potret, dan
AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth
untuk
orientasi saat ini pada saat eksekusi.
- Ukuran yang ditampilkan untuk lebar tertentu pada perangkat tertentu akan selalu sama, sehingga setelah menguji tata letak pada perangkat tertentu, Anda dapat yakin bahwa ukuran iklan tidak akan berubah.
- Tinggi banner yang di-anchor tidak pernah lebih besar dari 15% tinggi perangkat atau 90 piksel independen kepadatan, dan tidak pernah lebih kecil dari 50 piksel independen kepadatan.
- Untuk banner lebar penuh, Anda dapat menggunakan flag
AdSize.FullWidth
, alih-alih
memberikan lebar tertentu.
Panduan memulai
Ikuti langkah-langkah di bawah ini untuk menerapkan banner anchor adaptif simpel.
- Dapatkan ukuran iklan banner adaptif. Ukuran yang Anda dapatkan akan digunakan untuk meminta banner adaptif. Untuk mendapatkan ukuran iklan adaptif, pastikan Anda:
- Dapatkan lebar perangkat yang digunakan dalam piksel yang tidak bergantung pada kepadatan, atau tetapkan lebar Anda sendiri jika Anda tidak ingin menggunakan lebar penuh layar.
Karena Unity API seperti
Screen.width
menampilkan piksel absolut, Anda perlu
membagi dengan skala perangkat (dapat diambil dari MobileAds.Utils.GetDeviceScale()
).
- Gunakan tanda
AdSize.FullWidth
untuk banner lebar penuh.
- Gunakan metode statis yang sesuai pada class ukuran iklan, seperti
AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width)
untuk mendapatkan objek AdSize
adaptif untuk orientasi saat ini.
- Buat objek
BannerView
dengan ID unit iklan, ukuran adaptif, dan
posisi yang relevan untuk iklan Anda.
- Buat objek permintaan iklan dan muat banner menggunakan metode
LoadAd()
pada tampilan iklan yang telah disiapkan, seperti yang Anda lakukan pada permintaan banner normal.
Contoh kode
Berikut adalah contoh skrip yang memuat dan memuat ulang banner adaptif agar sesuai dengan lebar layar, dengan mempertimbangkan area aman:
using UnityEngine;
using System;
using GoogleMobileAds.Api;
public class AdaptiveBannerSample : MonoBehaviour
{
private BannerView _bannerView;
// Use this for initialization
void Start()
{
// Set your test devices.
// https://developers.google.com/admob/unity/test-ads
RequestConfiguration requestConfiguration = new RequestConfiguration
{
TestDeviceIds = new List<string>
{
AdRequest.TestDeviceSimulator,
// Add your test device IDs (replace with your own device IDs).
#if UNITY_IPHONE
"96e23e80653bb28980d3f40beb58915c"
#elif UNITY_ANDROID
"75EF8D155528C04DACBBA6F36F433035"
#endif
}
};
MobileAds.SetRequestConfiguration(requestConfiguration);
// Initialize the Google Mobile Ads SDK.
MobileAds.Initialize((InitializationStatus status) =>
{
RequestBanner();
});
}
public void OnGUI()
{
GUI.skin.label.fontSize = 60;
Rect textOutputRect = new Rect(
0.15f * Screen.width,
0.25f * Screen.height,
0.7f * Screen.width,
0.3f * Screen.height);
GUI.Label(textOutputRect, "Adaptive Banner Example");
}
private void RequestBanner()
{
// These ad units are configured to always serve test ads.
#if UNITY_EDITOR
string adUnitId = "unused";
#elif UNITY_ANDROID
string adUnitId = "ca-app-pub-3212738706492790/6113697308";
#elif UNITY_IPHONE
string adUnitId = "ca-app-pub-3212738706492790/5381898163";
#else
string adUnitId = "unexpected_platform";
#endif
// Clean up banner ad before creating a new one.
if (_bannerView != null)
{
_bannerView.Destroy();
}
AdSize adaptiveSize =
AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(AdSize.FullWidth);
_bannerView = new BannerView(adUnitId, adaptiveSize, AdPosition.Bottom);
// Register for ad events.
_bannerView.OnBannerAdLoaded += OnBannerAdLoaded;
_bannerView.OnBannerAdLoadFailed += OnBannerAdLoadFailed;
AdRequest adRequest = new AdRequest();
// Load a banner ad.
_bannerView.LoadAd(adRequest);
}
#region Banner callback handlers
private void OnBannerAdLoaded(object sender, EventArgs args)
{
Debug.Log("Banner view loaded an ad with response : "
+ _bannerView.GetResponseInfo());
Debug.Log("Ad Height: {0}, width: {1}",
_bannerView.GetHeightInPixels(),
_bannerView.GetWidthInPixels());
}
private void OnBannerAdLoadFailed(LoadAdError error)
{
Debug.LogError("Banner view failed to load an ad with error : "
+ error);
}
#endregion
}
Di sini, fungsi
AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth
digunakan
untuk mendapatkan ukuran banner dalam posisi yang ditambatkan untuk orientasi antarmuka
saat ini. Untuk memuat banner berlabuh terlebih dahulu dalam orientasi tertentu, gunakan
fungsi yang relevan dari AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth
dan AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth
.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-21 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-21 UTC."],[[["\u003cp\u003eAdaptive banners optimize ad size for each device, maximizing performance by using fixed aspect ratios instead of fixed heights.\u003c/p\u003e\n"],["\u003cp\u003eThey are drop-in replacements for standard 320x50 banners and smart banners, offering better screen space utilization and accounting for safe areas and cutouts.\u003c/p\u003e\n"],["\u003cp\u003eAdaptive banners dynamically adjust height to the device, providing a more consistent ad experience while requiring developers to accommodate height variances in their layout.\u003c/p\u003e\n"],["\u003cp\u003eImplementation involves getting the device width, using the appropriate AdSize method for orientation, and creating a BannerView with the adaptive size and ad unit ID.\u003c/p\u003e\n"]]],["Adaptive banners optimize ad size per device using fixed aspect ratios instead of fixed heights, improving performance and screen space usage. Key actions include: determining the view's width (considering device width, safe areas, and cutouts), and selecting the appropriate `AdSize` method (`GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth`, `GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth`, or `GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth`). Once loaded, the ad's size remains constant for a given device and width. You can also use `AdSize.FullWidth` flag for full width banners.\n"],null,["# Anchored adaptive banners\n\nAdaptive banners are the next generation of responsive ads, maximizing\nperformance by optimizing ad size for each device. Improving on smart banners,\nwhich supported only fixed heights, adaptive banners let you specify the\nad width and use this to determine the optimal ad size.\n\nTo choose the best ad size, adaptive banners use fixed aspect ratios instead of\nfixed heights. This results in banner ads that occupy a more consistent portion\nof the screen across devices and provides opportunities for improved\nperformance.\n\nWhen working with adaptive banners, note that they will always return a\nconstant size for a given device and width. Once you've tested your layout on a\ngiven device, you can be sure that the ad size will not change. However, the\nsize of the banner creative may change across different devices. Consequently,\nwe recommend that your layout accommodate variances in ad height. In rare cases,\nthe full adaptive size may not be filled and a standard size creative will be\ncentered in this slot instead.\n\nPrerequisites\n-------------\n\n- Follow the instructions from the [Get Started guide](/admob/unity/quick-start) on how to [Import the Mobile Ads Unity plugin](/admob/unity/quick-start#import_the_mobile_ads_unity_plugin) and [Include the Mobile Ads SDK](/admob/unity/quick-start#include_the_mobile_ads_sdk).\n\nWhen to use adaptive banners\n----------------------------\n\nAdaptive banners are designed to be a drop-in replacement for both the industry\nstandard 320x50 banner size and the smart banner format which they supersede.\n\nThese banner sizes are commonly used as anchored banners, which are usually\nlocked to the top or bottom of the screen.\n\nFor such anchored banners, the aspect ratio when using adaptive banners will be\nsimilar to that of a standard 320x50 ad, as can be seen in the three examples\nbelow:\n\n|---------------|-----------------|--------------|\n| 320x50 banner | Adaptive banner | Smart banner |\n\nThe adaptive banner makes better use of the available screen size. Additionally,\ncompared to a smart banner, an adaptive banner is a better choice because:\n\n- It uses any width you provide, rather than forcing the width to be full\n screen, enabling you to account for the safe area on iOS, and display cutouts\n on Android.\n\n- It selects an optimal height for the specific device, rather than having a\n constant height across different size devices, mitigating the effects of\n device fragmentation.\n\nImplementation notes\n--------------------\n\nWhen implementing adaptive banners in your app, keep the following points in mind:\n\n- You must know the width of the view that the ad will be placed in, **and this should take into account the device width and any safe areas or\n cutouts that are applicable**.\n- Ensure that your ad view background is opaque to be compliant with AdMob policies when smaller ad sizes serve that do not fill the ad slot.\n- Ensure you are using the latest version of the Google Mobile Ads Unity plugin. For mediation, use the latest version of each mediation adapter.\n- The adaptive banner sizes are designed to work best when using the full available width. In most cases, this will be the full width of the screen of the device in use. Be sure to take into account applicable safe areas.\n- The Google Mobile Ads SDK will size the banner with an optimized ad height for the given width when using the adaptive AdSize APIs.\n- There are three methods to get an ad size for adaptive: `AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth` for landscape, `AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth` for portrait, and `AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth` for the current orientation at the time of execution.\n- The size returned for a given width on a given device will always be the same, hence once you've tested your layout on a given device, you can be sure that the ad size will not change.\n- Anchored banner height is never larger than the lesser of 15% of the device's height or 90 density independent pixels and never smaller than 50 density independent pixels.\n- For full width banners, you can use the `AdSize.FullWidth` flag instead of supplying a specific width.\n\nQuickstart\n----------\n\nFollow the steps below to implement a simple adaptive anchor banner.\n\n1. **Get an adaptive banner ad size.** The size you get will be used to request your adaptive banner. To get the adaptive ad size, make sure that you:\n 1. Get the width of the device in use in density independent pixels, or set your own width if you don't want to use the full width of the screen. Since Unity APIs such as `Screen.width` return absolute pixels, you need to divide by device scale (retrievable from `MobileAds.Utils.GetDeviceScale()`).\n 2. Use the `AdSize.FullWidth` flag for full width banners.\n 3. Use the appropriate static methods on the ad size class, such as `AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width)` to get an adaptive `AdSize` object for the current orientation.\n2. Create a `BannerView` object with your ad unit ID, the adaptive size, and the relevant position for your ad.\n3. Create an ad request object and load your banner using the `LoadAd()` method on your prepared ad view, just like you would with a normal banner request.\n\nCode example\n------------\n\nHere's an example script that loads and reloads an adaptive banner to fit the\nwidth of the screen, taking into account safe area: \n\n using UnityEngine;\n using System;\n using GoogleMobileAds.Api;\n\n public class AdaptiveBannerSample : MonoBehaviour\n {\n private BannerView _bannerView;\n\n // Use this for initialization\n void Start()\n {\n // Set your test devices.\n // https://developers.google.com/admob/unity/test-ads\n RequestConfiguration requestConfiguration = new RequestConfiguration\n {\n TestDeviceIds = new List\u003cstring\u003e\n {\n AdRequest.TestDeviceSimulator,\n // Add your test device IDs (replace with your own device IDs).\n #if UNITY_IPHONE\n \"96e23e80653bb28980d3f40beb58915c\"\n #elif UNITY_ANDROID\n \"75EF8D155528C04DACBBA6F36F433035\"\n #endif\n }\n };\n MobileAds.SetRequestConfiguration(requestConfiguration);\n\n // Initialize the Google Mobile Ads SDK.\n MobileAds.Initialize((InitializationStatus status) =\u003e\n {\n RequestBanner();\n });\n }\n\n public void OnGUI()\n {\n GUI.skin.label.fontSize = 60;\n Rect textOutputRect = new Rect(\n 0.15f * Screen.width,\n 0.25f * Screen.height,\n 0.7f * Screen.width,\n 0.3f * Screen.height);\n GUI.Label(textOutputRect, \"Adaptive Banner Example\");\n }\n\n private void RequestBanner()\n {\n // These ad units are configured to always serve test ads.\n #if UNITY_EDITOR\n string adUnitId = \"unused\";\n #elif UNITY_ANDROID\n string adUnitId = \"ca-app-pub-3212738706492790/6113697308\";\n #elif UNITY_IPHONE\n string adUnitId = \"ca-app-pub-3212738706492790/5381898163\";\n #else\n string adUnitId = \"unexpected_platform\";\n #endif\n\n // Clean up banner ad before creating a new one.\n if (_bannerView != null)\n {\n _bannerView.Destroy();\n }\n\n AdSize adaptiveSize =\n AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(AdSize.FullWidth);\n\n _bannerView = new BannerView(adUnitId, adaptiveSize, AdPosition.Bottom);\n\n // Register for ad events.\n _bannerView.OnBannerAdLoaded += OnBannerAdLoaded;\n _bannerView.OnBannerAdLoadFailed += OnBannerAdLoadFailed;\n\n AdRequest adRequest = new AdRequest();\n\n // Load a banner ad.\n _bannerView.LoadAd(adRequest);\n }\n\n #region Banner callback handlers\n\n private void OnBannerAdLoaded(object sender, EventArgs args)\n {\n Debug.Log(\"Banner view loaded an ad with response : \"\n + _bannerView.GetResponseInfo());\n Debug.Log(\"Ad Height: {0}, width: {1}\",\n _bannerView.GetHeightInPixels(),\n _bannerView.GetWidthInPixels());\n }\n\n private void OnBannerAdLoadFailed(LoadAdError error)\n {\n Debug.LogError(\"Banner view failed to load an ad with error : \"\n + error);\n }\n\n #endregion\n }\n\nHere the function\n`AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth` is used\nto get the size for a banner in an anchored position for the current interface\norientation. For pre-loading an anchored banner in a given orientation, use the\nrelevant function from `AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth`\nand `AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth`."]]