admin
2023-10-08 2c5b6e472c368e80d85b8ea2b461c9ea62981d9b
BuWanVideo/src/com/weikou/beibeivideo/util/ad/AdUtil.java
@@ -2,9 +2,13 @@
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.TimeUtil;
import com.weikou.beibeivideo.util.TimeUtils;
import com.weikou.beibeivideo.util.downutil.StringUtils;
import org.json.JSONException;
@@ -23,12 +27,6 @@
        }
    }
    public final static String POSITION_SPLASH = "splash";//开屏
    public final static String POSITION_VIDEO_PLAY_PRE = "videoPlayPre";//视频播放前贴
    public final static String POSITION_EXIT_APP = "exitApp";//APP退出广告
    public final static String POSITION_SEARCH = "videoSearch";//搜索页广告
    public final static String POSITION_VIDEO_DETAIL_FULL_VIDEO = "videoDetailFullVideo";//视频全屏广告
    public static AD_TYPE getSmallExpressAdType() {
        if (BeibeiConstant.AD_TYPE != null && AdTypeVO.TYPE_CSJ.equalsIgnoreCase(BeibeiConstant.AD_TYPE.getExpressSmallType())) {
@@ -63,16 +61,16 @@
     * 获取广告类型
     *
     * @param context
     * @param positionName
     * @param position
     * @return
     */
    public static AD_TYPE getAdType(Context context, String positionName) {
    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(positionName);
                object = object.optJSONObject(position.getPositionName());
                if (object != null)
                    return AD_TYPE.valueOf(object.optString("type"));
            } catch (JSONException e) {
@@ -86,13 +84,13 @@
        return null;
    }
    public static String getAdPid(Context context, String positionName) {
    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(positionName);
                object = object.optJSONObject(position.getPositionName());
                if (object != null)
                    return object.optString("pid");
            } catch (JSONException e) {
@@ -106,5 +104,91 @@
        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;
    }
    // 是否可以显示华为的广告
    public static boolean canShowAdHuaWei(Context context, AdPositionEnum position){
        SharedPreferences share = context.getSharedPreferences("adConfig", Context.MODE_PRIVATE);
        Long lastTime =   share.getLong("huawei_show_time_"+position.name(),0);
        if( TimeUtils.millisToStringDate(System.currentTimeMillis(),"yyyyMMdd").equalsIgnoreCase( TimeUtils.millisToStringDate(lastTime,"yyyyMMdd"))) {
            //同一天
            return false;
        }
        return true;
    }
    public static void showAdHuaWei(Context context, AdPositionEnum position){
        SharedPreferences share = context.getSharedPreferences("adConfig", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = share.edit();
        editor.putLong("huawei_show_time_"+position.name(), System.currentTimeMillis());
        editor.commit();
    }
}