三、API说明
3.1 AdListener
| 方法名称 | 方法介绍 |
|---|---|
| onAdLoaded() | 广告加载完成回调,适用于Splash、Interstitial、Banner、Reward广告 |
| onAdLoaded(List<TaNativeInfo> adInfos) | 广告加载完成回调,适用于Native、Icon广告 |
| onError(TaErrorCode taErrorCode) | 请求广告或广告填充过程中发生错误的回调 |
| onAdShow() | 广告展示成功回调,适用于Splash、Interstitial、Banner、Reward广告 |
| onNativeAdShow(TaNativeInfo taNativeInfo) | 广告展示成功回调,适用于Native、Icon广告 |
| onAdShowError(TaErrorCode adError) | 广告展示失败回调,适用于Splash、Interstitial、Reward广告 |
| onAdClicked() | 广告点击回调,适用于Splash、Interstitial、Banner、Reward广告 |
| onNativeAdClick(TaNativeInfo taNativeInfo) | 广告点击回调,适用于Native、Icon广告 |
| onAdClosed() | 广告个性化关闭回调,适用于Interstitial、Splash广告 |
| onAdClosed(TBannerView bannerView) | 广告个性化关闭回调,适用于Banner广告 |
| onAdClosed(TaNativeInfo taNativeInfo) | 广告个性化关闭回调,适用于Native、Icon广告 |
| onTimeOut() | 广告加载超时 |
3.2 TBannerView
| 方法名称 | 方法介绍 |
|---|---|
| TBannerView(Context context, String placementId) | 构造方法 |
| TBannerView(Context context, AttributeSet attrs) | 构造方法 |
| TBannerView(Context context, AttributeSet attrs, int defStyleAttr) | 构造方法 |
| setPlacementId(String placementId) | 设置广告位id |
| setListener(AdListener listener) | 设置广告请求步骤监听 |
| loadAd() | 开始请求广告 |
| show() | 展示广告 |
| destroy() | 释放广告资源 |
| setAdLoadScenes(@Nullable String gameName, @Nullable String gameScene, @Nullable Map<String,Object> extInfo) | (Aha 平台专用)设置广告加载场景。gameName:对应游戏的appKey;gameScene:对应游戏场景;extInfo:媒体的自定义信息(可不传)。在请求广告前调用 |
| getGameName() | 获取游戏名称 |
| getGameScene() | 获取游戏场景 |
| getExtInfo() | 获取自定义参数 |
| isOfflineAd() | 是否是离线广告 |
| getAdSource() | 获取广告源 |
| isReady() | 广告是否准备好。true:表示广告加载成功且广告处于投放期内,此状态时可以调用 show() 方法来展示广告;false:表示广告还没准备完成。 |
| isAdValid() | 广告是否处于投放期内。建议:请尽快使用isReady()代替,该方法将在后续版本移除。 |
| getFillAdType() | 获取填充的广告类型。1:离线广告, 0:在线广告,-1:无填充 |
| setRequest(AdRequest aRequest) | 设置广告请求实体 |
| getRequest() | 获取广告请求实体 |
| setHideAdCloseView(boolean isHideAdCloseView) | 设置是否隐藏广告关闭按钮 |
| setCurrActivityFullscreen(boolean isCurrActivityFullscreen) | 当前展示Activity是否时全屏模式 |
| setDefaultFillTimeoutDuration(int defaultFillTimeoutDuration) | 设置当前请求广告的默认填充时长,当云控下发了时长以云控配置的为准 |
| setContainVulgarContent(boolean isContainVulgarContent) | 设置宿主当前需要展示广告的场景是否含有敏感内容,如果含有则部分品牌类广告不填充 |
| isMatchVulgarBrand() | 广告请求成功后,判断当前广告是否匹配上了过滤规则。true:不建议在含有敏感内容场景展示,false:可以展示 |
| setCloseDirectlyWithoutJumping(boolean isCloseDirectly) | Banner广告点击关闭按钮直接关闭不跳转 |
3.3 TInterstitial
| 方法名称 | 方法介绍 |
|---|---|
| TInterstitial(String placementId) | 构造方法 |
| setPlacementId(String placementId) | 设置广告位id |
| setListener(AdListener listener) | 设置广告请求步骤监听 |
| loadAd() | 开始请求广告 |
| show() | 展示广告 |
| destroy() | 释放广告资源 |
| setAdLoadScenes(@Nullable String gameName, @Nullable String gameScene, @Nullable Map<String,Object> extInfo) | (Aha 平台专用)设置广告加载场景。gameName:对应游戏的appKey;gameScene:对应游戏场景;extInfo:媒体的自定义信息(可不传)。在请求广告前调用 |
| getGameName() | 获取游戏名称 |
| getGameScene() | 获取游戏场景 |
| getExtInfo() | 获取自定义参数 |
| isOfflineAd() | 是否是离线广告 |
| getAdSource() | 获取广告源 |
| getFillAdType() | 获取填充的广告类型。1:离线广告, 0:在线广告,-1:无填充 |
| isReady() | 广告是否准备好。true:表示广告加载成功且广告处于投放期内,此状态时可以调用 show() 方法来展示广告;false:表示广告还没准备完成。 |
| isAdValid() | 广告是否处于投放期内。建议:请尽快使用isReady()代替,该方法将在后续版本移除。 |
| setRequest(AdRequest aRequest) | 设置广告请求实体 |
| getRequest() | 获取广告请求实体 |
| setCurrActivityFullscreen(boolean isCurrActivityFullscreen) | 当前展示Activity是否时全屏模式 |
| setDefaultFillTimeoutDuration(int defaultFillTimeoutDuration) | 设置当前请求广告的默认填充时长,当云控下发了时长以云控配置的为准 |
| setContainVulgarContent(boolean isContainVulgarContent) | 设置宿主当前需要展示广告的场景是否含有敏感内容,如果含有则部分品牌类广告不填充 |
| isMatchVulgarBrand() | 广告请求成功后,判断当前广告是否匹配上了过滤规则。true:不建议在含有敏感内容场景展示,false:可以展示 |
3.4 TSplash
| 方法名称 | 方法介绍 |
|---|---|
| TSplash(Context context, String placementId) | 构造方法 |
| setPlacementId(String placementId) | 设置广告位id |
| setListener(AdListener listener) | 设置广告请求步骤监听 |
| setSkipListener(OnSkipListener listener) | 设置点击跳过的监听 |
| loadAd() | 开始请求广告 |
| show() | 展示广告 |
| destroy() | 释放广告资源 |
| isDestroy() | 是否已经销毁 |
| setLogoLayout(View logoView) | 设置需要展示的logo |
| setAdLoadScenes(@Nullable String gameName, @Nullable String gameScene, @Nullable Map<String,Object> extInfo) | (Aha 平台专用)设置广告加载场景。gameName:对应游戏的appKey;gameScene:对应游戏场景;extInfo:媒体的自定义信息(可不传)。在请求广告前调用 |
| getGameName() | 获取游戏名称 |
| getGameScene() | 获取游戏场景 |
| getExtInfo() | 获取自定义参数 |
| isOfflineAd() | 是否是离线广告 |
| getAdSource() | 获取广告源 |
| getFillAdType() | 获取填充的广告类型。1:离线广告, 0:在线广告,-1:无填充 |
| isReady() | 广告是否准备好。true:表示广告加载成功且广告处于投放期内,此状态时可以调用 show() 方法来展示广告;false:表示广告还没准备完成。 |
| isAdValid() | 广告是否处于投放期内。建议:请尽快使用isReady()代替,该方法将在后续版本移除。 |
| setRequest(AdRequest aRequest) | 设置广告请求实体 |
| getRequest() | 获取广告请求实体 |
| setCurrActivityFullscreen(boolean isCurrActivityFullscreen) | 当前展示Activity是否时全屏模式 |
| setDefaultFillTimeoutDuration(int defaultFillTimeoutDuration) | 设置当前请求广告的默认填充时长,当云控下发了时长以云控配置的为准 |
| setContainVulgarContent(boolean isContainVulgarContent) | 设置宿主当前需要展示广告的场景是否含有敏感内容,如果含有则部分品牌类广告不填充 |
| isMatchVulgarBrand() | 广告请求成功后,判断当前广告是否匹配上了过滤规则。true:不建议在含有敏感内容场景展示,false:可以展示 |
| setEnableFullscreen(boolean value) | Activity模式的开屏支持全屏样式,隐藏状态栏和导航栏。默认false(不开启) |
| setLiteInit(String appId, boolean athenaDebug) | 表示快速填充展示离线或内置的开屏广告,需配合代码位配置填充时长fillTimeoutDuration=0ms使用 |
3.5 TSplashView
| 方法名称 | 方法介绍 |
|---|---|
| TSplashView(Context context, String placementId) | 构造方法 |
| TSplashView(Context context, AttributeSet attrs) | 构造方法 |
| TSplashView(Context context, AttributeSet attrs, int defStyleAttr) | 构造方法 |
| setPlacementId(String placementId) | 设置广告位id |
| setListener(AdListener listener) | 设置广告请求步骤监听 |
| setSkipListener(OnSkipListener listener) | 设置点击跳过的监听 |
| loadAd() | 开始请求广告 |
| show() | 展示广告 |
| destroy() | 释放广告资源 |
| setLogoLayout(View logoView) | 设置需要展示的logo |
| setAdLoadScenes(@Nullable String gameName, @Nullable String gameScene, @Nullable Map<String,Object> extInfo) | (Aha 平台专用)设置广告加载场景。gameName:对应游戏的appKey;gameScene:对应游戏场景;extInfo:媒体的自定义信息(可不传)。在请求广告前调用 |
| getGameName() | 获取游戏名称 |
| getGameScene() | 获取游戏场景 |
| getExtInfo() | 获取自定义参数 |
| isOfflineAd() | 是否是离线广告 |
| getAdSource() | 获取广告源 |
| getFillAdType() | 获取填充的广告类型。1:离线广告, 0:在线广告,-1:无填充 |
| isReady() | 广告是否准备好。true:表示广告加载成功且广告处于投放期内,此状态时可以调用 show() 方法来展示广告;false:表示广告还没准备完成。 |
| isAdValid() | 广告是否处于投放期内。建议:请尽快使用isReady()代替,该方法将在后续版本移除。 |
| setRequest(AdRequest aRequest) | 设置广告请求实体 |
| getRequest() | 获取广告请求实体 |
| setCurrActivityFullscreen(boolean isCurrActivityFullscreen) | 当前展示Activity是否时全屏模式 |
| setDefaultFillTimeoutDuration(int defaultFillTimeoutDuration) | 设置当前请求广告的默认填充时长,当云控下发了时长以云控配置的为准 |
| setContainVulgarContent(boolean isContainVulgarContent) | 设置宿主当前需要展示广告的场景是否含有敏感内容,如果含有则部分品牌类广告不填充 |
| isMatchVulgarBrand() | 广告请求成功后,判断当前广告是否匹配上了过滤规则。true:不建议在含有敏感内容场景展示,false:可以展示 |
| setLiteInit(String appId, boolean athenaDebug) | 表示快速填充展示离线或内置的开屏广告,需配合代码位配置填充时长fillTimeoutDuration=0ms使用 |
3.6 TNative
| 方法名称 | 方法介绍 |
|---|---|
| TNative(String placementId) | 构造方法 |
| setPlacementId(String placementId) | 设置广告位id |
| setListener(AdListener listener) | 设置广告请求步骤监听 |
| loadAd() | 开始请求广告 |
| destroy() | 释放广告资源 |
| setAdCount(int adCount) | 设置一次加载多少条广告 |
| setLoadIcon(boolean isLoadIcon) | 当前广告位是否是使用ICON类型。(备注:ICON与NATIVE广告接入方式一致,但广告类型有差异) |
| registerViews(@NonNull ViewGroup view, List<View> adContains, TaNativeInfo taNativeInfo) | 给广告相关的 View 注册监听事件 |
| registerViews(@NonNull ViewGroup view, TaNativeInfo taNativeInfo) | 模板渲染 |
| getAdChoicesView(Context context, TaNativeInfo taNativeInfo) | 获取 AdChoicesView,可用来自定义显示坐标 |
| getAdCloseView(Context context) | 获取关闭按钮,可用来自定义显示坐标 |
| setAdLoadScenes(@Nullable String gameName, @Nullable String gameScene, @Nullable Map<String,Object> extInfo) | (Aha 平台专用)设置广告加载场景。gameName:对应游戏的appKey;gameScene:对应游戏场景;extInfo:媒体的自定义信息(可不传)。在请求广告前调用 |
| getGameName() | 获取游戏名称 |
| getGameScene() | 获取游戏场景 |
| getExtInfo() | 获取自定义参数 |
| isReady(TaNativeInfo taNativeInfo) | 广告是否准备好。true:表示广告加载成功且广告处于投放期内,此状态时可以调用 show() 方法来展示广告;false:表示广告还没准备完成。 |
| isAdValid(TaNativeInfo taNativeInfo) | 广告是否处于投放期内。建议:请尽快使用isReady()代替,该方法将在后续版本移除。 |
| isLoading() | 广告是否正在加载 |
| setRequest(AdRequest aRequest) | 设置广告请求实体 |
| getRequest() | 获取广告请求实体 |
| setCurrActivityFullscreen(boolean isCurrActivityFullscreen) | 当前展示Activity是否时全屏模式 |
| setDefaultFillTimeoutDuration(int defaultFillTimeoutDuration) | 设置当前请求广告的默认填充时长,当云控下发了时长以云控配置的为准 |
| setContainVulgarContent(boolean isContainVulgarContent) | 设置宿主当前需要展示广告的场景是否含有敏感内容,如果含有则部分品牌类广告不填充 |
3.7 TaNativeInfo
| 方法名称 | 方法介绍 |
|---|---|
| getTitle() | 获取标题 |
| getRating() | 获取评分信息,可选 |
| getCtatext() | 获取按钮文本,可选 |
| getDescription() | 获取广告描述,可选 |
| destroy() | 释放资源 |
| isMatchVulgarBrand() | 广告请求成功后,判断当前广告是否匹配上了过滤规则。true:不建议在含有敏感内容场景展示,false:可以展示 |
| getAdFormat() | 返回值:2为原生任务类型广告,非2为普通类型广告 |
3.8 TNativeView
| 方法名称 | 方法介绍 |
|---|---|
| setMediaView(MediaView mediaView, ImageView.ScaleType scaleType) | 设置主图 |
| setIconView(ImageView view) | 设置icon |
| setAdCloseView(AdCloseView adCloseView) | 设置广告关闭按钮 |
| setAdChoiceView(AdChoicesView adChoicesView) | 设置广告标识 |
| setUseListMode(boolean useListMode) | 当在RecyclerView布局中使用时调用改方法,并传true,默认false |
| setAdBadgeView(AdBadgeView view) | 广告AD角标,推荐适配RU(俄罗斯)广告合规的媒体 |
| setAdDisclaimerView(AdDisclaimerView adDisclaimerView) | 广告免责声明,推荐适配RU(俄罗斯)广告合规的媒体 |
| destroy() | 释放资源 |
3.9 TRewarded
| 方法名称 | 方法介绍 |
|---|---|
| TRewarded(String placementId) | 构造方法 |
| setAdListener(AdListener listener) | 设置广告请求步骤监听 |
| loadAd() | 开始请求广告 |
| show() | 展示广告 |
| destroy() | 释放广告资源 |
| setAdLoadScenes(@Nullable String gameName, @Nullable String gameScene, @Nullable Map<String,Object> extInfo) | (Aha 平台专用)设置广告加载场景。gameName:对应游戏的appKey;gameScene:对应游戏场景;extInfo:媒体的自定义信息(可不传)。在请求广告前调用 |
| getGameName() | 获取游戏名称 |
| getGameScene() | 获取游戏场景 |
| getExtInfo() | 获取自定义参数 |
| isReady() | 广告是否准备好。true:表示广告加载成功且广告处于投放期内,此状态时可以调用 show() 方法来展示广告;false:表示广告还没准备完成。 |
| isAdValid() | 广告是否处于投放期内。建议:请尽快使用isReady()代替,该方法将在后续版本移除。 |
| setRequest(AdRequest aRequest) | 设置广告请求实体 |
| getRequest() | 获取广告请求实体 |
| setDefaultFillTimeoutDuration(int defaultFillTimeoutDuration) | 设置当前请求广告的默认填充时长,当云控下发了时长以云控配置的为准 |
| setContainVulgarContent(boolean isContainVulgarContent) | 设置宿主当前需要展示广告的场景是否含有敏感内容,如果含有则部分品牌类广告不填充 |
3.10 HisavanaAdJsBridge
功能:协助JS SDK页面打开PlamStroe半屏
webView.getSettings().setCacheMode(LOAD_NORMAL);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setJavaScriptEnabled(true);//设置与Js交互的权限
webView.addJavascriptInterface(new HisavanaAdJsBridge(),HisavanaAdJsBridge.INTERFACE_NAME);
说明:设置安卓与js交互功能
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
return goToNext(request.getUrl().toString());
}
return super.shouldOverrideUrlLoading(view,request);
}
});
说明:重写WebViewClient的shouldOverrideUrlLoading方法是配重定向。
3.11 AdRequest
| 方法名称 | 方法介绍 |
|---|---|
| getRequestId() | 获取请求 id |
| setRequestId(String requestId) | 设置请求 id |
| getRequestType() | 获取广告请求时机,1:媒体请求;5:冷启动;6:网络发生变化;7:广告返回 |
| setRequestType(int requestType) | 设置广告请求时机 |
| getTriggerId() | 获取触发 id |
| setTriggerId(String triggerId) | 设置触发 id |
| getInfo() | 获取广告二价,单位:美分 |
| setInfo(double info) | 设置广告二价,单位:美分 |
3.12 OnSkipListener
| 方法名称 | 方法介绍 |
|---|---|
| onClick() | 点击的回调 |
| onTimeEnd() | 倒计时结束的回调 |
3.13 AdManager
| 方法名称 | 方法介绍 |
|---|---|
| setScreenOrientation(int orientation) | 设置广告页面屏幕方向(目前插屏、banner、h5页面有效) |
| getScreenOrientation() | 返回屏幕方向 |
| setRewardedCompletionToastEnabled(boolean isEnabled) | 设置插屏、激励广告新样式在激励完成后toast提示开关。true:提示,false:不提示,默认为true |