如何解决TapJoy奖励视频广告未展示
我正在尝试在我的应用程序中实现tapjoy奖励视频,但是它们没有出现。
private var directPlayPlacement: Tjplacement? = null
private var TJlistener: TjplacementListener? = null
fun inittapjoy() {
val connectFlags: Hashtable<String,Any> = Hashtable<String,Any>()
connectFlags[tapjoyConnectFlag.ENABLE_LOGGING] = "true";
connectFlags[tapjoyConnectFlag.USER_ID] = AppPreferences.token;
val callbackTJ = object : TJConnectListener {
override fun onConnectSuccess() {
this.tapjoyConnectSuccess()
Timber.d(TAG,"tapjoy SDK connected");
}
override fun onConnectFailure() {
Timber.d(TAG,"tapjoy SDK not connected");
}
fun tapjoyConnectSuccess() {
tapjoy.setActivity(activity);
tapjoy.setUserID(AppPreferences.token);
directPlayPlacement = tapjoy.getPlacement("RewardedVideo",TJlistener)
TJlistener = object : TjplacementListener {
override fun onRequestSuccess(p0: Tjplacement?) {
if (p0 != null) {
Timber.i("tapjoy on request success,contentAvailable: %s",p0.isContentAvailable)
} else {
inittapjoy()
}
}
override fun onRequestFailure(p0: Tjplacement?,p1: TJError?) {
//activity.toast(getString(R.string.adds_content_empty))
Log.d(TAG,"onRequestFailure")
}
override fun onContentReady(p0: Tjplacement?) {}
override fun onContentShow(p0: Tjplacement?) {}
override fun onContentdismiss(p0: Tjplacement?) {
inittapjoy()
}
override fun onPurchaseRequest(p0: Tjplacement?,p1: TJActionRequest?,p2: String?) {}
override fun onRewardRequest(p0: Tjplacement?,p2: String?,p3: Int) { }
override fun onClick(p0: Tjplacement?) {
if (p0 != null) {
tapjoyLog.i(TAG,"onClick for direct play placement " + p0.getName())
}
}
}
directPlayPlacement?.videoListener = object: TjplacementVideoListener {
override fun onVideoStart(p0: Tjplacement?) {}
override fun onVideoError(p0: Tjplacement?,p1: String?) {
activity.toast(getString(R.string.adds_content_empty))
}
override fun onVideoComplete(p0: Tjplacement?) {
getReward(4)
}
}
//load ad
if (directPlayPlacement != null) {
directPlayPlacement!!.requestContent();
} else {
Log.d(TAG,"tapjoy SDK must finish connecting before requesting content.")
}
}
}
tapjoy.connect(activity,API_KEY,connectFlags,callbackTJ);
tapjoy.setDebugEnabled(true);
}
这是showtapjoyRewardedVideo()函数:
private fun showtapjoyRewardedVideo() {
if (directPlayPlacement == null) {
Log.d(TAG,"tapjoy: Direct Play placement is null. No direct play video to show")
}
if (directPlayPlacement?.isContentAvailable!!) {
if (directPlayPlacement!!.isContentReady) {
directPlayPlacement!!.showContent();
} else {
Log.d(TAG,"tapjoy: Video not ready to show")
}
} else {
Log.d(TAG,"tapjoy: No video to show")
}
}
LogCat: http://prntscr.com/udhl8e
请注意,我已将我的设备添加为测试设备,但它们仍未显示,另外,我要求来自不同国家/地区的人打开有奖励的视频,因为我认为他们没有适合我的国家/地区的视频,没有用。
编辑:我忘了提及使用上述代码,另一个名为AppLaunch的默认展示位置以模式形式显示,这意味着集成有效,但不适用于奖励视频。
任何帮助将不胜感激!
解决方法
解决方案是让我的货币获得TapJoy的批准,我的代码没有错。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。