Android接入腾讯广告平台广点通

广点通文档
不知道注册成功之后是不是有更详细的文档,暂未知, 我自己注册的还未通过
找到的教程
这个有点过时, 里面一些用法跟我现在的不一样, 不过很详细

1 jar包

我的jar包版本为GDTUnionSDK.4.18.569.min.jar, 应该是注册后从官网下载的

2 权限

"android.permission.INTERNET" />
"android.permission.ACCESS_NETWORK_STATE" />
"android.permission.ACCESS_WIFI_STATE" />
"android.permission.READ_PHONE_STATE" />
"android.permission.ACCESS_COARSE_LOCATION" />
"android.permission.ACCESS_COARSE_UPDATES" />
"android.permission.WRITE_EXTERNAL_STORAGE" />
复制代码

3 Manifest

"com.qq.e.ads.ADActivity"
    android:configChanges="keyboard|keyboardHidden|orientation|screenSize" />
"com.qq.e.comm.DownloadService"
    android:exported="false" />
复制代码

我们之前的老项目没有加这两个, 但是广告正常显示, 迁移到新项目后无法显示, 加上这两个就正常了

MultiProcessFlag.setMultiProcess(true)
复制代码

这个我也不知道干嘛的

4 开屏广告

new SplashAD(options.mActivity, options.mViewGroup, options.mView, options.mAppId, options.mAdId,
       new SplashADListener() {
           @Override
           public void onADDismissed() {
               listener.onADDismissed();
           }

           @Override
           public void onNoAD(AdError error) {
               listener.onNoAD(new AdError(error.getErrorCode(), "GDT"+error.getErrorMsg()));
           }

           @Override
           public void onADPresent() {
               listener.onADPresent();
           }

           @Override
           public void onADClicked() {
               LogUtil.e("onADClicked");
           }

           @Override
           public void onADTick(long l) {
               listener.onADTick(l);
           }

           @Override
           public void onADExposure() {
               listener.onADExposure();
           }
       }, options.mShowTime);
复制代码
  • 参数1: 当前activity
  • 参数2: 广告容器,我们用的FramLayout
  • 参数3: 跳过按钮
  • 参数4,5: appidadid //后台创建应用时生成
  • 参数6: 结果回调
  • 参数7: 广告展示时间(单位毫秒)

5 原生广告

private NativeExpressAD mAd;
private NativeExpressADView mAdView;
mAd = new NativeExpressAD(options.mActivity, new ADSize(ADSize.FULL_WIDTH, ADSize.AUTO_HEIGHT),
        options.mAppId, options.mAdId, new NativeExpressAD.NativeExpressADListener() {

    @Override
    public void onNoAD(AdError error) {
        listener.onNoAD(new com.qmsh.adlibrary.common.AdError(error.getErrorCode(), error.getErrorMsg()));
    }

    @Override
    public void onADLoaded(List list) {
        LogUtil.e("onADLoaded");
        if (list == null || list.size() <= 0) {
            listener.onNoAD(new com.qmsh.adlibrary.common.AdError(0, "没返回广告"));
            return;
        }
        if (mAdView != null) {
            mAdView.destroy();
        }
        mAdView = list.get(0);
        // 广告可见才会产生曝光,否则将无法产生收益。
        options.mViewGroup.removeAllViews();
        options.mViewGroup.addView(mAdView);
        mAdView.render();
    }

    @Override
    public void onRenderFail(NativeExpressADView nativeExpressADView) {
        LogUtil.e("onRenderFail");
    }

    @Override
    public void onRenderSuccess(NativeExpressADView nativeExpressADView) {
        LogUtil.e("onRenderSuccess");
    }

    @Override
    public void onADExposure(NativeExpressADView nativeExpressADView) {
        listener.onADExposure();
    }

    @Override
    public void onADClicked(NativeExpressADView nativeExpressADView) {
        LogUtil.e("onADClicked");
    }

    @Override
    public void onADClosed(NativeExpressADView nativeExpressADView) {
        LogUtil.e("onADClosed");
        if (mAd != null) {
            mAd.loadAD(1);
        }
    }

    @Override
    public void onADLeftApplication(NativeExpressADView nativeExpressADView) {
        LogUtil.e("onADLeftApplication");
    }

    @Override
    public void onADOpenOverlay(NativeExpressADView nativeExpressADView) {
        LogUtil.e("onADOpenOverlay");
    }

    @Override
    public void onADCloseOverlay(NativeExpressADView nativeExpressADView) {
        LogUtil.e("onADCloseOverlay");
    }
});
// 注意:如果您在联盟平台上新建原生模板广告位时,选择了“是”支持视频,那么可以进行个性化设置(可选)
if (options.isVideo) //是否是视频由后台返回
    mAd.setVideoOption(new VideoOption.Builder()
    .setAutoPlayPolicy(VideoOption.AutoPlayPolicy.WIFI)//WIFI环境下可以自动播放视频
    .setAutoPlayMuted(true) // 自动播放时为静音
    .build());
mAd.loadAD(1); //一次拉取的广告条数:范围1-30
复制代码
  • 参数1: 当前activity
  • 参数2: 广告位大小
  • 参数3,4: appidadid
  • 参数5: 结果回调

Option配置

这个是我们自己创建的类, 方便封装广告参数

public class AdLoadOptions {
    @NonNull
    public Activity mActivity;
    @NonNull
    public String mAppId;//应用id
    @NonNull
    public String mAdId;//广告id
    @NonNull
    public ViewGroup mViewGroup;//装载广告的容器
    public int mShowTime = 5000;//显示时间(默认5s)
    public boolean isVideo;//是否是视频广告
    public View mView;   //腾讯广告用
    public Class mTargetClazz;//瑞狮开屏需要用到广告
}
复制代码

开屏广告布局样例

"1.0" encoding="utf-8"?>
"http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

    
        type="android.view.View"/>

        "onClick"
            type="android.view.View.OnClickListener" />

    

    "match_parent"
        android:layout_height="match_parent">

        "@+id/lyt_splash"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@android:color/white">

            "@+id/logo"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true" />

            "@+id/adv"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_above="@+id/logo" />


            "@+id/image"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_above="@+id/logo"
                android:onClick="@{onClick}"
                android:scaleType="centerCrop" />

            "@+id/btn_skip"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentRight="true"
                android:layout_marginBottom="26dp"
                android:layout_marginRight="20dp"
                android:onClick="@{onClick}"
                android:paddingBottom="2dp"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:paddingTop="2dp"
                android:text="跳过"
                android:textColor="#FF666666"
                android:textSize="@dimen/text_size_normal"
                app:btnCornerRadius="12dp"
                app:btnSolidColor="#fff"
                app:btnStrokeColor="#FFBEBEBE"
                app:btnStrokeWidth="1dp" />
        
    

复制代码

转载于:https://juejin.im/post/5c63bbaf5188252e46624b86

你可能感兴趣的:(Android接入腾讯广告平台广点通)