AdMobネイティブ広告をFlutterアプリに実装した話(Android_修正編①)

Devlog
Devlog
Contents
  1. 課題

課題

Androidで advertiser(※2行目)が改行されて表示されてしまう。iOSで発生していないのでネイティブコードを点検。headline(※1行目)はオーバーした文字は「•••」で省略されているのでそちらのコードを確認。

ちなみに表示文字数についての公式の推奨はこちら
https://support.google.com/admob/answer/6329638?hl=ja

タイトルメインの広告見出しテキスト。このテキストは半角 25(全角 12)文字を超えると切り捨てられる可能性があります。ad_headline
広告主名
広告主を識別するテキスト(広告主名、ブランド名、表示 URL など)。このテキストは半角 25(全角 12)文字を超えると切り捨てられる可能性があります。ad_advertiser


修正前コード。headlineで指定している行数と android:ellipsize 属性が、advertiserに抜けていました。

XML
<?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:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ImageView
            android:id="@+id/ad_app_icon"
            android:layout_width="55dp"
            android:layout_height="55dp"
            android:layout_gravity="center_vertical"
            android:layout_marginLeft="16dp"
            android:scaleType="fitXY"
            tools:background="#FFFFFF" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:orientation="horizontal">

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="80dp"
                android:layout_marginRight="80dp"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/ad_headline"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:ellipsize="end"
                    android:lines="1"
                    android:maxLines="1"
                    android:textColor="#212121"
                    android:textSize="13sp"
                    tools:text="HeadlineHeadlineHeadlineH"/>

                <Space
                    android:layout_width="match_parent"
                    android:layout_height="3dp"/>

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="left"
                    android:orientation="horizontal">

                    <TextView
                        android:id="@+id/ad_attribution_small"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="#94CDC7"
                        android:text="Ad"
                        android:textColor="#FFFFFF"
                        android:textSize="14sp"
                        android:paddingRight="5dp"
                        android:paddingLeft="5dp"/>

                    <TextView
                        android:id="@+id/ad_advertiser"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:paddingLeft="5dp"
                        android:textColor="#808080"
                        android:textSize="13sp"
                        android:textStyle="bold"
                        tools:text="AdvertiserAdvertiserAdver"/>

                </LinearLayout>
            </LinearLayout>
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="right"
            android:orientation="horizontal">

            <Button
                android:id="@+id/ad_call_to_action"
                android:layout_width="60dp"
                android:layout_height="38dp"
                android:layout_gravity="center_vertical"
                android:layout_marginRight="16dp"
                android:background="#808080"
                android:textColor="#FFFFFF"
                android:textSize="13sp"
                android:scaleType="fitXY"
                tools:text="Open"/>

        </LinearLayout>
    </FrameLayout>

</com.google.android.gms.ads.nativead.NativeAdView>


修正後

XML
<TextView
    android:id="@+id/ad_advertiser"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingLeft="5dp"
    android:ellipsize="end"
    android:lines="1"
    android:maxLines="1"
    android:textColor="#808080"
    android:textSize="13sp"
    android:textStyle="bold"
    tools:text="AdvertiserAdvertiserAdver"/>

 

コメント

タイトルとURLをコピーしました