跳到主要内容

三、API说明

3.1 TAdRequestBody​

方法名称方法介绍
TAdRequestBody.AdRequestBodyBuild().build()通过该方法创建TAdRequestBody对象

3.2 TAdRequestBody.AdRequestBodyBuild​

方法名称方法介绍
setAdListener(TAdListener adListener)广告请求过程中涉及的回调

3.3 TAdListener​

方法名称方法介绍
onLoad()广告数据加载完成还未展示,此回调方法适用于所有广告位
onError(TAdErrorCode errorCode)请求过程中发生错误的回调,此回调方法适用于所有广告位
onShow(int source)Splash、Interstitial、Banner、Reward等类型广告展示成功回调
onShowError(TAdErrorCode errorCode)广告展示失败回调,此回调方法适用于所有广告位
onClicked(int source)Splash、Interstitial、Banner、Reward等类型广告点击回调
onClosed(int source)广告关闭回调,并不是所有广告都会唤起此方法
onRewarded()激励广告播放完毕
onNativeFeedShow(int source, @Nullable TAdNativeInfo nativeInfo)Native以及Icon类广告展示回调
onNativeFeedClicked(int source, @Nullable TAdNativeInfo nativeInfo)Native以及Icon类广告点击回调

3.4 TBannerView​

方法名称方法介绍
TBannerView(Context context)构造方法
loadAd()开始请求广告,在设置的等待时间内返回最优广告
setAdSize()设置banner广告大小
setCustomSizeForYandexAndLiftoff(int widthDp, int heightDp)广告源Liftoff (Vungle)、Yandex 支持设置banner广告的宽高,单位:dp。具体请参考示例
setAdUnitId()设置广告位id
destroy()释放广告资源
setRequestBody(TAdRequestBody requestBody)设置广告请求步骤监听,方法请参照TAdRequestBody类
enterScene(String sceneId, int adCount)在到达广告场景时可以优先调用,返回一个String类型的sceneToken,在展示时传入。我们会根据此方法来更好的展示广告
setContainVulgarContent(boolean isContainVulgarContent)设置宿主当前需要展示广告的场景是否含有敏感内容,请求广告时会过滤不能在该场景展示的广告
setCloseDirectlyWithoutJumping(boolean isCloseDirectly)广告源Hisavana SSP Banner广告点击关闭按钮直接关闭不跳转

3.5 TInterstitialAd​

方法名称方法介绍
TInterstitialAd(Context mContext, String slotId)构造方法
setRequestBody(TAdRequestBody tAdRequestBody)设置广告请求体,方法请参照TAdRequestBody类
loadAd()开始请求广告,在设置的等待时间内返回最优广告
show(Activity activity, String sceneToken)展示广告
destroy()释放广告资源
hasAd()判断当前是否有可用广告
enterScene(String sceneId, int adCount)在到达广告场景时可以优先调用,返回一个String类型的sceneToken,在展示时传入。我们会根据此方法来更好的展示广告
setContainVulgarContent(boolean isContainVulgarContent)设置宿主当前需要展示广告的场景是否含有敏感内容,请求广告时会过滤不能在该场景展示的广告

3.6 TSplashAd​

方法名称方法介绍
TSplashAd(Context mContext, String slotId)构造方法
setRequestBody(TAdRequestBody tAdRequestBody)设置广告请求体,方法请参照TAdRequestBody类
loadAd()开始请求广告,在设置的等待时间内返回最优广告
showAd(TSplashView tSplashView)展示广告
showAd(TSplashView tSplashView, String sceneToken)展示广告(带场景标记)
showAd(TSplashView tSplashView, View logoLayout)展示广告(带Logo布局)
showAd(TSplashView tSplashView, View logoLayout, String sceneToken)展示广告(带Logo布局和场景标记)
destroy()释放广告资源
hasAd()判断当前是否有可用广告
enterScene(String sceneId, int adCount)在到达广告场景时可以优先调用,返回一个String类型的sceneToken,在展示时传入。我们会根据此方法来更好的展示广告
setContainVulgarContent(boolean isContainVulgarContent)设置宿主当前需要展示广告的场景是否含有敏感内容,请求广告时会过滤不能在该场景展示的广告
setOnlySourceAdx(String appId, boolean athenaDebug)广告源Hisavana SSP 表示快速填充展示开屏广告,需配合代码位配置填充时长fillTimeoutDuration=0ms使用
setLogoLayoutHeightRatio(Float logoLayoutHeightRatio)广告源Hisavana SSP、Mintegral 自行设定logo高度比,范围0.1~0.2,默认0.2

3.7 TNativeAd​

方法名称方法介绍
TNativeAd(Context mContext, String slotId)构造方法
setRequestBody(TAdRequestBody tAdRequestBody)设置广告请求体,方法请参照TAdRequestBody类
loadAd()开始请求广告在设置的等待时间内返回最优广告
bindNativeView(TAdNativeView nativeView, TAdNativeInfo nativeInfo, ViewBinder b, String sceneToken)注册view的交互事件,建议使用ViewBinder方式,不建议直接使用该方式。sceneToken为enterScene()返回值,不传时使用无sceneToken重载
bindNativeView(TAdNativeView nativeView, TAdNativeInfo nativeInfo, ViewBinder b)注册view的交互事件(不带场景标记),其它同上
destroy()释放广告资源
hasAd()判断当前是否有可用广告
enterScene(String sceneId, int adCount)在到达广告场景时可以优先调用,返回一个String类型的sceneToken,在展示时传入。我们会根据此方法来更好的展示广告
getNativeAdInfo()获取Native广告,返回一个List
getNativeInfoSize()获取当前可用的广告的数量
setAdmobMediaAspectRatio(int admobMediaAspectRatio)admob原生广告素材比例设置:
NATIVE_MEDIA_ASPECT_RATIO_UNKNOWN = 0;(默认值)
NATIVE_MEDIA_ASPECT_RATIO_ANY = 1;(任意比例)
NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE = 2;(横向比例)
NATIVE_MEDIA_ASPECT_RATIO_PORTRAIT = 3;(纵向比例)
NATIVE_MEDIA_ASPECT_RATIO_SQUARE = 4;(方形比例)
setContainVulgarContent(boolean isContainVulgarContent)设置宿主当前需要展示广告的场景是否含有敏感内容,请求广告时会过滤不能在该场景展示的广告

3.8 TAdNativeInfo​

方法名称方法介绍
getTitle()获取标题
getDescription()获取广告描述
getAdCallToAction()获取按钮文案
getPackageName()获取下载类广告的包名
getPullNewestLive()0 非拉新拉活(普通广告),1 代表拉新和拉活,2拉新,3拉活,4:H5游戏
isMatchVulgarBrand()判断当前广告是否匹配上了过滤规则。true:不建议在含有敏感内容场景展示,false:可以展示
getAdFormat()返回值:2为原生任务类型广告,非2为普通类型广告
destroyAd释放内存(每一个已经展示过的TAdNativeInfo在退出页面需要调用该方法)

3.9 TAdNativeView​

方法名称方法介绍
TAdNativeView(Context context)构造方法
release()释放内存

3.10 ViewBinder​

方法名称方法介绍
titleId(int titleId)标题
descriptionId(int bodyId)描述
iconId(int iconId)图标
mediaId(int mediaId)主图
sponsoredId(int sponsoredId)年龄限制标签
ratingId(int ratingId)评分
priceId(int priceId)价格
sourceSizeId(int sourceSizeId)下载包的大小,字段格式为 x.xMB 或 x.xGB
adChoicesView(int adChoicesView)广告标识
adCloseView(int adCloseView)关闭按钮
storeMarkView(int storeMarkView)应用商店图标
domainView(int domainId)域名
feedbackView(int feedbackId)菜单图标
adBadgeView(int adBadgeView)广告AD角标,推荐适配RU(俄罗斯)广告合规的媒体
adDisclaimerView(int adDisclaimerView)广告免责声明,推荐适配RU(俄罗斯)广告合规的媒体
callToActionId(int callToActionId)绑定 CallToAction View
actionIds(Integer... ids)给views设置注册点击事件
build()构建ViewBinder
contextMode(NativeContextMode mode)设置Native广告使用场景:NativeContextMode.LIST(RecyclerView等列表场景)、NativeContextMode.NORMAL(其它场景,默认值)
ViewBinder(ViewBinder.Builder builder)私有构造方法,通过ViewBinder.Builder构造ViewBinder对象

3.11 TRewardedAd​

方法名称方法介绍
TRewardedAd(Context mContext, String slotId)构造方法
setRequestBody(TAdRequestBody body)设置广告请求体,方法请参照TAdRequestBody类
loadAd()开始请求广告在设置的等待时间内返回最优广告
show(Activity activity)展示广告
show(Activity activity, String sceneToken)展示广告
hasAd()判断当前是否有可用广告
enterScene(String sceneId, int adCount)在到达广告场景时可以优先调用,返回一个String类型的sceneToken,在展示时传入。我们会根据此方法来更好的展示广告
destroy()释放广告资源
setContainVulgarContent(boolean isContainVulgarContent)设置宿主当前需要展示广告的场景是否含有敏感内容,请求广告时会过滤不能在该场景展示的广告

3.12 TAdManager​

方法名称方法介绍
setUserConsent(boolean userConsent)Applovin、InMobi、IronSource、Liftoff(Vungle)、Mintegral、Pangle、Yandex可配置GDPR(通用数据保护条例);"true"值表示用户同意存储和处理个人信息,"false"值表示不同意
setAgeRestrictedUser(boolean ageRestrictedUser)InMobi、IronSource、Liftoff(Vungle)、Mintegral、Pangle、Yandex、Bigo可配置COPPA(儿童在线隐私保护法);"true"值表示该用户是13岁以下儿童,"false"值表示该用户不是13岁以下儿童。默认情况下,假定用户不是 13 岁以下的儿童

3.13 MediationJsBridge​

功能:赋予JS调用原生级的广告聚合能力

webView.getSettings().setCacheMode(LOAD_NORMAL);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setJavaScriptEnabled(true); // 设置与JS交互的权限
webView.addJavascriptInterface(new MediationJsBridge(webView), MediationJsBridge.INTERFACE_NAME);

说明:设置安卓与JS交互功能

webView.setWebViewClient(new WebViewClient() {

@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
String url = request.getUrl().toString();
// 资源拦截
WebResourceResponse resourceResponse = mediationJsBridge.shouldInterceptRequest(url);
if (resourceResponse != null) {
return resourceResponse;
}
return super.shouldInterceptRequest(view, request);
}
});

说明:重写WebViewClient的shouldInterceptRequest方法做资源拦截。