Initialize

var access = new Access(
    "API_KEY",
    "GAME_ID", 
    "USER_ID", 
    "APP_VERSION", 
    debugMode 
);

API_KEY:

Provided by us, from web app -> on the Team Page

GAME_ID:

Provided by us, from web app -> on the Game details Page

USER_ID:

A unique identifier for your user

APP_VERSION:

shown in results

debugMode:

true or false. On true we get Logging of actions in the

Theming

var theme = new Theme(
    new Theme.Dialog(
        Color.white, // [DIALOG] Background Color
        Color.black, // [QUESTION] question text color
        Color.black, // [SUBTITLE] subtitle text color
        Color.black, // [CLOSE_MODAL_ICON] Color of the Close button
        "Choose one to continue", // [SINGLE_CHOOSE_SUBTITLE] Choose one subtitle text
        "Choose one or more choices to continue", // [MULTI_CHOOSE_SUBTITLE] Multiple subtitle text
        "Fonts/Roboto-Light SDF", // [FONT_PATH] Font path for TextMeshPro saved on Scripts/PlaytestingGames/InAppSurvey/Resource/Fonts folder
        Theme.Dialog.Position.BOTTOM // or .CENTER
    ),
    new Theme.NextButton(
        HexToColor("#a8dab5"), // [NEXT_BUTTON] button background
        HexToColor("#FFFFFF"), // [NEXT_BUTTON] onClick button background
        HexToColor("#d9dadc"), // [NEXT_BUTTON] disabled button background
        Color.black, // [NEXT_BUTTON] disabled button.text 
        Color.black, // [NEXT_BUTTON] text color
        Color.black // [NEXT_BUTTON] onCLick text color
    ),
    new Theme.Choice(
        HexToColor("#f2f3f3"), // [CHOICE] background
        HexToColor("#c8e4e4"), // [CHOICE] onClick background
        Color.black, // [CHOICE] text color
        Color.black // [CHOICE] onClick text color
    ),
    new Theme.Slider(
        Color.green, // [SLIDER] Fill Color
        HexToColor("#f2f3f3"), // [SLIDER] UnFilled Color
        Color.black, // SLIDER] Handle Background Color
        Color.white // [SLIDER] Handle text Color
    )
);

// Helper Function
public static Color HexToColor(string hex)
    {
        // Remove the '#' character if present
        if (hex.StartsWith("#"))
        {
            hex = hex.Substring(1);
        }

        // Ensure the hex string is the correct length
        if (hex.Length != 6 && hex.Length != 8)
        {
            Debug.LogError("Invalid hex string length.");
            return Color.white;
        }

        // Parse the hex string
        byte r = byte.Parse(hex.Substring(0, 2), System.Globalization.NumberStyles.HexNumber);
        byte g = byte.Parse(hex.Substring(2, 2), System.Globalization.NumberStyles.HexNumber);
        byte b = byte.Parse(hex.Substring(4, 2), System.Globalization.NumberStyles.HexNumber);
        byte a = 255; // Default to fully opaque

        if (hex.Length == 8)
        {
            a = byte.Parse(hex.Substring(6, 2), System.Globalization.NumberStyles.HexNumber);
        }

        // Convert the bytes to a Color object
        return new Color32(r, g, b, a);
    }

InAppSurvey.Initialize(access, theme, (bool success) => {
   if (success) onSuccess(); 
});

When initializing the package, provide a unique user ID that is meaningful to you (e.g., an analytics ID, a player ID, or any other identifier). This user ID will be associated with survey responses, enabling us to ensure that the same user does not receive the same survey multiple times.