C++ Library
Use the C++ Library guide to integrate Tapjoy into Cocos2d-x or other native C++ game projects.
Read time 1 minuteLast updated 3 hours ago
Unity Offerwall provides a C++ API on development environments that use Android NDK and C++, such as Cocos2d-x. The C++ API which is provided by Tapjoy’s Android SDK is compatible with Tapjoy’s iOS SDK’s C++ API.
NDK Modules
An NDK module which offers C++ header file and library is included in the Offerwall SDK. Add Tapjoy’s NDK Modules’ path as NDK_MODULE_PATH.ndk-build NDK_MODULE_PATH=../../TapjoySDK_Android/Library/modules
Cocos2dx
AddNDK_MODULE_PATH
proj.android/build_native.sh
Use one of the following modules:# proj.android/build_native.sh ... if [[ "$buildexternalsfromsource" ]]; then echo "Building external dependencies from source" "$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \ "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/source:../../TapjoySDK_Android/Library/modules" else echo "Using prebuilt externals" "$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \ "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt:../../TapjoySDK_Android/Library/modules" fi
Static Library Module
Link your application library to the Static Library Module. Add fiverocks_static module: From the app project, add the tapjoy_static module to Android.mk file that builds Tapjoy API integration source code.Provide JavaVM:make ... include $(CLEAR_VARS) ... LOCAL_STATIC_LIBRARIES := tapjoy_static ... include $(BUILD_SHARED_LIBRARY) ... $(call import-module,tapjoy) ...
tapjoy_static
JNI_OnLoad
Tapjoy::setJavaVM
#include "TapjoyCpp.h" // Tapjoy C++ API ... jint JNI_OnLoad(JavaVM *vm, void *reserved) { ... JniHelper::setJavaVM(vm); tapjoy::Tapjoy::setJavaVM(vm); ... }
Shared Library Module
You can also use the Shared Library Module. This does not require JavaVM. Add thetapjoy_shared
tapjoy_shared
Resolve Shared Library Module’s dependency issue: Before loading the application library that uses Tapjoy Library, callmake ... include $(CLEAR_VARS) ... LOCAL_SHARED_LIBRARIES := tapjoy_shared ... include $(BUILD_SHARED_LIBRARY) ... $(call import-module,tapjoy) ...
Tapjoy.loadSharedLibrary()
import com.tapjoy.Tapjoy; static { Tapjoy.loadSharedLibrary(); System.loadLibrary("YourAppLibrary"); }
C++ API
Use theTapjoyCpp.h
#include "Tapjoy/TapjoyCpp.h" // Tapjoy C++ API using namespace tapjoy; Tapjoy::trackEvent("some event");
Privacy
Full details here.API
TJPrivacyPolicyHandle policyHandle; policyHandle = TJPrivacyPolicy::getPrivacyPolicy(); TJPrivacyPolicy::subjectToGDPR(policyHandle,true); TJPrivacyPolicy::setUserConsent(policyHandle, "1″); TJPrivacyPolicy::setUSPrivacy(policyHandle, "1YNY"); TJPrivacyPolicy::belowConsentAge(policyHandle, true);