跳到主要内容

三、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()已废弃,无需处理。SDK 会结合当前请求结果与广告缓存处理加载超时:超时且没有可用广告时,回调 onError(TaErrorCode);超时但已取得可用广告(包括缓存广告)时,按加载成功处理并回调对应的 onAdLoaded(...),不会回调 onError(TaErrorCode)。
onRewarded()激励完成回调,适用于Reward广告

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()获取广告源
getBidPrice()获取广告的有效竞价价格,单位为美分/eCPM
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()获取广告源
getBidPrice()获取广告的有效竞价价格,单位为美分/eCPM
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
setLogoLayoutHeightRatio(Float logoLayoutHeightRatio)自行设定logo高度比,范围0.1~0.2,默认0.14
setAdLoadScenes(@Nullable String gameName, @Nullable String gameScene, @Nullable Map<String,Object> extInfo)(Aha 平台专用)设置广告加载场景。gameName:对应游戏的appKey;gameScene:对应游戏场景;extInfo:媒体的自定义信息(可不传)。在请求广告前调用
getGameName()获取游戏名称
getGameScene()获取游戏场景
getExtInfo()获取自定义参数
isOfflineAd()是否是离线广告
getAdSource()获取广告源
getBidPrice()获取广告的有效竞价价格,单位为美分/eCPM
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
setLogoLayoutHeightRatio(Float logoLayoutHeightRatio)自行设定logo高度比,范围0.1~0.2,默认0.14
setAdLoadScenes(@Nullable String gameName, @Nullable String gameScene, @Nullable Map<String,Object> extInfo)(Aha 平台专用)设置广告加载场景。gameName:对应游戏的appKey;gameScene:对应游戏场景;extInfo:媒体的自定义信息(可不传)。在请求广告前调用
getGameName()获取游戏名称
getGameScene()获取游戏场景
getExtInfo()获取自定义参数
isOfflineAd()是否是离线广告
getAdSource()获取广告源
getBidPrice()获取广告的有效竞价价格,单位为美分/eCPM
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()获取自定义参数
getBidPrice()获取广告的有效竞价价格,单位为美分/eCPM
isReady(TaNativeInfo taNativeInfo)广告是否准备好。true:表示广告加载成功且广告处于投放期内,此状态时可以调用 show() 方法来展示广告;false:表示广告还没准备完成。
isAdValid(TaNativeInfo taNativeInfo)广告是否处于投放期内。建议:请尽快使用isReady()代替,该方法将在后续版本移除。
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为普通类型广告
getBidPrice()获取广告的有效竞价价格,单位为美分/eCPM

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)构造方法
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()获取广告源
getBidPrice()获取广告的有效竞价价格,单位为美分/eCPM
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.10 HisavanaAdJsBridge​

功能:协助JS SDK页面打开PlamStroe半屏

 webView.getSettings().setCacheMode(LOAD_NORMAL);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setJavaScriptEnabled(true);//设置与Js交互的权限
webView.addJavascriptInterface(new HisavanaAdJsBridge(webView),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方法是配重定向。

private boolean goToNext(String url) {
if (url == null || url.trim().isEmpty()) {
return false;
}

if (!(url.startsWith("http:") || url.startsWith("https:"))) {
try {
// 处理intent协议
if (url.startsWith("intent://")) {
try {
Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
intent.addCategory("android.intent.category.BROWSABLE");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setComponent(null);
intent.setSelector(null);
HSCoreUtil.getContext().startActivity(intent);
return true;
} catch (Exception e) {
// 重定向打开intent链接失败 判断链接中是否含有 S.browser_fallback_url 字段,如果存在该字段 通过默认浏览器打开
Log.w(TAG, "gotoNext intent fail = " + Log.getStackTraceString(e));
return handleFallback(url);
}
} else {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
HSCoreUtil.getContext().startActivity(intent);
// 跳转自身的时候会出现deeplink详情页被覆盖,因此延时关闭本页面

// TODO delay finish()
return true;
}
} catch (Exception e) {
Log.w(TAG, "gotoNext intent fail = " + Log.getStackTraceString(e));
return false;
}
}
return false;
}
private boolean handleFallback(String url) {
if (url == null || url.trim().isEmpty()) {
return false;
}
try {
Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
String fallbackUrl = intent.getStringExtra("browser_fallback_url");

if (!TextUtils.isEmpty(fallbackUrl)) {
Intent fallbackIntent = new Intent(
Intent.ACTION_VIEW,
Uri.parse(fallbackUrl)
);
fallbackIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
HSCoreUtil.getContext().startActivity(fallbackIntent);
// 跳转自身的时候会出现deeplink详情页被覆盖,因此延时关闭本页面

// TODO delay finish()
return true;
}
} catch (Exception ignored) {
}
return false;
}

说明:重定向url处理逻辑

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