HUAWEI Ads开屏广告

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:华为开发者联盟官网网络

小提示:您能找到这篇{HUAWEI Ads开屏广告}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的HUAWEI Ads开屏广告内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

< ">开屏广告

< ">开屏广告是一种在应用启动时且在应用主界面显示之前需要被展示的广告。

< ">< font-size: 18px;">添加开屏广告

< ">1.添加SplashView。

< ">在XML布局文件中添加SplashView。

< ">以下示例代码中展示了如何在XML布局文件中添加SplashView。

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout 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"

    tools:context=".SplashActivity">

 

    <!-- 开屏广告Logo区域 -->

    <RelativeLayout

        android:id="@+id/logo_area"

        android:layout_width="match_parent"

        android:layout_height="100dp"

        android:layout_alignParentBottom="true"

        android:background="@android:color/white"

        android:visibility="visible">

        <LinearLayout

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_alignParentBottom="true"

            android:layout_centerHorizontal="true"

            android:layout_marginBottom="40dp"

            android:orientation="vertical">

            <LinearLayout

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_gravity="center"

                android:layout_marginBottom="6dp"

                android:gravity="center"

                android:orientation="horizontal">

                <ImageView

                    android:layout_width="28dp"

                    android:layout_height="28dp"

                    android:background="@mipmap/ic_launcher" />

                <View

                    android:layout_width="0.5dp"

                    android:layout_height="18dp"

                    android:layout_marginLeft="12dp"

                    android:layout_marginRight="12dp"

                    android:alpha="0.1"

                    android:background="@android:color/black" />

                <TextView

                    android:layout_width="wrap_content"

                    android:layout_height="wrap_content"

                    android:alpha="1"

                    android:text="@string/owner"

                    android:textColor="@android:color/black"

                    android:textSize="16sp" />

            </LinearLayout>

            <TextView

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_gravity="center"



                android:alpha="0.5"

                android:text="@string/copyright_info"

                android:textColor="@android:color/black"

                android:textSize="8sp" />

        </LinearLayout>

    </RelativeLayout>

 

    <!-- 开屏广告视图 -->

    <com.huawei.hms.ads.splash.SplashView

        android:id="@+id/splash_ad_view"

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:layout_above="@id/logo" />

</RelativeLayout>

< ">< background-color: rgb(255, 255, 255);">说明

您需要配置在Logo区域中配置对应的应用图标、应用名称和版权信息。

以下示例代码展示了如何获取SplashView。

SplashView splashView=findViewById(R.id.splash_ad_view);

< ">2.修改应用默认启动页面。

< ">开屏广告是在应用主界面显示之前被展示,所以需修改应用默认启动页面。

< ">修改AndroidManifest.xml,将默认启动的activity修改为SplashActivity,这样即可在应用主界面加载前展示开屏广告。

< ">修改后的内容示例如下:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.huawei.hms.ads.sdk">

    <application

        android:allowBackup="true"

        android:icon="@mipmap/ic_launcher"

        android:label="@string/app_name"

        android:roundIcon="@mipmap/ic_launcher_round"

        android:supportsRtl="true"

        android:theme="@style/AppTheme">

        <activity

            android:name=".MainActivity"

            android:exported="false"

      &nbs网络营销有哪些方法p;     android:screenOrientation="portrait">

        </activity>

        <activity

            android:name=".SplashActivity"

            android:exported="false"

            android:screenOrientation="portrait">

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

        ...

    </application>

</manifest>

创建SplashActivity.java类,用于实现开屏广告获取和展示。

...

import android.os.Build;

import androidx.appcompat.app.AppCompatActivity;

 

public class SplashActivity extends AppCompatActivity {

    // "testq6zq98hecj"为专用的测试广告位ID, App正式发布时需要改为正式的广告位ID

    private static final String AD_ID = "testq6zq98hecj";

    private static final int AD_TIMEOUT = 5000;

    private static final int MSG_AD_TIMEOUT = 1001;

 

    /**

* 暂停标志位。

* 在开屏广告页面展示时:

* 按返回键退出应用时需设置为true,以确保应用主界面不被拉起;

* 切换至其他界面时需设置为false,以确保从其他页面回到开屏广告页面时仍然可以正常跳转至应用主界面;

*/

    private boolean hasPaused = false;

 

    // 收到广告展示超时消息时的回调处理

    private Handler timeoutHandler = new Handler(new Handler.Callback() {

        @Override

        public boolean handleMessage(@NonNull Message msg) {

            if (SplashActivity.this.hasWindowFocus()) {

                jump();

            }

            return false;

        }

    });

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_splash);

        // 获取并展示开屏广告

        loadAd();

    }

    /**

* 广告展示完毕时,从广告界面跳转至App主界面

*/

    private void jump() {

        if (!hasPaused) {

            hasPaused = true;

            startActivity(new Intent(SplashActivity.this, MainActivity.class));

            finish();

        }

    }

    /**

* 按返回键退出应用时需设置为true,以确保应用主界面不被拉起

*/

    @Override

    protected void onStop() {

        // 移除消息队列中等待的超时消息

        timeoutHandler.removeMessages(MSG_AD_TIMEOUT);

        hasPaused = true;

        super.onStop();

    }

    /**

* 从其他页面回到开屏页面时调用,进入应用主界面

*/

    @Override

    protected void onRestart() {

        super.onRestart();

        hasPaused = false;

        jump();

    }

    @Override

    protected void onDestroy() {

        super.onDestroy();

    }

}

< ">3.获取广告。

< ">SplashView创建好之后,通过SplashView类的load()方法来获取广告。

< ">示例代码如下:

private void loadAd() {

    int orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;

    AdParam adParam = new AdParam.Builder().build();

    SplashView.SplashAdLoadListener splashAdLoadListener = new SplashView.SplashAdLoadListener() {

        @Override

        public void onAdLoaded() {

            // 广告获取成功时调用

            ...

        }

        @Override

        public void onAdFailedToLoad(int errorCode) {

            // 广告获取失败时调用, 跳转至App主界面

            jump();

        }

        @Override

        public void onAdDismissed() {

            // 广告展示完毕时调用, 跳转至App主界面



            jump();

        }

    };

    // 获取SplashView

    SplashView splashView = findViewById(R.id.splash_ad_view);

    // 设置默认Slogan

    splashView.setSloganResId(R.drawable.default_slogan);

    // 设置视频类开屏广告的音频焦点类型

    splashView.setAudioFocusType(AudioFocusType.NOT_GAIN_AUDIO_FOCUS_WHEN_MUTE);

    // 获取广告,其中AD_ID为广告位ID

    splashView.load(AD_ID, orientation, adParam, splashAdLoadListener);

    // 发送延时消息,保证广告显示超时后,APP首页可以正常显示

    timeoutHandler.removeMessages(MSG_AD_TIMEOUT);

    timeoutHandler.sendEmptyMessageDelayed(MSG_AD_TIMEOUT, AD_TIMEOUT);

}

< ">说明

< ">您需要为App设计一张开屏默认Slogan图片,确保在未获得到开屏广告之前展示默认Slogan,提供良好的用户体验。

< ">4.(可选电商运营岗位的要求)监听广告事件。

< ">通过实现SplashAdDisplayListener类中的方法来监听广告展示类事件。了解详细方法,请参见API文档中的SplashAdDisplayListener类。

SplashAdDisplayListener adDisplayListener = new SplashAdDisplayListener() {

    @Override

    public void onAdShowed() {

        // 广告显示时调用

        ...

    }

    @Override

    public void onAdClick() {

        // 广告被点击时调用

        ...

    }

};

splashView.setAdDisplayListener(adDisplayListener);

< ">< font-size: 18px;">测试开屏广告

< ">测试开屏广告时,需要使用专门的测试广告位ID来获取测试广告,以避免在测试过程中产生无效的广告点击量。测试广告位ID仅作为功能调试使用,不可用于广告变现。您需要在应用发布前申请正式的广告位ID,并替换测试广告位ID。

< ">以下表格中提供了开屏广告的专用测试广告位ID:

< ">下载开屏广告的示例代码并运行,可以看到如下效果图:

< ">另外您也可以通过学习Codelab中的教程来集成开屏广告。


HUAWEI Ads开屏广告

上一篇:Akamai:游戏出海,安全和体验先行
下一篇:HUAWEI Ads贴片广告


版权声明:以上主题为“HUAWEI Ads开屏广告"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    HUAWEI Ads开屏广告
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“HUAWEI Ads开屏广告”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通HUAWEI Ads开屏广告的相关事宜。

关键词:HUAWEI Ads开屏广告,HUAWEI A

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号