Triumph Docs
  • 🏆Triumph Tournaments
  • Triumph SDK
    • Install Triumph
    • Import Triumph
    • Presenting Triumph
    • Triumph Lifecycle
    • Triumph RNG
    • Configuration
    • Keys and Permissions
    • Apple Pay
    • Go Live Checklist
    • Test Flight Build
    • App Store Submission
    • Get Paid!
    • Demo Integrations
      • Swift Example
      • Unity Example
    • Common Errors
      • Unity
        • .NET Error
        • Enable Bitcode Error
  • Requirements
    • Apple Business Developer Account
  • Privacy Policy Multi Product
  • Terms of Use
  • Frequently Asked Questions (Regulatory and Legal)
  • Responsible Gaming Policy
  • Cookie Policy
  • Opt Out of Sale or Sharing of Information
Powered by GitBook
On this page
  1. Triumph SDK

Import Triumph

Import Triumph into your project

PreviousInstall TriumphNextPresenting Triumph

Last updated 1 year ago

Import

In your Unity project click on Tools > TriumphSDK > Generate Unity Native Methods

This will generate file TriumphUnityNativeMethods:

using UnityEngine;
using UnityEngine.SceneManagement;

namespace TriumphSDK
{
    public class TriumphUnityNativeMethods : MonoBehaviour, ITriumphUnityNativeMethods
    {
        // place your game ID here
        public static readonly string gameId = "";

        // place your merchant ID here
        public static readonly string merchantId = "";

        public void TriumphStartedGame()
        {
            /* TODO: implement method */
        }

        public void TriumphDidDismiss()
        {
            /* TODO: implement method */
        }

        public void TriumphDidPresent()
        {
            /* TODO: implement method */
        }

        public void TriumphWillDismiss()
        {
            /* TODO: implement method */
        }

        public void TriumphWillPresent()
        {
            /* TODO: implement method */
        }
    }
}

Then, you need to click Tools > TriumphSDK > Generate API Prefab

Which will generate Prefab file called TriumphAPI. This prefab is an empty GameObject with two important MonoBehaviour components: TriumphAPI and TriumphUnityNativeMethods. Ensure that this prefab is in the first loaded scene of your game (i.e. the main menu).

Now, navigate to the TriumphUnityNativeMethods component of the TriumphAPI prefab. Grab the gameId for your game from the Triumph Dashboard (under your game's go live tab) and set it to the gameId variable in this file.

using UnityEngine;
using TriumphSDK;

public class TriumphUnityNativeMethods: MonoBehaviour, ITriumphUnityNativeMethods {
    
    // REQUIRED CONFIG IMPLEMENTATION 
    
    /*
     * Put your gameId here! Use gameId = "" if you want to test
     * out our Sandbox mode before creating a dev account
     */
    public static readonly string gameId = "YOUR_GAME_ID";
    
    /*
     * If you have playable or video tutorial within your game, 
     * please specify this by setting it to true
     */
    public static readonly bool hasTutorial = false;
}

Be sure to import TriumphSDK at the top level of any file that uses Triumph.

To configure Triumph Leaderboards, navigate to the AppDelegate.swift willFinishLaunchingWithOptions method, and add the configuration method Triumph.configure. Grab the gameId for your game from the Triumph Dashboard and pass it in as a parameter.

Please note that it's required to configure Triumph in willFinishLaunchingWithOptions

import TriumphSDK

func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
        /*
        * @Params: 
        * gameId -- Your game ID
        */
        Triumph.configure(id: "YOUR_GAME_ID") 
        return true
} 

If you have playable or video tutorial within your game, please specify this setting within the configuration:

import TriumphSDK

func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
        /*
        * @Params: 
        * gameId -- Your game ID
        * options -- Configuration options
        */
        Triumph.configure(
                id: "YOUR_GAME_ID",
                options: .init(
                        hasTutorial: true // set to true if you have tutorial
                )
        ) 
        return true
} asd

Next, to receive push notifications you should pass the data in these AppDelegate methods:

import TriumphSDK

func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
    Triumph.appLifecycle.didFinishLaunchingWithOptions(launchOptions)
    
    UNUserNotificationCenter.current().delegate = self
    // Instantiate your app
    
    return true
}
    
func userNotificationCenter(
    _ center: UNUserNotificationCenter,
    didReceive response: UNNotificationResponse,
    withCompletionHandler completionHandler: @escaping () -> Void
) {
    Triumph.appLifecycle.userNotificationCenter(
        center, 
        didReceive: response, 
        withCompletionHandler: completionHandler
    )
}
    
func application(
    _ application: UIApplication, 
    didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data
) {
    Triumph.appLifecycle
        .didRegisterForRemoteNotificationsWithDeviceToken(deviceToken)
}

You're now ready to integrate Triumph functionality into your game.

Navigate to Assets -> Triumph -> Prefabs to find the TriumphAPI Prefab. Add it to the top level of your scene.