穿山甲广告安卓项目接入事项

1.下载sdk

2.将open_ad_sdk_6.9.0.6文件放入libs文件夹下(libs文件需手动创建)

1、2应该可以尝试不使用本地sdk直接引用仓库中的模块

3.在gradle文件中的

dependencies {}中

添加

implementation files('libs/open_ad_sdk_6.9.0.6.aar')
implementation fileTree(include: ['*.jar'], dir: 'libs')

4.初始化sdk

TTAdSdk.init(this, new TTAdConfig.Builder()
        .appId(APP_ID)
        .appName("AdTest")
        .useMediation(false)
        .titleBarTheme(TTAdConstant.TITLE_BAR_THEME_DARK)
        .allowShowNotify(true) // 是否允许sdk展示通知栏提示
        .debug(BuildConfig.DEBUG) // 测试阶段打开,可以通过日志排查问题
        .directDownloadNetworkType(TTAdConstant.NETWORK_STATE_WIFI) // 允许直接下载的网络状态集合
        .supportMultiProcess(false) // 是否支持多进程
        .build());
TTAdSdk.start(new TTAdSdk.Callback() {
    @Override
    public void success() {
        LogUtils.i("穿山甲sdk初始化成功");
        handler.sendEmptyMessage(99);
    }

    @Override
    public void fail(int code, String msg) {
        LogUtils.i("穿山甲sdk初始化失败");
    }
});

这里用到了 APP_ID 字符串为官网创建的应用的id,安卓项目接入穿山甲sdk需要提前在官网管理中心(应该是这个名字具体忘记了)>流量变现>应用>新建应用。这里如果没有企业资质可以先创建测试应用,然后在对应的应用管理栏最后面创建代码位。

 

这一步做完就可以拿到应用id 和代码位id。如果有企业资质认证的可以创建广告位,具体什么我也不懂,我没有企业资质使用的代码位id。

5.展示开屏广告代码

private void showAd() {
    // 加载并展示广告
    loadAndShowSplashAd();
}


private void loadAndShowSplashAd() {

    //个性化模板广告需要传入期望广告view的宽、高,单位dp,请传入实际需要的大小,
    //比如:广告下方拼接logo、适配刘海屏等,需要考虑实际广告大小
    float expressViewWidth = UIUtils.getScreenWidthDp(this);
    float expressViewHeight = UIUtils.getHeight(this);
    AdSlot adSlot = new AdSlot.Builder()
            .setCodeId(mCodeId)
            .setSupportDeepLink(true)
            .setImageAcceptedSize(1080, 1920)
            //模板广告需要设置期望个性化模板广告的大小,单位dp,代码位是否属于个性化模板广告,请在穿山甲平台查看
            .setExpressViewAcceptedSize(expressViewWidth, expressViewHeight)
            .build();

    /** 2、创建TTAdNative对象 */
    TTAdNative adNativeLoader = TTAdSdk.getAdManager().createAdNative(this);

    /** 3、创建加载、展示监听器 */
    initListeners();

    /** 4、加载广告 */
    adNativeLoader.loadSplashAd(adSlot, mCSJSplashAdListener, 3500);
}

private void initListeners() {
    this.mCSJSplashAdListener = new TTAdNative.CSJSplashAdListener() {
        @Override
        public void onSplashRenderSuccess(CSJSplashAd csjSplashAd) {
            /** 5、渲染成功后,展示广告 */
            csjSplashAd.setSplashAdListener(mCSJSplashInteractionListener);
            View splashView = csjSplashAd.getSplashView();
            UIUtils.removeFromParent(splashView);
            binding.mSplashContainer.removeAllViews();
            binding.mSplashContainer.addView(splashView);
        }

        @Override
        public void onSplashLoadSuccess(CSJSplashAd csjSplashAd) {
            LogUtils.i("splash load success");
        }

        @Override
        public void onSplashLoadFail(CSJAdError csjAdError) {
            LogUtils.i("splash load fail, errCode: " + csjAdError.getCode() + ", errMsg: " + csjAdError.getMsg());
        }

        @Override
        public void onSplashRenderFail(CSJSplashAd csjSplashAd, CSJAdError csjAdError) {
            LogUtils.i("splash render fail, errCode: " + csjAdError.getCode() + ", errMsg: " + csjAdError.getMsg());
        }
    };
    this.mCSJSplashInteractionListener = new CSJSplashAd.SplashAdListener() {
        @Override
        public void onSplashAdShow(CSJSplashAd csjSplashAd) {
            LogUtils.i("splash show");
        }

        @Override
        public void onSplashAdClick(CSJSplashAd csjSplashAd) {
            LogUtils.i("splash click");
        }

        @Override
        public void onSplashAdClose(CSJSplashAd csjSplashAd, int i) {
            LogUtils.i("splash close");
            finish();
        }
    };
}

这些代码是官方文档的示例代码,主要有几个坑要说明。(上面的代码只进行了展示跳转主页面逻辑没有完成)

坑:

1.官方的示例代码会用到他自己的一些帮助类 ,所以最好下载官方sdk ,他这个压缩包中存放的有sdk文件和他们的demo项目,项目中有示例代码(这个不重要)和帮助类

2.我在创建完整个项目后遇到加载素材失败,错误代码 2 。问了客服后是manifest.xml文件中的application标签中要把

android:usesCleartextTraffic="true"(我的本身就没有)这个去掉同时加入
android:networkSecurityConfig="@xml/network_config"

network_config这个文件本身是没有的要从官方的sdk 的demo中自己提取,另外在manifest.xml中也要按照官方的说明文档填好权限声明和

<!-- 穿山甲 start================== -->
<provider
    android:name="com.bytedance.sdk.openadsdk.TTFileProvider"
    android:authorities="${applicationId}.TTFileProvider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/file_paths" />
</provider>

<provider
    android:name="com.bytedance.sdk.openadsdk.multipro.TTMultiProvider"
    android:authorities="${applicationId}.TTMultiProvider"
    android:exported="false" />
<!-- 穿山甲 end================== -->这些代码。 本来这个不想写的,我怕泄漏后面自己看的时候忘记(这些代码在官方的文档中SDK集成与工程配置下)

最后添加个官方的连接

帮助文档(里面有配置文档和错误代码的文档,最好从头看一遍)

​​​​​​错误码列表-穿山甲错误码说明详解-常见问题接入指南说明-开发测试-穿山甲广告平台

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值