Skip to content

Commit ad69042

Browse files
committed
sdk sample app
1 parent cf6be52 commit ad69042

File tree

2 files changed

+114
-0
lines changed

2 files changed

+114
-0
lines changed

sample/CMakeLists.txt

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
2+
# set directories
3+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/Debug")
4+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/Release")
5+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/Debug")
6+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/Release")
7+
8+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -stdlib=libc++")
9+
10+
set(GA_ROOT_DIR "..")
11+
12+
set(GA_SOURCE_DIR "${GA_ROOT_DIR}/source")
13+
set(DEPENDENCIES_DIR "${GA_ROOT_DIR}/source/dependencies")
14+
set(LIB_DIR "${GA_ROOT_DIR}/libs")
15+
set(GA_DIR "${GA_ROOT_DIR}/gameanalytics")
16+
17+
include("create_source_groups_macro")
18+
include("eval_condition_macro")
19+
20+
include_directories(
21+
"${GA_SOURCE_DIR}/gameanalytics"
22+
"${DEPENDENCIES_DIR}"
23+
"${DEPENDENCIES_DIR}/crossguid"
24+
"${DEPENDENCIES_DIR}/nlohmann"
25+
"${DEPENDENCIES_DIR}/stacktrace"
26+
"${DEPENDENCIES_DIR}/zf_log"
27+
"${DEPENDENCIES_DIR}/sqlite"
28+
"${DEPENDENCIES_DIR}/crypto"
29+
"${DEPENDENCIES_DIR}/miniz"
30+
)
31+
32+
set(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/Main.cpp")
33+
34+
add_executable(GASample ${SOURCES})
35+
target_link_libraries(GASample GameAnalytics)
36+

sample/Main.cpp

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
#include <string>
2+
#include <iostream>
3+
4+
#include "GameAnalytics.h"
5+
6+
constexpr const char* GAME_KEY = "bd624ee6f8e6efb32a054f8d7ba11618";
7+
constexpr const char* SECRET_KEY = "7f5c3f682cbd217841efba92e92ffb1b3b6612bc";
8+
9+
struct RemoteConfigs:
10+
public gameanalytics::IRemoteConfigsListener
11+
{
12+
void onRemoteConfigsUpdated(std::string const& configs) override
13+
{
14+
std::cout << "remote configs = " << configs << '\n';
15+
}
16+
};
17+
18+
void testCrash()
19+
{
20+
int* i = nullptr;
21+
*i = 10;
22+
}
23+
24+
int main(int argc, char** argv)
25+
{
26+
using namespace gameanalytics;
27+
28+
std::cout << "start\n";
29+
30+
GameAnalytics::setEnabledVerboseLog(true);
31+
GameAnalytics::setEnabledInfoLog(true);
32+
33+
std::string fields = "{\"my_field\": 1000}";
34+
35+
GameAnalytics::setGlobalCustomEventFields(fields);
36+
37+
GameAnalytics::configureExternalUserId("test_user");
38+
GameAnalytics::setEnabledErrorReporting(true);
39+
40+
auto listener = std::make_shared<RemoteConfigs>();
41+
GameAnalytics::addRemoteConfigsListener(listener);
42+
43+
GameAnalytics::setEnabledManualSessionHandling(true);
44+
45+
GameAnalytics::configureBuild("1.0.0");
46+
GameAnalytics::configureAvailableResourceCurrencies({"diamonds"});
47+
GameAnalytics::configureAvailableResourceItemTypes({"diamonds_pack_10000"});
48+
GameAnalytics::configureAvailableCustomDimensions01({"test"});
49+
50+
GameAnalytics::enableSDKInitEvent();
51+
GameAnalytics::enableMemoryHistogram();
52+
GameAnalytics::enableHardwareTracking();
53+
GameAnalytics::enableFPSHistogram([]() -> float {return 60.f;});
54+
55+
GameAnalytics::setCustomDimension01("test");
56+
57+
using namespace std::chrono_literals;
58+
59+
GameAnalytics::initialize(GAME_KEY, SECRET_KEY);
60+
61+
GameAnalytics::startSession();
62+
GameAnalytics::addDesignEvent("test_event", 10.);
63+
GameAnalytics::addBusinessEvent("EUR", 100, "diamonds", "diamond_pack_10000", "dungeon_shop");
64+
GameAnalytics::addErrorEvent(EGAErrorSeverity::Critical, "failed to load level");
65+
GameAnalytics::addResourceEvent(EGAResourceFlowType::Source, "diamonds", 100, "diamonds", "big_pack_01");
66+
GameAnalytics::addProgressionEvent(EGAProgressionStatus::Complete, 100, "volcano", "dungeon", "dragon");
67+
68+
std::this_thread::sleep_for(5000ms);
69+
//testCrash();
70+
71+
//GameAnalytics::endSession();
72+
73+
std::cout << "test\n";
74+
75+
//std::cin.get();
76+
77+
return 0;
78+
}

0 commit comments

Comments
 (0)