|
|
@@ -2,15 +2,9 @@ package com.sheep.gamegroup.module.task.fragments;
|
|
|
|
|
|
import android.util.Log;
|
|
|
import com.sheep.gamegroup.util.LogUtil;
|
|
|
-import com.sheep.gamegroup.util.PreferenceUtils;
|
|
|
-import com.sheep.jiuyan.samllsheep.SheepApp;
|
|
|
-import com.tencent.klevin.KleinManager;
|
|
|
-import com.tencent.klevin.base.callback.KleinResponseCallback;
|
|
|
-import com.tencent.klevin.util.AdUtils;
|
|
|
-import static com.tencent.klevin.base.okhttp.ErrorCode.KLSplashAdEvent_AdPlayCompletion;
|
|
|
-import static com.tencent.klevin.base.okhttp.ErrorCode.KLSplashAdEvent_AdSkip;
|
|
|
-import static com.tencent.klevin.base.okhttp.ErrorCode.KLSplashAdEvent_CreativeDownloadSuccess;
|
|
|
-import static com.tencent.klevin.base.okhttp.ErrorCode.KLSplashAdEvent_MeetTheRewardConditions;
|
|
|
+import com.sheep.jiuyan.samllsheep.utils.G;
|
|
|
+import com.tencent.klevin.ads.ad.RewardAd;
|
|
|
+import com.tencent.klevin.ads.ad.RewardAdRequest;
|
|
|
|
|
|
/**
|
|
|
* 游可盈广告视频
|
|
|
@@ -19,8 +13,6 @@ import static com.tencent.klevin.base.okhttp.ErrorCode.KLSplashAdEvent_MeetTheRe
|
|
|
public class FgtVideoTaskYKY extends FgtVideoTaskBase {
|
|
|
private static final String TAG = "游可盈视频广告页";
|
|
|
|
|
|
- public static final String KEY_YKY_ENCOURAGE_VIDEO_PRE_DOWN = "key_has_pre_down_yky_video";
|
|
|
-
|
|
|
@Override
|
|
|
protected void initView() {
|
|
|
|
|
|
@@ -38,104 +30,95 @@ public class FgtVideoTaskYKY extends FgtVideoTaskBase {
|
|
|
|
|
|
@Override
|
|
|
protected void loadAd() {
|
|
|
- KleinManager.getInstance().setCurrentActivity(getActivity());
|
|
|
- boolean hasPreDownVideo = PreferenceUtils.getPrefBoolean(getContext(), KEY_YKY_ENCOURAGE_VIDEO_PRE_DOWN, false);
|
|
|
- if (hasPreDownVideo) {
|
|
|
- showAd();
|
|
|
- preAd(false);
|
|
|
- } else {
|
|
|
- preAd(true);
|
|
|
- }
|
|
|
-
|
|
|
+ preAd();
|
|
|
}
|
|
|
|
|
|
//是否领过奖了
|
|
|
boolean hasGetReward = false;
|
|
|
|
|
|
//预加载激励视频
|
|
|
- private void preAd(boolean shouldShow) {
|
|
|
- int posId = 30113;
|
|
|
- int duration = 0;
|
|
|
- //String data = "{\"placements\":[{\"pos_id\":" + posId + ",\"ad_count\":" + releaseTask.getTask().getVideo_num() + "}],\"ad_reward_trigger\":1, \"ad_reward_duration\":" + duration + ", \"ad_reward_automute\":1}";
|
|
|
- String data = "{\"placements\":[{\"pos_id\":" + posId + ",\"ad_count\":1}],\"ad_reward_trigger\":1, \"ad_reward_duration\":" + duration + ", \"ad_reward_automute\":1}";
|
|
|
-
|
|
|
- KleinManager.getInstance().loadEncourageAD(SheepApp.getInstance().getApplicationContext(), data, new KleinResponseCallback() {
|
|
|
+ private void preAd() {
|
|
|
+ int posId = 30113; //正式30113 测试30031
|
|
|
|
|
|
- @Override
|
|
|
- public void onSuccess(int i) {
|
|
|
- Log.d(TAG, "onSuccess : " + i);
|
|
|
- handleSuccess(i, shouldShow);
|
|
|
- }
|
|
|
+ RewardAdRequest.Builder rewardAdBuilder = new RewardAdRequest.Builder();
|
|
|
+ rewardAdBuilder.autoMute(true)//【可选】设置是否自动静音,默认 false
|
|
|
+ .setRewardTrigger(RewardAdRequest.TRIGGER_OTHER)//【可选】激励类型
|
|
|
+ .setPosId(posId)//【必须】激励视频广告位 id
|
|
|
+ .setAdCount(1);//【可选】广告个数,默认 1
|
|
|
|
|
|
+ RewardAd.load(rewardAdBuilder.build(), new RewardAd.RewardAdLoadListener() {
|
|
|
@Override
|
|
|
- public void onFail(int i) {
|
|
|
- Log.e(TAG, "onFail : " + i);
|
|
|
+ public void onAdLoadError(int i, String s) {
|
|
|
+ G.showToast("游可盈video 加载onFail" + i + " " + s);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void onEvent(int i) {
|
|
|
- Log.d(TAG, "onEvent : " + i);
|
|
|
- handleEvent(i);
|
|
|
+ public void onAdLoaded(RewardAd rewardAd) {
|
|
|
+ Log.d(TAG, "yky video load success ");
|
|
|
+ //下载激励视频素材成功,开始播放
|
|
|
+ showAd(rewardAd);
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
}
|
|
|
|
|
|
+ RewardAd mRewardAd;
|
|
|
+
|
|
|
//播放激励视频
|
|
|
- private void showAd() {
|
|
|
- PreferenceUtils.setPrefBoolean(SheepApp.getInstance().getApplicationContext(), KEY_YKY_ENCOURAGE_VIDEO_PRE_DOWN, false);
|
|
|
- KleinManager.getInstance().showAD(getContext(), AdUtils.TYPE_AD_REWARD,
|
|
|
- new KleinResponseCallback() {
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onSuccess(int i) {
|
|
|
- Log.d(TAG, "onSuccess : " + i);
|
|
|
- handleSuccess(i, false);
|
|
|
+ private void showAd(RewardAd ad) {
|
|
|
+ // 广告素材下载完成,参数 ad 为激励视频广告实例
|
|
|
+ // 在此回调中触发展示广告,则使用本地播放的方式读取广告 Log.i(TAG, "reward ad loaded");
|
|
|
+ mRewardAd = ad;
|
|
|
+ if (mRewardAd != null) {
|
|
|
+ //设置激励视频广告展示回调
|
|
|
+ mRewardAd.setListener(new RewardAd.RewardAdListener() {
|
|
|
+ @Override
|
|
|
+ public void onAdSkip() {
|
|
|
+ //用户跳过广告回调 Log.i(TAG, "onAdSkip");
|
|
|
+ if (!hasGetReward) {
|
|
|
+ //未领奖,调用放弃任务接口
|
|
|
+ giveUpTask();
|
|
|
+ } else {
|
|
|
+ if (getActivity() != null)
|
|
|
+ getActivity().finish();
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- @Override
|
|
|
- public void onFail(int i) {
|
|
|
- Log.e(TAG, "onFail : " + i);
|
|
|
- }
|
|
|
+ public void onReward() {
|
|
|
+ //满足领奖条件,去领奖
|
|
|
+ Log.i(TAG, "yky video onReward");
|
|
|
+ hasGetReward = true;
|
|
|
+ tryGetReward();
|
|
|
+ }
|
|
|
|
|
|
- @Override
|
|
|
- public void onEvent(int i) {
|
|
|
- Log.d(TAG, "onEvent : " + i);
|
|
|
- handleEvent(i);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
+ public void onVideoComplete() { //视频播放完成回调
|
|
|
+ Log.i(TAG, "onVideoComplete");
|
|
|
+ //G.showToast("游可盈video 播放结束");
|
|
|
+ }
|
|
|
|
|
|
- private void handleSuccess(int i, boolean shouldShow) {
|
|
|
- if (i == KLSplashAdEvent_CreativeDownloadSuccess) {
|
|
|
- //下载激励视频素材成功
|
|
|
- PreferenceUtils.setPrefBoolean(SheepApp.getInstance().getApplicationContext(), KEY_YKY_ENCOURAGE_VIDEO_PRE_DOWN, true);
|
|
|
- if (shouldShow) showAd();
|
|
|
- }
|
|
|
- }
|
|
|
+ public void onAdShow() {
|
|
|
+ //广告曝光回调 Log.i(TAG, "onAdShow");
|
|
|
+ }
|
|
|
|
|
|
- private void handleEvent(int i) {
|
|
|
- switch (i) {
|
|
|
- case KLSplashAdEvent_MeetTheRewardConditions:
|
|
|
- //满足领奖条件,去领奖
|
|
|
- hasGetReward = true;
|
|
|
- tryGetReward();
|
|
|
- break;
|
|
|
- case KLSplashAdEvent_AdPlayCompletion:
|
|
|
- //一个视频播放结束
|
|
|
- break;
|
|
|
- case KLSplashAdEvent_AdSkip:
|
|
|
- //用户点击关闭了界面
|
|
|
- if (!hasGetReward) {
|
|
|
- //未领奖,调用放弃任务接口
|
|
|
- giveUpTask();
|
|
|
- } else {
|
|
|
- if (getActivity() != null)
|
|
|
- getActivity().finish();
|
|
|
+ public void onAdClick() { //广告点击回调
|
|
|
+ Log.i(TAG, "onAdClick");
|
|
|
}
|
|
|
- break;
|
|
|
+
|
|
|
+ public void onAdClosed() {
|
|
|
+ //广告关闭回调 Log.i(TAG, "onAdClosed");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public void onAdError(int i, String msg) {
|
|
|
+ //广告展示失败回调
|
|
|
+ Log.e(TAG, "onAdError err: " + i + " " + msg);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ mRewardAd.show(); //展示激励视频广告
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
public int getLayoutId() {
|
|
|
return 0;
|