1.将VigameLibrary文件整体拷贝到工程目录文件结构如下
image.png2.在工程中通过右键 add file to ... 方式将整个文件夹添加到工程中 && 删除 include->deps 的文件夹引用(删除引用,千万别把整个文件给删除了)
image.png3. 项目->TARGETS->Buil Phases -> Link Blnary With Libraries 中添加系统必须的库文件
image.png4.项目->TARGETS->Build Setting -> Other linker Flags 中添加
-ObjC
5.项目->TARGETS->Build Setting ->Enable Bitcode 设置为 NO
image.png6.添加项目中静态库的搜索路径&头文件搜索路径
a. xxx.framework 搜索路径添加(一般将文件拷贝添加到工程后会自动填写)
image.pngb. xxx.a 搜索路径添加(一般将文件拷贝添加到工程后会自动填写)
image.pngc. 头文件搜索路径添加(需要手动添加)
(友情提示:可以直接将文件夹拖入 添加区 自动生成路径! 也可以手动输入填写)
image.png
7.所有需要调用c++代码的文件 都必须将 后缀.m 修改成 .mm
eg:
image.png
◀◀ 以上内容是工程配置 以下内容为工程中代码调用 ▶▶
一、 初始化工作
(AppDelegate.mm 文件 application:didFinishLaunchingWithOptions 函数中完成)
#include "vigame_core.h"
//广告
#include "vigame_ad.h"
//统计
#import "vigame_tj.h"
#import "tj/apple/DataTJManagerImpl-apple.h"
//bug 跟踪
#import "BugHelper.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
/*your code here .*/
vigame::CoreManager::init();
vigame::ad::ADManager::init();
vigame::tj::DataTJManager::init();
TJApple->appDidFinishLaunchingWithOptions(application, launchOptions);
// bugly 测试
[BugHelper startWithCallback:^(NSString *result) { NSLog(@"%@",result); }];
}
二、代码调用
1.通过广告位名称打开一个广告
#include "vigame_ad.h"
// 打开一个横幅广告
vigame::ad::ADManager::openAd("banner");
// 打开关闭横幅广告
vigame::ad::ADManager::closeAd("banner");
// 打开一个插屏广告
vigame::ad::ADManager::openAd("pause");
// 打开一个开屏广告
vigame::ad::ADManager::openAd("splash");
/*监听 某个视频广告位是否加载成功*/
vigame::ad::ADManager::addAdReadyChangedCallback("level_fail_mfzs", [=](bool isReady){
if (isReady) {
NSLog(@"level_fail_mfzs视频广告位 加载成功");
}
});
//手动检测广告是否加载成功
vigame::ad::ADManager::isAdReady("level_fail_mfzs");
// 打开一个视频广告 && 监听是否视频播放成功
vigame::ad::ADManager::openAd("level_fail_mfzs",[=](vigame::ad::ADSourceItem* adSourceItem, int result){
if (1 == result) {/*打开视频失败*/ }
else if( 0 == result){/*打开视频成功*/ }
});
// 在 appDelegate.mm 文件中 打开一个 唤醒游戏广告
- (void)applicationDidBecomeActive:(UIApplication *)application {
//打开一个唤醒广告
vigame::ad::ADManager::openAd("game_awaken");
}
2.添加自定义统计事件
//统计
#import "vigame_tj.h"
//方式1
vigame::tj::DataTJManager::event("eventName");
//方式2
vigame::tj::DataTJManager::event("eventName","value");
//方式3
std::unordered_map<std::string, std::string> map;
map.insert(std::make_pair("key1", "value1"));
map.insert(std::make_pair("key2", "value2"));
vigame::tj::DataTJManager::event("eventName", map);
// 导入支付头文件 发起支付
#import "pay/PayManager.h"
vigame::pay::PayManager::orderPay(154);
◀◀ 下面内容为工程参数配置信息 ▶▶
1.Buglg参数配置
在项目中VigameLibrary/Resource/VigameLibrary.plist
文件中
如果需要使用 bugly 跟踪上线项目用户问题反馈
1> 将IS_USED 设置成YES
2> 将 APP_ID 填入在bugly平台上申请的参数
2.统计相关的参数配置
image.png如果需要使用某家统计 需要将对应的 IS_USED 设置成YES
各家统计字段说明:
1> 谷歌统计
|—— IS_USED 是否使用google 统计
|—— Conversion_ID 统计使用到转换ID
|—— new_Conversion_Label 新增转化标签 (没有可以不用填写)
|—— retained_Conversion_Label 留存转化便签(没有可以不用填写)
|—— pay_Conversion_Label 支付转化标签 (没有可以不用填写)
2> dataEye统计
|—— IS_USED 是否使用dataEye 统计
|—— IS_Login_Mode 是否为登录模式
|—— Channel_ID 渠道ID (app store)
|—— AppID 统计AppID (dataEye平台申请)
|—— TrackingAppID 跟踪ID (dataEye平台申请)
3> 友盟统计
|—— IS_USED 是否使用友盟 统计
|—— NOT_GAME_SENCE 是否为游戏
|—— AppKey 统计ID (友盟平台申请)
3.广告配置
在项目中VigameLibrary/Resource/feedata_apple.xml
文件中
<?xml version="1.0" encoding="utf-8"?>
<data>
<!-- 项目的appid -->
<appid>16065</appid>
<!-- 项目的projectid -->
<prjid>999111</prjid>
</data>
appid,prjid 将由公司统一为每个游戏分配下发, 所有的广告信息将通过这些参数自动从网络上获取!
网友评论