Android端穿山甲SDK集成 SDK接入 穿山甲平台上创建测试状态的应用ID和广告位ID (ps:测试集成完毕后再把应用及对应的代码位改成正
在res/xml目录下,新建一个xml文件file_paths,在该文件中添加如下代码:
为了适配下载和安装相关功能,在工程中引用的包 com.android.support:support-v4:24.2.0
使用24.2.0以及以上版本
NDK配置
注:可根据自己的需求进行导入
SDK中使用的so文件支持五种架构:x86,x86_64,armeabi,armeabi-v7a,arm64-v8a 如果您应用中支持的架构超出这 五种,请在build.gradle中使用abiFilters选择支持的架构。如下所示: ndk { // 设置支持的 SO 库构架,注意这里要根据你的实际情况来设置 abiFilters ‘armeabi-v7a’, ‘arm64-v8a’, ‘x86’, ‘x86_64’, ‘armeabi’ }
初始化SDK
在Application#onCreate()方法中调用以下代码来初始化穿山甲SDK。 SDK已支持多进程,如果明确某个进程不会使用到广告SDK,可以只针对特定进程初始化广告SDK
注:TTAdManagerHolder保证处于单例状态
private static TTAdConfig buildConfig(Context context) {
return new TTAdConfig.Builder()
.appId("5001121")
.useTextureView(true) //使用TextureView控件播放视频,默认为SurfaceView,当有SurfaceView冲突的场景,可以使用TextureView
.appName("APP测试媒体")
.titleBarTheme(TTAdConstant.TITLE_BAR_THEME_DARK)
.allowShowNotify(true) //是否允许sdk展示通知栏提示
.allowShowPageWhenScreenLock(true) //是否在锁屏场景支持展示广告落地页
.debug(true) //测试阶段打开,可以通过日志排查问题,上线时去除该调用
.directDownloadNetworkType(TTAdConstant.netWORK_STATE_WIFI, TTAdConstant.NETWORK_STATE_3G) //允许直接下载的网络状态集合
.supportMultiProcess(true)//是否支持多进程
.needClearTaskReset()
//.httpstack(new MyOkStack3())//自定义网络库,demo中给出了okHttp3版本的样例,其余请自行开发或者咨询工作人员。
.build();
}
appId是账号下申请的应用ID(ps:以5开头7位)
useTextureView有SurfaceView冲突的场景,可以使用TextureView(ps:如果出现黑屏注:加载和展示广告都需要放到主线程中
构建TTAdManager对象TTAdManager ttAdManager = TTAdManagerHolder.get();
申请部分权限 (建议每次广告对象加载之后都需要申请一次 ps:开屏视频不需要)
TTAdManagerHolder.get().requestPermissionIfNecessary(this);
创建TTAdNative对象(用于调用广告请求接口)
TTAdNative mTTAdNative = ttAdManager.createAdNative(getApplicationContext());
构建AdSlot对象
注:AdSlot中的参数一旦在代码中填写 会以代码中填写的为主
AdSlot adSlot = new AdSlot.Builder()
// 必选参数 设置您的CodeId
.setCodeId(“900486272")
// 必选参数 设置广告图片的最大尺寸及期望的图片宽高比,单位Px
// 注:必填字段,期望的图片尺寸,返回尺寸可能有差异
.setImageAcceptedSize(640, 320)
//模板广告需要设置期望个性化模板广告的大小,单位dp,代码位是否属于个性化模板广告,请在穿山甲平台查看
.setExpressViewAcceptedSize(expressViewWidth, expressViewHeight)
// 可选参数 设置是否支持deeplink
.setSupportDeepLink(true)
// 可选参数,针对信息流广告设置每次请求的广告返回个数,最多支持3个
.setAdCount(1)
//请求原生广告时候需要设置,参数为TYPE_BANNER或TYPE_INTERACTION_AD
.setNativeAdType(AdSlot.TYPE_BANNER)
//激励视频奖励的名称,针对激励视频参数
.setRewardName("金币")
//激励视频奖励个数
.setRewardAmount(3)
//用户ID,使用激励视频必传参数
//表来标识应用侧唯一用户;若非服务器回调模式或不需sdk透传,可设置为空字符串
.setUserID("user123")
//设置期望视频播放的方向,为TTAdConstant.HORIZONTAL或TTAdConstant.VERTICAL
.setOrientation(orientation)
//激励视频奖励透传参数,字符串,如果用JSON对象,必须使用序列化为String类型,可为空
.setMediaExtra("media_extra")
.build();
setCodeId是账号下申请的应用ID(ps:以9开头9位)
setImageAcceptedSize(单位px ps:开屏广告尺寸动态获取屏幕宽高)
setExpressViewAcceptedSize(单位dp ps:模板类型的广告可以填写 以代码中填写的为主 激励视频和全屏视频必须填写这个部分)
广告类型
注:模板和非模板代码位的区分
可根据截图部分在平台上查看创建的代码位是否是模板 使用不同的方法获取广告
原创文章 1获赞 2访问量 65
关注
私信
展开阅读全文
作者:Pink_ray
--结束END--
本文标题: Android端穿山甲SDK集成
本文链接: https://www.lsjlt.com/news/29840.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0