# Sessions & Cameras
When the Frameplay SDK is initialized a Session & runtime connection to our servers is created. This Session is used for reporting on the Frameplay Dashboard (opens new window)
# Starting a Session
Initialize the Frameplay SDK to create a Session & runtime connection to our servers. This only needs to be called once before gameplay begins and is required for ads to load.
Initialize by calling the method frameplay::initialize
with the following parameters:
- Set the
gameId
to your Game ID value found in the Frameplay Dashboard Game Page (opens new window) This ensures your project is linked to your Game, on our Dashboard - Enter your application name into the
build_name
parameter. (No special characters allowed) - Enter your build version into the
build_version
parameter in the form ofx.y
orx.y.z
. - Set the
frameplay::sdk_mode
parameter to test during development. This ensures you load mock ads and test analytics will be gathered on the Dashboard (opens new window) - Set the
global_texture_quality
parameter to your required global Ad Space texture quality (optional) - Configure the
global_texture_quality
parameter. This controls the downloaded advertisement file sizes. (optional) - Configure the
player
parameter with the current player details. (If available, the players Age and Gender should be passed as parameters. These can be sourced from a client API or a custom login) - Set the
Allow Data Collection
player parameter. This corresponds to the respective platform signalLimit Ad Tracking
.
#include "frameplay.h"
// Create the configuration objects
const frameplay::settings settings{
"my_game_id",
"my_game",
"1.0.0"
frameplay::sdk_mode::test,
frameplay::global_texture_quality::medium
};
const frameplay::player player(frameplay::data_collection::allow);
// Start the Frameplay SDK
frameplay::frameplay::initialize(settings, player);
Code examples can be found in our SDK demo scene: Frameplay\FrameplayExampleScene.h
# Session Parameters
# Game ID
The Game ID value is found in the Frameplay Dashboard, on your Game Page (opens new window) This ensures your project is linked to your Game on our Dashboard.
# Game Name & Version
The Game Name
and Game Version
parameters are used as part of network requests from the Frameplay SDK. They do not need to conform to a specific format. Game Version usually takes the format x.y
or x.y.z
however. Please avoid the use of special characters in these parameters.
# SDK Mode
The SDK Mode
parameter determines the environment: test
or release
.
During development ensure sessions are run with the frameplay::sdk_mode::test
value. This will load mock ads in your Session and analytics will be gathered on your Test Dashboard (opens new window).
When publishing a production build, set the frameplay::sdk_mode::release
parameter. This will ensure your Ad Spaces request real advertisements and analytics will be recorded on your Live Dashboard.
# Global Texture Quality
The Global texture quality
determines the advertisement texture size. Set to either quarter
, half
or original
.
All advertisement images will be under 2MB when downloaded at runtime. (Actual texture memory usage (VRAM) being higher.)
This global configuration - combined with the Ad Space quality setting - controls the downloaded advertisement file sizes and maximum resolution parameter to control the ad download texture quality.
# Cache Size
The Cache Size
controls how the Frameplay SDK caches ad content in memory. If we serve the same ad content to a player multiple times, serving it from the cache instead of the network provides a performance boost. This parameter is measured in number of textures stored in memory; set it to 0 to disable the runtime cache. Each texture cached will occupy ~200KB to ~2MB in space.
# Player
The player Age
, Gender
can be optionally sourced from a client API or a custom login. This data allows for targeted advertisements.
The Allow Data Collection
parameter corresponds to the "Limit Ad Tracking" signal (e.g. iOS, Android). False
: User has not opted-in tracking is limited per commercial guidelines, or True
: User has opted-in tracking is unrestricted.
# Camera
The Frameplay Session uses a Camera for gathering metrics. Only one Camera Object can be registered at a time.
By default, the Session will use the Scene's default camera, or the camera provided in the frameplay::initialize
method call.
Cameras can be registered and unregistered when required with the frameplay::set_camera
function.