# Understanding Revenue

This page details how revenue is generated from your game and Ad Spaces. This will enable you to boost revenue significantly while maintaining your creative vision and ensuring the player's experience is as seamless as possible.

# Understanding How Ads Generate Revenue

For each advertisement displayed over an Ad Space's lifetime, Frameplay captures player view metrics for a maximum of 60 seconds. This data is aggregated into a single impression.

The amount of money an advertiser will pay for a single impression is known as the CPI (cost per impression).

We evaluate the quality of an impression based on a number of factors from the players perspective.

Time on Screen: The period of time an Ad Space is on screen.

Screen Percentage: What percentage of the screen is taken up by an Ad Space.

Ad Space Percentage: What percentage of the Ad Space is on screen.

Orientation: The Ad Space's orientation in relation to the player camera.

Ratio Skew: How skewed the Ad Space appears on screen in relation to the original image and the angle of the players view.

Obstructions: How much of the Ad Space is obscured by in-game objects, lighting, UI and other effects.

We understand that lighting, angle of view and obstructions play a part in the real world too and we account for this in our impression calculations. See our Best Practices Guide for more information how to achieve the highest CPI.

# Session Data

We encourage developers to capture player age and sex. This allows us to target and serve more relevant advertisements to the player. The more specific targeting we can provide advertisers, the higher the CPI for the Ad Space will become.

For more information on how we collect and use player data.

# Targeted Ads

Targeted Ads on Mobile

Android

Since the Google Play Services update in 2021, it is recommended for developers to declare an AD_ID permission in the AndroidManifest file:

<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>

Read more about Google's Advertising ID (opens new window) policy.

iOS

iOS 14 and later requires publishers to obtain permission to track the user's device. The Frameplay SDK assists developers in implementing the AppTrackingTransparency (ATT) framework to obtain users' privacy data status in Unity.

Example C# script
using UnityEngine;
using FrameplaySDK.iOS;
public class MyAuthTrackingPermissionRequest : MonoBehaviour, IFrameplayATTListener
{
    // For best practices, request user permission before starting frameplay session.
    void Awake()
    {
        if (FrameplayATTManager.GetAuthorizationTrackingStatus() == FrameplayATTManager.AuthorizationTrackingStatus.NOT_DETERMINED)
        {
            FrameplayATTManager.RequestForAppTrackingTransparency(this);
        }
    }

    // Authorization request callbacks
    public void FrameplayATTListenerNotDetermined()
    {
        // User device status is not determined
    }
    public void FrameplayATTListenerRestricted()
    {
        // User device status restricted
    }
    public void FrameplayATTListenerDenied()
    {
        // User device status denied
    }
    public void FrameplayATTListenerAuthorized()
    {
        // User device status authorized
    }
}

Note : The SDK unity package contains the ATTPostProcess script that lets you add the NSUserTrackingUsageDescription in the info.plist file when exporting the project. For more information on Apple's User Privacy and Data Use (opens new window).

Last Updated: 9/12/2023, 1:44:30 PM