c++cocos2d-xvungle-ads

Failed to find method id of isCacheAvailable on Vungle android because it cannot read Vungle library


I'm using Sdkbox Vungle v1.2.0.1 with Cocos2d-x v3.2. I successfully integrated Vungle and ran it on iOS. I use method sdkbox::PluginVungle::isCacheAvailable() to check if Vungle video is available or not. But it cannot run on android. The log says INF: Failed to find method id of isCacheAvailable. I think this issue happens because it cannot read the Vungle SDK library on Android.

I've done everything according to Vungle integration document and my Android.mk is like this:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

$(call import-add-path,$(LOCAL_PATH)/../../cocos2d)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/external)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/extensions)
$(call import-add-path,$(LOCAL_PATH))

LOCAL_MODULE := cocos2dcpp_shared

LOCAL_MODULE_FILENAME := libcocos2dcpp

FILE_LIST := $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp)

LOCAL_SRC_FILES := cpp/main.cpp \
                   cpp/ProjectUtilsAndroid.cpp
LOCAL_SRC_FILES += $(FILE_LIST:$(LOCAL_PATH)/%=%)

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
                    $(LOCAL_PATH)/../../cocos2d/extensions \
                    $(LOCAL_PATH)/../../cocos2d/external/rapidjson \
                    $(LOCAL_PATH)/../../cocos2d/cocos/editor-support/spine \
                    $(LOCAL_PATH)/../../cocos2d/cocos/ui \
                    $(LOCAL_PATH)/../../cocos2d/cocos/network \

LOCAL_CFLAGS += -Wno-psabi -D CLASSIC
LOCAL_CPPFLAGS += -std=c++11

LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static 
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static 
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static 
LOCAL_WHOLE_STATIC_LIBRARIES += spine_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_ui_static 
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static 

LOCAL_STATIC_LIBRARIES += android_native_app_glue
LOCAL_LDLIBS += -landroid
LOCAL_LDLIBS += -llog
LOCAL_STATIC_LIBRARIES += PluginVungle
LOCAL_STATIC_LIBRARIES += sdkbox

include $(BUILD_SHARED_LIBRARY)
$(call import-module,cocos/ui)
$(call import-module,cocos/network)
$(call import-module,extensions)
$(call import-module,editor-support/cocosbuilder)
$(call import-module,editor-support/spine)
$(call import-module,sdkbox) 
$(call import-module,pluginvungle)
$(call import-module,.)

Could you please help me figure out exactly which part am I missing?

EDIT: The onVungleCacheAvailable() is triggered but whenever I called sdkbox::PluginVungle::isCacheAvailable(), it always return false.


Solution

  • It is a bug in sdkbox, and it was fixed in the 1.2.5 version. You can download the 1.2.5 version here