[英]How to show Applovin/Max Banner Ad with layout?
我是Applovin/Max
的新手。 在他們的文檔position
以及以編程方式設置的Banner
廣告size
。 這就是BannerAd
覆蓋我的應用content
的原因。
xml
中的橫幅布局
<com.applovin.mediation.ads.MaxAdView
android:id="@+id/maxBannerAdLayout"
android:background="@color/white"
android:layout_width="match_parent"
android:layout_height="@dimen/banner_height" />
在文檔橫幅中以編程方式顯示
adView = new MaxAdView( "YOUR_AD_UNIT_ID", this );
adView.setListener( this );
// Stretch to the width of the screen for banners to be fully functional
int width = ViewGroup.LayoutParams.MATCH_PARENT;
// Get the adaptive banner height.
int heightDp = MaxAdFormat.BANNER.getAdaptiveSize( this ).getHeight();
int heightPx = AppLovinSdkUtils.dpToPx( this, heightDp );
adView.setLayoutParams( new FrameLayout.LayoutParams( width, heightPx ) );
adView.setExtraParameter( "adaptive_banner", "true" );
// Set background or background color for banners to be fully functional
adView.setBackgroundColor( ... );
ViewGroup rootView = findViewById( android.R.id.content );
rootView.addView( adView );
// Load the ad
adView.loadAd();
我不知道,如何將代碼與banner layout
聯系起來?
xml:
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:id="@+id/bannerad"
android:orientation="vertical"/>
Java代碼:
private MaxAdView adView;
private void LoadBannerAd() {
adView = new MaxAdView( getResources().getString(R.string.bannerad), this );
adView.setListener(new MaxAdViewAdListener() {
@Override
public void onAdExpanded(MaxAd ad) {
}
@Override
public void onAdCollapsed(MaxAd ad) {
}
@Override
public void onAdLoaded(MaxAd ad) {
}
@Override
public void onAdDisplayed(MaxAd ad) {
}
@Override
public void onAdHidden(MaxAd ad) {
}
@Override
public void onAdClicked(MaxAd ad) {
}
@Override
public void onAdLoadFailed(String adUnitId, MaxError error) {
}
@Override
public void onAdDisplayFailed(MaxAd ad, MaxError error) {
}
});
int width = ViewGroup.LayoutParams.MATCH_PARENT;
int heightPx = getResources().getDimensionPixelSize( R.dimen.banner_height );
adView.setLayoutParams( new FrameLayout.LayoutParams( width, heightPx, Gravity.BOTTOM) );
adView.setBackgroundColor(Color.BLACK);
LinearLayout ll = findViewById(R.id.bannerad);
ll.addView(adView);
adView.loadAd();
}
在 onCreate() 中調用 LoadBannerAd()。
問題是,您正在使用兩種方式:
1:使用XML和java代碼
2:也以編程方式
試試上面的代碼。
我知道現在回答這個問題已經很晚了,但這可能會在將來對某人有所幫助。
注意:當您在 Applovin/Max 中創建
Ad Id
時,您提供package
名稱。 僅在同一個 package 名稱應用上測試廣告,否則不會顯示任何真實廣告。
在這里,我解釋了顯示Max/Applovin
Banner ad
(使用 fb/Meta)的完整過程。
在build.gradle
和 fb 的 build.gradle 中添加dependency
項。(如果您使用 other.network 然后添加它們與 applovin 的dependency
項。(始終檢查最新的依賴項版本 - 此處)
//applovin and fb dependencies
implementation 'com.applovin:applovin-sdk:11.6.1'
implementation 'com.applovin.mediation:facebook-adapter:6.12.0.2'
implementation 'com.applovin.mediation:facebook-adapter:6.12.0.2'
implementation 'com.facebook.android:audience-network-sdk:6.12.0'
在我的manifests.xml
底部添加此代碼。 在這里輸入您的value
sdk key
,您可以在Applovin >Account > Keys > sdk Key
中找到它
....
<meta-data
android:name="applovin.sdk.key"
android:value="@string/sdkKey" />
</application>
將Banner ad
代碼 om xml
放在您想要的位置
<com.applovin.mediation.ads.MaxAdView
xmlns:maxads="http://schemas.applovin.com/android/1.0"
maxads:adUnitId="Add_here_YOUR_AD_ID"
android:background="@color/white"
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/maxBannerADDDD"
/>
Java代碼
private MaxAdView adView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//find Id of xml Banner
adView = (MaxAdView) findViewById(R.id.bannerADDDD);
initializeAdNetwork();
}
private void initializeAdNetwork() {
AppLovinSdk.getInstance( this ).setMediationProvider( "max" );
AppLovinSdk.initializeSdk(getApplicationContext(), new AppLovinSdk.SdkInitializationListener() {
public void onSdkInitialized(AppLovinSdkConfiguration appLovinSdkConfiguration) {
loadInterstitial();
//load banner Ad
loadBannerAd();
}
});
}
private void loadBannerAd(){
adView.loadAd();
adView.startAutoRefresh();
}
還要在應用中添加Inte.net permission
。
如果您使用facebook/Meta ads
,則必須使用network_security_config
。 在res > xml
中創建這個xml
(如果找不到 xml,則右鍵單擊 res > 新建 > 創建名為xml
的目錄)在這個 xml 目錄中創建這個在 xml 文件下方。
network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">127.0.0.1</domain>
</domain-config>
</network-security-config>
也在menifest.xml
中聲明這個文件
...
<application
android:networkSecurityConfig="@xml/network_security_config"
....
謝謝。
快樂編碼:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.