Tapjoy는 Cocos2d-x와 같은 Android NDK 및 C++를 사용하는 개발 환경을 위해 C++ API를 제공합니다. Tapjoy의 Android SDK에서 제공하는 C++ API는 Tapjoy의 iOS SDK의 C++ API와 호환됩니다.
Tapjoy SDK에는 C++ 헤더 파일과 라이브러리를 제공하는 NDK 모듈이 포함되어 있습니다. Tapjoy의 NDK 모듈 경로를 NDK_MODULE_PATH로 추가하세요.
ndk-build NDK_MODULE_PATH=../../TapjoySDK_Android/Library/modules
콜론 (:)으로 구분 된NDK_MODULE_PATH
를 proj.android/build_native.sh
에 추가합니다.
# 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 API 연동 소스 코드를 빌드하는 Android.mk 파일에 tapjoy_static
모듈을 추가합니다.
```make
...
include $(CLEAR_VARS)
...
LOCAL_STATIC_LIBRARIES := tapjoy_static
...
include $(BUILD_SHARED_LIBRARY)
...
$(call import-module,tapjoy)
...
Provide JavaVM:
`tapjoy_static` module requires a JavaVM object. Find the function definition of `JNI_OnLoad` and add the `Tapjoy::setJavaVM` method:
```java
#include "TapjoyCpp.h" // Tapjoy C++ API
...
jint JNI_OnLoad(JavaVM *vm, void *reserved) {
...
JniHelper::setJavaVM(vm);
tapjoy::Tapjoy::setJavaVM(vm);
...
}
공유 라이브러리 모듈을 사용할 수도 있습니다. 이 경우 JavaVM이 필요하지 않습니다.
tapjoy_shared
모듈을 추가합니다 :
앱 프로젝트에서 Tapjoy API 통합 소스 코드를 빌드하는 Android.mk 파일에 tapjoy_shared
모듈을 추가합니다.
...
include $(CLEAR_VARS)
...
LOCAL_SHARED_LIBRARIES := tapjoy_shared
...
include $(BUILD_SHARED_LIBRARY)
...
$(call import-module,tapjoy)
...
공유 라이브러리 모듈의 종속성 문제 해결 :
Tapjoy 라이브러리를 사용하는 애플리케이션 라이브러리를 로드하기 전에 Tapjoy.loadSharedLibrary ()
를 호출하세요 :
import com.tapjoy.Tapjoy;
static {
Tapjoy.loadSharedLibrary();
System.loadLibrary("YourAppLibrary");
}
TapjoyCpp.h
헤더 파일을 사용하세요 :
#include "Tapjoy/TapjoyCpp.h" // Tapjoy C++ API
using namespace tapjoy;
Tapjoy::trackEvent("some event");
자세한 내용은 이 문서를 참조하세요.
TJPrivacyPolicyHandle policyHandle;
policyHandle = TJPrivacyPolicy::getPrivacyPolicy();
TJPrivacyPolicy::subjectToGDPR(policyHandle,true);
TJPrivacyPolicy::setUserConsent(policyHandle, "1″);
TJPrivacyPolicy::setUSPrivacy(policyHandle, "1YNY");
TJPrivacyPolicy::belowConsentAge(policyHandle, true);