iOS Getting Started

Integrating the IV Metrics SDK for iOS is the first step towards recording user gameplay and tracking their progress in your mobile game.

Download the latest IV Metrics SDK

Prerequisites

The following prerequisites are needed to run IV Metrics:

Compile-Time

  • Minimum iOS 12 targetRuntime
    • Gameplay recording requires:
    • Minimum 1.5 GB total device RAM

Configure Your App

  1. Download the latest IVMetricsCore.framework framework
  2. Add the downloaded framework to your Xcode project

Initialise the IVMetrics SDK

You must initialise the SDK as soon as you can within the app’s lifecycle, or else you risk missing data that could be crucial to getting the full picture of each user’s experience within your game.

The following things are required to be passed through to the [IVMetrics Create:(NSString) projectKey:(NSString) verboseLogging:(BOOL) ConsentFormTrigger:(IVConsentFormShowTrigger) showsRecordingDot:(BOOL) privacyUrl:(NSString*)]; function, they MUST be NonNull:

  1. NSString* developerKey
    1. You can find this Key on the IV Metrics panel.
  2. NSString* projectKey
    1. You can also find this Key on the IV Metrics panel.
  3. BOOL verboseLogging
    1. This should only be enabled for debugging purposes. You must set this to NO when building for production
  4. IVConsentFormShowTrigger consentTrigger
    1. Set how you wish to show the consent form. Consent must be obtained before a recording can be undertaken.
  5. BOOL showsRecordingDot
    1. Whether to show the builtin recording icon when a recording is underway. Disable if you wish to show your own.
  6. NSString* privacyPolicyUrl
    1. The consent form contains a button that links the user to your company’s privacy policy.

An example of how you could initialise the SDK:

#import <<>Foundation/Foundation.h<>>
#import <IVMetricsCore/IVMetricsCore.h>

@implementation ExampleClass : NSObject<UIApplicationDelegate>

-(id) init
{
    if ((self = [super init]))
    {
        [IVMetrics Create:@"DEV-KEY-XXXX" 
               projectKey:@"PRJ-KEY-XXXX"
           verboseLogging:NO
       ConsentFormTrigger:IVConsentFormShowTriggerAutomaticOnStartup
        showsRecordingDot:YES
         privacyPolicyURL:@"https://mycompany.com/privacyPolicy"];
    }

    return self;
}

Setup Complete

Your project is now set up to use IV Metrics when deploying to Android devices. You should begin to see devices appearing in requests on the panel when the project is ran on a device.

To begin receiving recordings from devices, go to the IV Metrics panel and create a new request.

Due to changes in the Apple Developer License Agreement, user consent must be obtained before a recording can take place and an indicator must be showing when a recording is underway.

You can let the IV Metrics SDK handle showing of the consent form either when the SDK starts up for the first time for the user, or when a recording is requested by the server for first time for the user. The SDK will show the builtin consent form, then once consent is granted, the status is stored by the SDK for the current and future sessions.

You may choose to manually show the builtin consent form, or your own. You can then use the following consent APIs provided by the SDK:

  • [IVMETRICS GetConsentStatus]
    • Returns: IVConsentStatus
    • Description: Will return the current consent status stored by the SDK.
  • [IVMetrics SetConsentStatus:(IVConsentStatus)]
    • Returns: void
    • Description: Set the consent status to be stored by the SDK.
  • [IVMetrics ShowConsentForm]
    • Returns: void
    • Description: Shows the built in consent form.

The IV Metrics SDK contains a visual indicator to inform the user that a recording is underway. Passing YES into the showsRecordingDot:(BOOL) parameter of [IVMetrics Create:…] will let the SDK handle the showing and dismissal of the builtin indicator.

You can change the position of the builtin recording indicator by using one of the following APIs:

  • [IVMetrics SetRecordingDotPosition:(IVRecordingDotPosition)]
    • Returns: void
    • Description: Pass in your choice value from IVRecordingDotPosition enum and let the SDK handle the positioning and anchoriing of the builtin indicator
  • [IVMetrics SetRecordingDotPosition:(CGPoint) withAnchor:(IVRecordingDotPosition)]
    • Returns: void
    • Description: Pass in your custom indicator position relevant to the secondary anchor parameter preset. Useful if you require finer control over the builtin recording indicator position.Pass in a custom position for the recording dot, and an anchor point for

You may wish to handle this yourself, so passing NO into that parameter and setting up the following listener will allow you to receive notification when to show and hide your own indicator:

  • [IVMetrics SetRecordingDotEnabledListener:(void (^ _Nullable)(BOOL enabled)]
    • Returns: void
    • Description: Set this listener with a callback to be informed by the SDK when to show/hide your own recording indicator.

Next Steps

Now the IV Metrics SDK is implemented, here’s some additional things you can do with the IV Metrics SDK:

Events API

Legacy Support Solutions

Here are some solutions you may need to know about when implementing IV Metrics. It is not an exhaustive list so if you notice this SDK clashing with Xcode or when deployed, please don’t hesitate to contact our Support Team.

  • You may need to manually add the IVMetricsCore.framework to your main target’s Frameworks and Libraries list.
  • Some versions of Xcode may require you to embed the IVMetricsCore.framework into your main target.

Copyright © 2026 IVMetrics.com All rights reserved.

Copyright © 2026 IVMetrics.com All rights reserved.

This site uses Just the Docs, a documentation theme for Jekyll.