admin
2023-11-21 2eec3de87b6b616a69a46c1f97c2397159031d2f
BuWanVideo/src/com/weikou/beibeivideo/util/ad/AdUtil.java
@@ -1,26 +1,173 @@
package com.weikou.beibeivideo.util.ad;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Build;
import com.weikou.beibeivideo.entity.ad.AdPositionEnum;
import com.weikou.beibeivideo.entity.ad.AdTypeVO;
import com.weikou.beibeivideo.util.BeibeiConstant;
import com.weikou.beibeivideo.util.downutil.StringUtils;
//穿山甲广告
import org.json.JSONException;
import org.json.JSONObject;
//广告帮助
public class AdUtil {
    public enum AD_TYPE {
        gdt("广点通"), csj("穿山甲"), gdt2("广点通2.0");
    public static int getSmallExpressAdType() {
        private String name;
        private AD_TYPE(String name) {
            this.name = name;
        }
    }
    public static AD_TYPE getSmallExpressAdType() {
        if (BeibeiConstant.AD_TYPE != null && AdTypeVO.TYPE_CSJ.equalsIgnoreCase(BeibeiConstant.AD_TYPE.getExpressSmallType())) {
            return ExpressAdManager.SOURCE_CSJ;
            return AD_TYPE.csj;
        } else {
            return ExpressAdManager.SOURCE_GDT;
            return AD_TYPE.gdt;
        }
    }
    public static int getBigExpressAdType() {
    public static AD_TYPE getBigExpressAdType() {
        if (BeibeiConstant.AD_TYPE != null && AdTypeVO.TYPE_CSJ.equalsIgnoreCase(BeibeiConstant.AD_TYPE.getExpressBigType())) {
            return ExpressAdManager.SOURCE_CSJ;
            return AD_TYPE.csj;
        } else {
            return ExpressAdManager.SOURCE_GDT;
            return AD_TYPE.gdt2;
        }
    }
    /**
     * 保存广告配置
     *
     * @param context
     * @param json
     */
    public static void saveAdConfig(Context context, JSONObject json) {
        SharedPreferences share = context.getSharedPreferences("adConfig", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = share.edit();
        editor.putString("config", json.toString());
        editor.commit();
    }
    /**
     * 获取广告类型
     *
     * @param context
     * @param position
     * @return
     */
    public static AD_TYPE getAdType(Context context, AdPositionEnum position) {
        SharedPreferences share = context.getSharedPreferences("adConfig", Context.MODE_PRIVATE);
        String config = share.getString("config", "");
        if (!StringUtils.isNullOrEmpty(config)) {//万一没设置起就用广点通
            try {
                JSONObject object = new JSONObject(config);
                object = object.optJSONObject(position.getPositionName());
                if (object != null)
                    return AD_TYPE.valueOf(object.optString("type"));
            } catch (JSONException e) {
                e.printStackTrace();
            } catch (Exception e1) {
                return null;
            }
        } else {
            return AD_TYPE.gdt;
        }
        return null;
    }
    public static String getAdPid(Context context, AdPositionEnum position) {
        SharedPreferences share = context.getSharedPreferences("adConfig", Context.MODE_PRIVATE);
        String config = share.getString("config", "");
        if (!StringUtils.isNullOrEmpty(config)) {//万一没设置起就用广点通
            try {
                JSONObject object = new JSONObject(config);
                object = object.optJSONObject(position.getPositionName());
                if (object != null)
                    return object.optString("pid");
            } catch (JSONException e) {
                e.printStackTrace();
            } catch (Exception e1) {
                return null;
            }
        } else {
            return null;
        }
        return null;
    }
    /**
     * 是否显示PPTV免广告权益
     *
     * @return
     */
    public static boolean showPPTVNoAdReward(Context context) {
        return getAdType(context, AdPositionEnum.pptvNoAdReward) != null;
    }
    //是否已经获得pptv视频免广告权益
    public static boolean isGetPPTVNoAdReward(Context context) {
        SharedPreferences share = context.getSharedPreferences("adConfig", Context.MODE_PRIVATE);
        long expireTime = share.getLong("pptvNoAdReward", 0);
        if (System.currentTimeMillis() > expireTime) {
            return false;
        }
        return true;
    }
    public static int getPPTVNoAdRewardLeftTimeWithMinute(Context context) {
        SharedPreferences share = context.getSharedPreferences("adConfig", Context.MODE_PRIVATE);
        long expireTime = share.getLong("pptvNoAdReward", 0);
        if (System.currentTimeMillis() > expireTime) {
            return 0;
        } else {
            return (int) ((expireTime - System.currentTimeMillis()) / (1000 * 60));
        }
    }
    public static void setPPTVNoAdRewardSuccess(Context context) {
        int hour = getPPTVNoAdRewardHour(context);
        SharedPreferences share = context.getSharedPreferences("adConfig", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = share.edit();
        editor.putLong("pptvNoAdReward", System.currentTimeMillis() + 1000 * 60 * 60L * hour);
        editor.commit();
    }
    //获取pptv免广告权益的时间(小时记)
    public static int getPPTVNoAdRewardHour(Context context) {
        SharedPreferences share = context.getSharedPreferences("adConfig", Context.MODE_PRIVATE);
        return share.getInt("pptvNoAdRewardHour", 3);
    }
    /**
     * 设置pptv无广告权益的时间(小时记)
     *
     * @param context
     * @param hour
     */
    public static void setPPTVNoAdRewardHour(Context context, int hour) {
        SharedPreferences share = context.getSharedPreferences("adConfig", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = share.edit();
        editor.putInt("pptvNoAdRewardHour", hour);
        editor.commit();
    }
    /**
     * 穿山甲广告是否需要初始化
     *
     * @return
     */
    public static boolean isCanInitCSJ() {
        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
//        return true;
    }
}