<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-XXXXXXXXX"/>
- The latest version recommends Kotlin 2.1.0.
implementation "com.google.android.gms:play-services-ads:24.3.0"
| <!-- | |
| drawable/ad_badge.xml | |
| --> | |
| <shape xmlns:android="http://schemas.android.com/apk/res/android" | |
| android:shape="rectangle"> | |
| <solid android:color="#1A000000" /> | |
| <corners android:radius="10dp" /> | |
| </shape> |
| <?xml version="1.0" encoding="utf-8"?> | |
| <com.google.android.gms.ads.nativead.NativeAdView xmlns:android="http://schemas.android.com/apk/res/android" | |
| xmlns:tools="http://schemas.android.com/tools" | |
| android:id="@+id/native_ad_view" | |
| android:layout_width="match_parent" | |
| android:layout_height="35dp"> | |
| <Button | |
| android:id="@+id/ad_call_to_action" | |
| android:layout_width="match_parent" | |
| android:layout_height="match_parent" | |
| android:alpha="0" | |
| android:background="#00FFFFFF" | |
| tools:text="Click" /> | |
| <LinearLayout | |
| android:id="@+id/content_container" | |
| android:layout_width="wrap_content" | |
| android:layout_height="54dp" | |
| android:layout_gravity="center_horizontal" | |
| android:gravity="center_vertical" | |
| android:orientation="horizontal"> | |
| <TextView | |
| android:id="@+id/adButton" | |
| android:layout_width="wrap_content" | |
| android:layout_height="20dp" | |
| android:paddingStart="10dp" | |
| android:paddingEnd="10dp" | |
| android:background="@drawable/ad_badge" | |
| android:text="AD" | |
| android:textColor="#333333" | |
| android:textSize="11sp" | |
| android:gravity="center" /> | |
| <TextView | |
| android:id="@+id/ad_headline" | |
| android:layout_width="wrap_content" | |
| android:layout_height="20dp" | |
| android:gravity="center_vertical" | |
| android:layout_marginStart="8dp" | |
| android:ellipsize="end" | |
| android:includeFontPadding="false" | |
| android:maxLines="1" | |
| android:text="Ad Title" | |
| android:textColor="#000000" | |
| android:textSize="12sp" /> | |
| </LinearLayout> | |
| </com.google.android.gms.ads.nativead.NativeAdView> |
| package com.example.app | |
| import android.content.Context | |
| import android.view.LayoutInflater | |
| import android.widget.Button | |
| import android.widget.ImageView | |
| import android.widget.TextView | |
| import com.google.android.gms.ads.nativead.NativeAd | |
| import com.google.android.gms.ads.nativead.NativeAdView | |
| import io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin | |
| class BottomTextAdFactory(private val context: Context) : GoogleMobileAdsPlugin.NativeAdFactory { | |
| override fun createNativeAd( | |
| nativeAd: NativeAd, | |
| customOptions: MutableMap<String, Any>? | |
| ): NativeAdView { | |
| val adView = LayoutInflater.from(context).inflate(R.layout.bottom_text_ad, null) as NativeAdView | |
| adView.headlineView = adView.findViewById(R.id.ad_headline) | |
| adView.callToActionView = adView.findViewById(R.id.ad_call_to_action) | |
| (adView.headlineView as TextView).text = nativeAd.headline | |
| (adView.callToActionView as Button).text = nativeAd.callToAction | |
| adView.setNativeAd(nativeAd) | |
| return adView | |
| } | |
| } |
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-XXXXXXXXX"/>
implementation "com.google.android.gms:play-services-ads:24.3.0"
| package com.example.app | |
| import io.flutter.embedding.android.FlutterActivity | |
| import io.flutter.embedding.engine.FlutterEngine | |
| import io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin | |
| class MainActivity: FlutterActivity() { | |
| override fun configureFlutterEngine(flutterEngine: FlutterEngine) { | |
| super.configureFlutterEngine(flutterEngine) | |
| GoogleMobileAdsPlugin.registerNativeAdFactory( | |
| flutterEngine, | |
| "bottomTextAd", | |
| BottomTextAdFactory(this), | |
| ) | |
| } | |
| override fun cleanUpFlutterEngine(flutterEngine: FlutterEngine) { | |
| GoogleMobileAdsPlugin.unregisterNativeAdFactory(flutterEngine, "bottomTextAd") | |
| super.cleanUpFlutterEngine(flutterEngine) | |
| } | |
| } |