集成说明
第一步:下载TradPlus_CoscosCreator_SDK插件
sdk包含文件如下:
第二步:将COCOS文件夹下的文件添加到CocosCreator项目中
如图:
- 选中 TradPlusSDK.js,勾选导入为插件
二、平台配置说明
(1)Android平台配置
在CocosCreator项目中配置桥接代码
- 将SDK文件夹的Android文件夹添加到CocosCreator项目根目录下,如图
- 在 Native/engine/android/app/ module项目中build.gradle中配置java.srcDirs,以方便找到Android桥接代码,如图
java.srcDirs "../src", "src","../../../../Android/TradPlusSDK"
在proguard-rules.pro添加混淆配置
-dontshrink
-dontoptimize
-dontobfuscate
集成TP SDK和三方平台
-
构建Android项目:构建前按照官方文档-构建选项介绍 做好项目配置,构建Android项目成功后
-
在TradPlusSDK下载平台选择需要集成的广告平台集成SDK和Adapter
构建好的Android项目pro级别的build.gradle中根据SDK下载平台生成的project’s build.gradle添加maven仓库
buildscript {
repositories {
google()
mavenCentral()
// 添加三方平台仓库
}
dependencies {
classpath 'com.android.tools.build:gradle:7.3.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
构建好的Android项目应用级别的build.gradle中根据SDK下载平台生成的app’s build.gradle添加依赖
(2)iOS平台配置
1.在CocosCreate项目中配置桥接代码
1.将SDK文件夹的iOS下的TradPlusSDK目录添加到CocosCreate项目的 native/engine/ios/ 目录下
2.在 CMakeLists.txt 中添加导出代码,方便导出
cmake_minimum_required(VERSION 3.8)
set(CMAKE_SYSTEM_NAME iOS)
set(APP_NAME "TradPlus_cocosCreator_382" CACHE STRING "Project Name")
project(${APP_NAME} CXX)
set(CC_PROJECT_DIR ${CMAKE_CURRENT_LIST_DIR})
set(CC_UI_RESOURCES)
set(CC_PROJ_SOURCES)
set(CC_ASSET_FILES)
set(CC_COMMON_SOURCES)
set(CC_ALL_SOURCES)
include(${CC_PROJECT_DIR}/../common/CMakeLists.txt)
#添加默认XIB布局
list(APPEND CC_UI_RESOURCES
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPNativeTemplate.xib
)
#添加原生代码
list(APPEND CC_PROJ_SOURCES
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPNativeTemplate.h
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPNativeTemplate.m
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCNative.h
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCNative.m
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCNativeManager.h
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCNativeManager.m
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCOfferwall.h
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCOfferwall.m
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCOfferwallManager.h
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCOfferwallManager.m
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCSplash.h
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCSplash.m
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCSplashManager.h
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCSplashManager.m
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCRewardVideo.h
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCRewardVideo.m
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCRewardVideoManager.h
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCRewardVideoManager.m
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCBanner.h
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCBanner.m
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCBannerManager.h
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCBannerManager.m
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCInterstitial.h
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCInterstitial.m
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCInterstitialManager.h
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCInterstitialManager.m
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCPluginUtil.h
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TPCPluginUtil.m
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TradplusSdkManager.h
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TradplusSdkManager.m
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TradplusSdkPlugin.h
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TradplusSdkPlugin.mm
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TTDUID2Manager.h
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TTDUID2Manager.m
${CMAKE_CURRENT_LIST_DIR}/TradPlusSDK/TTDUID2ManagerProtocol.h
)
set(EXECUTABLE_NAME ${APP_NAME}-mobile)
cc_ios_before_target(${EXECUTABLE_NAME})
add_executable(${EXECUTABLE_NAME} ${CC_ALL_SOURCES})
cc_ios_after_target(${EXECUTABLE_NAME})
3.导出Xcode项目配置三方源
至 iOS打包平台获取相关SDK的 cocopods 配置或SDK,然后添加集成到Xcode项目中
2.其他配置说明
- 配置 App Tracking Transparency (IDFA) 授权
在 /native/engine/ios/Info.plist 中配置可以在构建时自动导出
<key>NSUserTrackingUsageDescription</key>
<string>点击"允许"以使用设备信息获得更加相关的广告内容,未经同意我们不会用于其他目的;开启后,您也可以前往系统“设置-隐私 ”中随时关闭</string>
建议在 /native/engine/ios/AppDelegate.mm 中添加IDFA授权代码
Objc代码
#import <AppTrackingTransparency/AppTrackingTransparency.h>
- (void)applicationDidBecomeActive:(UIApplication *)application {
//IDFA授权
if (@available(iOS 14.5, *)) {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
}];
}
/*
Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
*/
[[SDKWrapper shared] applicationDidBecomeActive:application];
[appDelegateBridge applicationDidBecomeActive:application];
}
- 设置SKNetworkID
在 /native/engine/ios/Info.plist 中配置可以在构建时自动导出
- 如使用 Admob 或 GoogleAdManager 时需要添加的配置
必须要将产品在 Admob 的唯一性标识写在客户端中,否则将会造成应用crash。
在Info.plist中添加 GADApplicationIdentifier配置, 应用发布时请替换成应用在Admob后台的appid。
在 /native/engine/ios/Info.plist 中配置可以在构建时自动导出
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</string>