cpp
所有视频能否播放和播放都路由到CandyManager
bool CandyManager::of_video_can_play(const string& as_page) {
cocos2d::log("maxadlog call func CandyManager::of_video_can_play(%s). game_level=%d", as_page.c_str(), g.game_level);
if (g.game_level < 5 && "n_video_finish_ad_play" == as_page)
{
return false;
}
return PFJava::cpp_func_of_can_play_ad_video(as_page, g.game_level);
}
void CandyManager::of_video_play(const string& as_page) {
PFJava::cpp_func_of_play_ad_video(as_page, g.game_level);
g.cm->of_play_video_set_state();
of_track_function(as_page);
of_track_function("n_video_all");
of_adjust_event_time("n_video_time");
candy_achievement->of_add_key(_bbb_ccc_ffff_lll_pub_achieve_count_ad);
}
bool PFJava::cpp_func_of_can_play_ad_video(const string & as_page, long al_level)
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
JniMethodInfo t;
if (JniHelper::getStaticMethodInfo(t, "org/cocos2dx/help/plugin/DreamPub", "of_vedio_can_play", "(Ljava/lang/String;J)J"))
{
jstring k1 = t.env->NewStringUTF(as_page.c_str());
jlong j1(al_level);
long ret = t.env->CallStaticLongMethod(t.classID, t.methodID, k1, j1);
if (ret == 1) {
return true;
}
}
return false;
#endif
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
return PFIOS::ios_func_is_video_can_play(as_page);
#endif
auto s1 = PF::read_asset_string("config/app_config");
s1 = PF::key_format(s1, "exe_have_video");
if (s1 == "true") {
return true;
}
return false;
}
void PFJava::cpp_func_of_play_ad_video(const string & as_page, long al_level)
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
JniMethodInfo t;
if (JniHelper::getStaticMethodInfo(t, "org/cocos2dx/help/plugin/DreamPub", "of_vedio_play", "(Ljava/lang/String;J)V"))
{
jstring k1 = t.env->NewStringUTF(as_page.c_str());
jlong j1(al_level);
t.env->CallStaticVoidMethod(t.classID, t.methodID, k1, j1);
}
#endif
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
PFIOS::ios_func_play_video();
#endif
}
public static long of_vedio_can_play(String as_page, long al_level){
if (al_level < 5) return 0;
if (as_page == null) as_page = "";
if (MaxAdHelper.of_can_show_video(as_page)) {
Log.d("maxadlog" , "of can show video(" + as_page + ") = true.");
return 1;
}
Log.d("maxadlog" , "of can show video(" + as_page + ") = false." ) ;
return 0;
}
public static long il_vedio_state = 0 ;
public static void of_vedio_play(String as_page, long al_level){
if(of_vedio_can_play(as_page, al_level) == 0 ){
AppActivity.buyItemOk("VIDEO_PLAY_CANCEL");
return;
}
AppActivity.ib_video_have_award = false;
Log.d("XXXXX" , "XXXXX SDKAgent.showVideo( ls_page ); " + as_page ) ;
il_vedio_state = 9 ;
if( as_page == null) as_page = "";
MaxAdHelper.of_show_video(as_page, al_level);
Log.d("XXXXX" , "XXXXX SDKAgent.showVideo( ls_page ); " + as_page ) ;
}
插屏
删去暂停插屏,只留下成功和失败
void PanelFinish::on_fail_continue(){
g.of_inter_play("page_fail");
}
PanelFinish::PanelFinish(LayerGame* lay){
if (g.ct->is_passed()) {
g.of_inter_play("page_succ");
}
}
bool CandyManager::of_inter_can_play(const string& as_page)
{
cocos2d::log("maxadlog call func CandyManager::of_inter_can_play(%s). bought=%f, game_level=%d", as_page.c_str(), g.cm->pub_money_buyed_total, g.game_level);;
if (g.cm && g.cm->pub_money_buyed_total > 0.1f)
{
return false;
}
if (g.game_level < 10)
{
return false;
}
return PFJava::cpp_func_of_can_play_ad_inter(as_page, g.game_level);
}
void CandyManager::of_inter_play(const string& as_page)
{
if (of_inter_can_play(as_page))
{
PFJava::cpp_func_of_play_inter_pub(as_page, g.game_level);
}
}
bool PFJava::cpp_func_of_can_play_ad_inter(std::string as_page, long al_level)
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
JniMethodInfo t;
if (JniHelper::getStaticMethodInfo(t, "org/cocos2dx/help/plugin/DreamPub", "java_func_of_inter_can_play", "(Ljava/lang/String;J)J"))
{
jstring k1 = t.env->NewStringUTF(as_page.c_str());
jlong j1(al_level);
long ret = t.env->CallStaticLongMethod(t.classID, t.methodID, k1, j1);
if (ret == 1) {
return true;
}
}
return false;
#endif
return false;
}
void PFJava::cpp_func_of_play_inter_pub(std::string as_page, long al_level)
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
JniMethodInfo t;
string ls_fun = "of_ad_interval_pub";
if (JniHelper::getStaticMethodInfo(t, "org/cocos2dx/help/plugin/DreamPub", ls_fun.c_str(), "(Ljava/lang/String;J)V"))
{
jstring k1 = t.env->NewStringUTF(as_page.c_str());
jlong j1(al_level);
t.env->CallStaticVoidMethod(t.classID, t.methodID, k1, j1);
}
return;
#endif
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
cocos2d::log("win32 platform:as_page=%s, al_level=%d", as_page.c_str(), al_level);
#endif
}
public static void of_ad_interval_pub(final String as_page, long al_level) {
if (_activity == null ) return;
if (ib_noad ) return;
Log.d("maxadlog" , "XXXXX of ad interval pub(" + as_page + "," + al_level + "). begin") ;
MaxAdHelper.of_show_inter(as_page, al_level);
Log.d("maxadlog" , "XXXXX of ad interval pub(" + as_page + "," + al_level + "). end") ;
}
public static long java_func_of_inter_can_play(String as_page, long al_level) {
if (MaxAdHelper.of_can_show_inter(as_page, al_level)) {
return 1;
}
return 0;
}