Import Triumph
Import Triumph into your project
Unity
Swift
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).
Navigate to Assets -> Triumph -> Prefabs to find the TriumphAPI Prefab. Add it to the top level of your scene.
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
*/
TriumphKit.configure(gameId: "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
*/
TriumphKit.configure(
gameId: "YOUR_GAME_ID",
options: .init(hasTutorial: true)
)
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.
Last modified 1mo ago