Commit 4f793565 authored by 王雪伟's avatar 王雪伟

[提交人]:王雪伟

[提交简述] :1.1.4
[实现方案] :修复未初始化,开屏广告无回调,导致无法进入app的问题。
parent 1e6fdf36
package com.zx.ad package com.zx.ad
import android.app.Activity import android.app.Activity
import android.app.Application
import android.content.Context import android.content.Context
import android.content.ContextWrapper import android.content.ContextWrapper
import android.util.Log import android.util.Log
import android.widget.FrameLayout import android.widget.FrameLayout
import com.bytedance.sdk.openadsdk.TTAdSdk
import com.zx.ad.callback.AdLoadCallBack import com.zx.ad.callback.AdLoadCallBack
import com.zx.ad.callback.RewardVideoAdListener import com.zx.ad.callback.RewardVideoAdListener
import com.zx.ad.callback.SplashAdListener import com.zx.ad.callback.SplashAdListener
...@@ -88,7 +88,7 @@ object AdManager { ...@@ -88,7 +88,7 @@ object AdManager {
for (i in result.indices) { for (i in result.indices) {
when (result[i].adPlatform) { when (result[i].adPlatform) {
ADType.PLATFORM_AD_TT -> { ADType.PLATFORM_AD_TT -> {
CSJAdManager.adInit(context, result[i].codeAppId ?: "") CSJAdManager.adInit(context, result[i].codeAppId ?: "",null)
} }
ADType.PLATFORM_AD_KS -> { ADType.PLATFORM_AD_KS -> {
KsAdManager.adInit(context, result[i].codeAppId ?: "") KsAdManager.adInit(context, result[i].codeAppId ?: "")
...@@ -102,7 +102,7 @@ object AdManager { ...@@ -102,7 +102,7 @@ object AdManager {
fun loadSplashAd(context: Activity, mSplashContainer: FrameLayout, listener: SplashAdListener) { fun loadSplashAd(context: Activity, mSplashContainer: FrameLayout, listener: SplashAdListener) {
if (context.isFinishing){ if (context.isFinishing) {
return return
} }
if (isLoadSplash) { if (isLoadSplash) {
...@@ -115,6 +115,25 @@ object AdManager { ...@@ -115,6 +115,25 @@ object AdManager {
.compose(RxSchedulers.observableIO2Main()) .compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<List<NewsEntity>?>() { .subscribe(object : BaseObserver<List<NewsEntity>?>() {
override fun onSuccess(result: List<NewsEntity>?) { override fun onSuccess(result: List<NewsEntity>?) {
//本次针对穿山甲处理,当加入其它平台时需要测试未初始化的情况下,是否有error回调
if (!TTAdSdk.isInitSuccess()) {
CSJAdManager.adInit(context, "5306826", object : TTAdSdk.InitCallback {
override fun success() {
if (result.isNullOrEmpty()) {
isLoadSplash = false
listener.onError("loadSplashAd IS NULL")
} else {
loadingSplashAd(context, result, mSplashContainer, listener)
}
}
override fun fail(p0: Int, p1: String?) {
isLoadSplash = false
listener.onError("AdSDK_NOT_INIT" + TTAdSdk.isInitSuccess())
}
})
return
}
if (result.isNullOrEmpty()) { if (result.isNullOrEmpty()) {
isLoadSplash = false isLoadSplash = false
listener.onError("loadSplashAd IS NULL") listener.onError("loadSplashAd IS NULL")
...@@ -177,6 +196,7 @@ object AdManager { ...@@ -177,6 +196,7 @@ object AdManager {
isLoadSplash = false isLoadSplash = false
listener.onError("loadFail end") listener.onError("loadFail end")
} else { } else {
LogUtils.e("errorMsg:${errorMsg}")
var entity = totalEntity[0]; var entity = totalEntity[0];
totalEntity.removeAt(0) totalEntity.removeAt(0)
loadAdPlatform(context, entity, ADType.AD_SPLASH, this) loadAdPlatform(context, entity, ADType.AD_SPLASH, this)
...@@ -189,7 +209,7 @@ object AdManager { ...@@ -189,7 +209,7 @@ object AdManager {
} }
fun loadRewardAd(context: Activity, listener: RewardVideoAdListener) { fun loadRewardAd(context: Activity, listener: RewardVideoAdListener) {
if (context.isFinishing){ if (context.isFinishing) {
return return
} }
if (isLoadReward) { if (isLoadReward) {
......
...@@ -3,6 +3,7 @@ package com.zx.ad.platform.csj ...@@ -3,6 +3,7 @@ package com.zx.ad.platform.csj
import android.app.Activity import android.app.Activity
import android.content.Context import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.util.Log
import android.view.View import android.view.View
import android.widget.FrameLayout import android.widget.FrameLayout
import com.bytedance.sdk.openadsdk.* import com.bytedance.sdk.openadsdk.*
...@@ -23,8 +24,8 @@ import com.zx.ad.utils.UIUtils ...@@ -23,8 +24,8 @@ import com.zx.ad.utils.UIUtils
*/ */
object CSJAdManager { object CSJAdManager {
private var mTTAdNative: TTAdNative? = null private var mTTAdNative: TTAdNative? = null
fun adInit(context: Context, appId: String) { fun adInit(context: Context, appId: String,initCallback:TTAdSdk.InitCallback?) {
TTAdManagerHolder.init(context, appId) TTAdManagerHolder.init(context, appId,initCallback)
// TTAdManagerHolder.init(context, "5001121") // TTAdManagerHolder.init(context, "5001121")
} }
...@@ -35,6 +36,10 @@ object CSJAdManager { ...@@ -35,6 +36,10 @@ object CSJAdManager {
*/ */
fun loadSplashAd(context: Context, entity: NewsEntity, loadCallBack: AdLoadCallBack) { fun loadSplashAd(context: Context, entity: NewsEntity, loadCallBack: AdLoadCallBack) {
mTTAdNative = TTAdManagerHolder.get().createAdNative(context) mTTAdNative = TTAdManagerHolder.get().createAdNative(context)
if (mTTAdNative==null){
loadCallBack.OnAdLoadFail("loadSplashAd mTTAdNative is null")
return
}
val splashWidthPx = UIUtils.getScreenWidthInPx(context) val splashWidthPx = UIUtils.getScreenWidthInPx(context)
val screenHeightPx = UIUtils.getScreenHeight(context) val screenHeightPx = UIUtils.getScreenHeight(context)
val splashWidthDp = UIUtils.getScreenWidthDp(context) val splashWidthDp = UIUtils.getScreenWidthDp(context)
...@@ -44,9 +49,9 @@ object CSJAdManager { ...@@ -44,9 +49,9 @@ object CSJAdManager {
.setImageAcceptedSize(splashWidthPx, screenHeightPx) .setImageAcceptedSize(splashWidthPx, screenHeightPx)
.setExpressViewAcceptedSize(splashWidthDp, screenHeightDp) .setExpressViewAcceptedSize(splashWidthDp, screenHeightDp)
.build() .build()
mTTAdNative?.loadSplashAd(adSlot, object : TTAdNative.SplashAdListener { mTTAdNative?.loadSplashAd(adSlot, object : TTAdNative.SplashAdListener {
override fun onError(p0: Int, p1: String?) { override fun onError(p0: Int, p1: String?) {
Log.d("AdManager","p0"+p0)
AdEventUtils.onEventPullFail(entity) AdEventUtils.onEventPullFail(entity)
loadCallBack.OnAdLoadFail("CSJ p0:${p0} p1:${p1}") loadCallBack.OnAdLoadFail("CSJ p0:${p0} p1:${p1}")
} }
......
...@@ -26,30 +26,44 @@ public class TTAdManagerHolder { ...@@ -26,30 +26,44 @@ public class TTAdManagerHolder {
} }
public static void init(final Context context,String appId) { public static void init(final Context context,String appId,TTAdSdk.InitCallback initCallback) {
doInit(context,appId); doInit(context,appId,initCallback);
} }
//step1:接入网盟广告sdk的初始化操作,详情见接入文档和穿山甲平台说明 //step1:接入网盟广告sdk的初始化操作,详情见接入文档和穿山甲平台说明
private static void doInit(Context context,String appId) { private static void doInit(Context context,String appId,TTAdSdk.InitCallback initCallback) {
if (!sInit) { if (!sInit) {
//TTAdSdk.init(context, buildConfig(context)); //TTAdSdk.init(context, buildConfig(context));
TTAdSdk.init(context, buildConfig(context,appId), new TTAdSdk.InitCallback() { TTAdSdk.init(context, buildConfig(context,appId), new TTAdSdk.InitCallback() {
@Override @Override
public void success() { public void success() {
if (initCallback!=null){
initCallback.success();
}
sInit = true;
Log.i(TAG, "success: " + TTAdSdk.isInitSuccess()); Log.i(TAG, "success: " + TTAdSdk.isInitSuccess());
} }
@Override @Override
public void fail(int code, String msg) { public void fail(int code, String msg) {
Log.i(TAG, "fail: code = " + code + " msg = " + msg); Log.i(TAG, "fail: code = " + code + " msg = " + msg);
if (initCallback!=null){
initCallback.fail(code,msg);
} }
});
sInit = true; sInit = true;
} }
});
}else {
if (initCallback!=null){
if (TTAdSdk.isInitSuccess()){
initCallback.success();
}else {
initCallback.fail(-1,"wxw initFail");
}
}
}
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment