| | |
| | | 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; |
| | | } |
| | | |
| | | |
| | | } |