C++ 库
参考 C++ 库指南将 Tapjoy 集成到 Cocos2d-x 或其他原生 C++ 游戏项目中。
阅读时间2 分钟最后更新于 5 天前
Unity Offerwall 在使用 Android NDK 和 C++ 的开发环境(例如 Cocos2d-x)中提供了一个 C++ API。 Tapjoy Android SDK 提供的 C++ API 与 Tapjoy iOS SDK 的 C++ API 兼容。
NDK 模块
Offerwall SDK 中包含一个提供 C++ 头文件和库的 NDK 模块。请添加 Tapjoy NDK 模块的路径作为 NDK_MODULE_PATH。ndk-build NDK_MODULE_PATH=../../TapjoySDK_Android/Library/modules
Cocos2dx
向proj.android/build_native.shNDK_MODULE_PATH使用以下模块之一:# 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
静态库模块
将应用程序库链接到静态库模块。 添加 fiverocks_static 模块: 在应用项目中,将 tapjoy_static 模块添加到构建 Tapjoy API 集成源代码的 Android.mk 文件中。提供 JavaVM:make...include $(CLEAR_VARS)...LOCAL_STATIC_LIBRARIES := tapjoy_static...include $(BUILD_SHARED_LIBRARY)...$(call import-module,tapjoy)...
tapjoy_staticJNI_OnLoadTapjoy::setJavaVM#include "TapjoyCpp.h" // Tapjoy C++ API...jint JNI_OnLoad(JavaVM *vm, void *reserved) { ... JniHelper::setJavaVM(vm); tapjoy::Tapjoy::setJavaVM(vm); ...}
共享库模块
还可以使用共享库模块。此模块不需要 JavaVM。 添加tapjoy_sharedtapjoy_shared解决共享库模块的依赖问题:在加载使用 Tapjoy 库的应用程序库之前,调用make...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
使用TapjoyCpp.h#include "Tapjoy/TapjoyCpp.h" // Tapjoy C++ APIusing namespace tapjoy; Tapjoy::trackEvent("some event");
隐私
如需查看完整详细信息,请点击此处。API
TJPrivacyPolicyHandle policyHandle;policyHandle = TJPrivacyPolicy::getPrivacyPolicy();TJPrivacyPolicy::subjectToGDPR(policyHandle,true);TJPrivacyPolicy::setUserConsent(policyHandle, "1″);TJPrivacyPolicy::setUSPrivacy(policyHandle, "1YNY");TJPrivacyPolicy::belowConsentAge(policyHandle, true);