三、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) | 在到达广告场景时可以优先调用,返回一个String类型的sceneToken,在展示时传入。我们会根据此方法来更好的展示广告 |
| setContainVulgarContent(boolean isContainVulgarContent) | 设置宿主当前需要展示广告的场景是否含有敏感内容,请求广告时会过滤不能在该场景展示的广告 |
| setCloseDirectlyWithoutJumping(boolean isCloseDirectly) | 广告源Hisavana Banner广告点击关闭按钮直接关闭不跳转 |
3.5 TInterstitialAd
| 方法名称 | 方法介绍 |
|---|---|
| TInterstitialAd(Context mContext, String slotId) | 构造方法 |
| setRequestBody(TAdRequestBody tAdRequestBody) | 设置广告请求体,方法请参照TAdRequestBody类 |
| loadAd() | 开始请求广告,在设置的等待时间内返回最优广告 |
| show(Activity activity, String sceneToken) | 展示广告 |
| destroy() | 释放广告资源 |
| hasAd() | 判断当前是否有可用广告 |
| enterScene(String sceneId) | 在到达广告场景时可以优先调用,返回一个String类型的sceneToken,在展示时传入。我们会根据此方法来更好的展示广告 |
| setContainVulgarContent(boolean isContainVulgarContent) | 设置宿主当前需要展示广告的场景是否含有敏感内容,请求广告时会过滤不能在该场景展示的广告 |
3.6 TSplashAd
| 方法名称 | 方法介绍 |
|---|---|
| TSplashAd(Context mContext, String slotId) | 构造方法 |
| setRequestBody(TAdRequestBody tAdRequestBody) | 设置广告请求体,方法请参照TAdRequestBody类 |
| loadAd() | 开始请求广告,在设置的等待时间内返回最优广告 |
| show(TSplashView tSplashView, String sceneToken) | 展示广告 |
| destroy() | 释放广告资源 |
| hasAd() | 判断当前是否有可用广告 |
| enterScene(String sceneId) | 在到达广告场景时可以优先调用,返回一个String类型的sceneToken,在展示时传入。我们会根据此方法来更好的展示广告 |
| setContainVulgarContent(boolean isContainVulgarContent) | 设置宿主当前需要展示广告的场景是否含有敏感内容,请求广告时会过滤不能在该场景展示的广告 |
| setOnlySourceAdx(String appId, boolean athenaDebug) | 广告源Hisavana 表示快速填充展示开屏广告,需配合代码位配置填充时长fillTimeoutDuration=0ms使用 |
3.7 TNativeAd
| 方法名称 | 方法介绍 |
|---|---|
| TNativeAd(Context mContext, String slotId) | 构造方法 |
| setRequestBody(TAdRequestBody tAdRequestBody) | 设置广告请求体,方法请参照TAdRequestBody类 |
| loadAd() | 开始请求广告在设置的等待时间内返回最优广告 |
| bindNativeView(TAdNativeView nativeView, TAdNativeInfo nativeInfo, ViewBinder b, String sceneToken) | 注册view的交互事件, 建议使用ViewBinder方式替代,不建议直接使用该方式 |
| destroy() | 释放广告资源 |
| hasAd() | 判断当前是否有可用广告 |
| enterScene(String sceneId) | 在到达广告场景时可以优先调用,返回一个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) | 在RecyclerView中使用NativeContextMode.LIST,其它默认使用NativeContextMode.NORMAL |
| ViewBinder(ViewBindler.Builder builder) | 私有构造方法,通过ViewBindler.Builder构造ViewBinder对象 |
3.11 TRewardedAd
| 方法名称 | 方法介绍 |
|---|---|
| TRewardedAd(Context mContext, String slotId) | 构造方法 |
| setRequestBody(TAdRequestBody body) | 设置广告请求体,方法请参照TAdRequestBody类 |
| loadAd() | 开始请求广告在设置的等待时间内返回最优广告 |
| show(activity,sceneToken) | 展示广告 |
| hasAd() | 判断当前是否有可用广告 |
| enterScene(String sceneId) | 在到达广告场景时可以优先调用,返回一个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方法做资源拦截。