PC & Console - Game Integration Guide

PC & Console Game Integration Guide

Comprehensive guide for implementing PC and Console game attribution with Singular, enabling accurate campaign measurement and analytics across desktop and gaming platforms.

Enterprise Feature: PC and Console game attribution is an enterprise feature. To learn more, read the PC and Console Game Attribution FAQ or contact your Customer Success Manager.

Shared S2S references: This guide covers the PC and Console specifics. For the shared server-to-server building blocks (endpoints, authentication, and common parameters), see the S2S Fundamentals hub . For the full session and event parameter reference, see the PC & Console API Endpoint Reference .


Overview

Integration Options

Singular provides two approaches for PC and Console game attribution. Select the method that best fits your implementation requirements and attribution needs.

Method Description Use Case
PC/Console Singular Links

Recommended: Simplified integration using Singular tracking links for probabilistic attribution. No Web SDK required.

Attribution Method: Probabilistic (IP-based matching)

Fastest implementation with lower integration effort. Ideal for campaigns directing users to third-party stores (Steam, Epic, etc.) or when Web SDK integration is not feasible.

Web SDK + Match ID

Advanced: Enhanced attribution using Singular Web SDK on landing pages with deterministic matching via Match ID.

Attribution Methods: Probabilistic (IP-based) and Deterministic (Match ID)

Highest attribution accuracy when users authenticate on landing pages. Required for Singular Web Attribution features and deterministic attribution.

Implementation Note: Both methods require implementing the PC/Console Server-to-Server (S2S) API integration to report game sessions and events. The difference is in how web campaign clicks are tracked and matched to game installs.


Attribution Flow Comparison

PC/Console Singular Links Flow:

  1. User Clicks Singular Link: User clicks Singular tracking link in marketing campaign
  2. Redirect to Landing Page: User redirected to landing page or store (no Web SDK required)
  3. Download & Install: User downloads and installs game
  4. First Launch: User launches game for first time
  5. S2S Report: Game reports session via S2S API
  6. Probabilistic Attribution: Singular matches game install to Singular Link click based on IP address

Web SDK + Match ID Flow:

  1. User Clicks Campaign Link: User clicks marketing campaign ad or link
  2. Landing Page with Web SDK: User arrives at landing page with Singular Web SDK implemented
  3. Click Capture: Web SDK captures click data and generates Match ID
  4. User Authentication (Optional): If user logs in, Match ID can be passed to game for deterministic attribution
  5. Download & Install: User downloads and installs game
  6. First Launch: User launches game and optionally retrieves Match ID
  7. S2S Report with Match ID: Game reports session via S2S API with or without Match ID
  8. Attribution Matching: Singular performs deterministic matching (if Match ID provided) or probabilistic matching (IP-based)

Server-to-Server Integration

Regardless of attribution method chosen, implementing the S2S API integration is required for all PC and Console game attribution.

Integration Capabilities:

  • Game Session Tracking: Report user sessions and activity across game launches
  • Install Attribution: Attribute new game installs to marketing campaigns
  • Event Analytics: Track in-game events and user interactions for funnel analysis
  • Revenue Measurement: Measure in-game purchases and monetization performance
  • Cross-Platform Support: Unified tracking across PC, Xbox, PlayStation, Nintendo, and Meta Quest

Prerequisites

Before implementing PC & Console integration, ensure the following requirements are met.

Component Requirement
SDK Key

Obtain Singular SDK Key from Dashboard → Developer Tools → SDK Integration → SDK Keys

App Configuration

Add PC or Console game to Singular App Page. For multiple platforms of same title, add all to same Singular "App".

Attribution Method Selection

Choose attribution approach based on implementation requirements:

  • PC/Console Singular Links: No Web SDK required, probabilistic attribution only
  • Web SDK + Match ID: Web SDK required on landing pages, supports both probabilistic and deterministic attribution

Documentation Resources

Complete API reference and implementation guides for PC & Console integration.

Integration Documentation:


Method 1: PC/Console Singular Links (Recommended)

Simplified integration approach using Singular tracking links for probabilistic attribution without requiring Web SDK implementation on landing pages.

Recommended Implementation: This method provides the fastest path to PC/Console attribution with minimal integration effort. Ideal for most use cases.


Overview

How It Works

PC/Console Singular Links enable attribution by capturing click data directly in the tracking link, eliminating the need for Web SDK implementation on landing pages.

Key Benefits:

  • No Web SDK Required: Redirect users to any landing page including third-party stores (Steam, Epic, etc.)
  • Simplified Integration: Only requires S2S API implementation on game side
  • Fast Deployment: Create and launch campaigns quickly without landing page modifications
  • Flexible Destinations: Support for single redirect to any destination URL

Attribution Method:

  • Probabilistic (IP-based): Singular matches game install to Singular Link click based on IP address and device characteristics

Implementation Steps

Step 1: Prerequisites

Ensure the following requirements are met before creating PC/Console Singular Links.

Required: PC/Console app sites must be configured in Singular's Apps screen, and at least one game session must be sent via S2S API for the app site to be eligible for PC/Console Singular Link creation.


Step 2: Create PC/Console Singular Link

Create PC/Console Singular Links in the Singular dashboard to track campaign clicks and enable attribution.

Configuration Steps:

  1. Navigate to Manage Links: In Singular dashboard, go to Attribution → Manage Links
  2. Select App: Choose an App that has PC/Console app sites configured
  3. Create New Link: Click Create New Link button
  4. Select Platform Type: Under Platform Tracking Type field, select "PC/Console"
  5. Configure Target: Select specific PC/Console app site or choose "Track all app sites under this app" option
  6. Set Destination URL: Configure redirect URL (landing page, store page, etc.)
  7. Configure Attribution Settings: Set attribution windows and tracking parameters as needed
  8. Generate Link: Save and generate Singular tracking link

Link Types: PC/Console Links support Custom Sources and select Partner Integrations. Both click and impression links are supported.


Step 3: Implement S2S Integration

Implement Server-to-Server API integration to report game sessions and events. See the Integration Concepts section below for complete S2S implementation details.

Required Implementation:

  • Session Notification: Report game launches using Session Notification Endpoint
  • Event Tracking: Report in-game events and revenue using Event Notification Endpoint
  • Device Identification: Generate and persist unique device identifier (SDID)

Step 4: Launch Campaigns

Use generated PC/Console Singular Links in marketing campaigns to enable attribution tracking.

Campaign Setup:

  • Copy Tracking Link: Copy generated Singular Link from Manage Links
  • Configure Campaign: Use Singular Link as campaign destination URL
  • Launch Campaign: Activate campaign with Singular Link
  • Monitor Attribution: View attribution data in Singular reports as users click links and launch game

Attribution Matching

How Attribution Works

When using PC/Console Singular Links, Singular performs probabilistic attribution matching based on IP address and timing.

Attribution Process:

  1. User Clicks Singular Link: Click data captured by Singular including IP address and timestamp
  2. User Downloads Game: User proceeds to download and install game
  3. Game Launch: User launches game for first time
  4. S2S Report: Game reports session to Singular via S2S API including user IP address
  5. Probabilistic Matching: Singular matches game install to Singular Link click based on IP address within attribution window
  6. Attribution Complete: Install attributed to campaign source

Attribution Accuracy: Probabilistic attribution provides reliable matching for most use cases. For enhanced attribution accuracy with deterministic matching, consider implementing Web SDK + Match ID method.


Method 2: Web SDK + Match ID (Advanced)

Advanced integration approach using Singular Web SDK on landing pages with optional Match ID for deterministic attribution when users authenticate.

Advanced Feature: This method requires Web SDK implementation on landing pages and additional integration effort. Consider this approach if you need Singular Web Attribution features or deterministic attribution via Match ID.


Overview

When to Use This Method

Implement Web SDK + Match ID approach when your use case requires enhanced attribution capabilities beyond basic probabilistic matching.

Use Cases:

  • Web Attribution: You need Singular Web Attribution features and web analytics
  • Deterministic Attribution: Users authenticate on landing pages and you want highest attribution accuracy
  • Cross-Device Tracking: Users may download game on different device than landing page visit
  • Advanced Analytics: You need detailed web engagement metrics before game install

Attribution Methods:

  • Probabilistic (IP-based): Automatic matching based on IP address (same as PC/Console Singular Links)
  • Deterministic (Match ID): Precise matching using unique identifier passed from landing page to game when user authenticates

Implementation Steps

Step 1: Implement Web SDK

Implement Singular Web SDK on marketing landing pages to capture click data and enable attribution.

Web SDK Requirement: PC & Console attribution using this method requires Singular Web SDK implementation on marketing landing pages. The Web SDK captures click data and enables attribution matching when users install and launch your game.

Web SDK Implementation:

  • Follow Web SDK Guide: Web SDK Overview & Getting Started
  • Product ID Configuration: Web SDK Product ID must match game identifier ( i parameter) used in S2S integration
  • Landing Page Deployment: Deploy Web SDK to all marketing landing pages

Configuration Alignment: Web SDK Product ID must exactly match game identifier in S2S integration for attribution to work. This alignment enables Singular to connect web clicks to game installs.


Step 2: Implement S2S Integration

Implement Server-to-Server API integration to report game sessions and events. See the Integration Concepts section below for complete S2S implementation details.

Required Implementation:

  • Session Notification: Report game launches using Session Notification Endpoint
  • Event Tracking: Report in-game events and revenue using Event Notification Endpoint
  • Device Identification: Generate and persist unique device identifier (SDID)

Step 3: Implement Match ID (Optional)

For deterministic attribution, implement Match ID to pass unique identifier from landing page to game when users authenticate.

Optional Feature: Match ID implementation is only necessary if you want deterministic attribution. Web SDK alone provides probabilistic attribution without Match ID.

Match ID Implementation:

  • Retrieve Match ID: Use Web SDK getMatchID() method after user authentication
  • Pass to Game: Implement mechanism to pass Match ID from web to game (query parameter, API, etc.)
  • Include in First Session: Report Match ID in first game session via match_id parameter

See the Match ID Implementation section below for detailed Match ID integration steps.


Attribution Matching

How Attribution Works

When using Web SDK, Singular performs attribution matching using either probabilistic or deterministic methods depending on whether Match ID is provided.

Probabilistic Attribution (No Match ID):

  1. User Clicks Campaign: User clicks marketing campaign link
  2. Landing Page Visit: Web SDK captures click data including IP address
  3. User Downloads Game: User downloads and installs game
  4. Game Launch: User launches game for first time
  5. S2S Report: Game reports session to Singular via S2S API
  6. IP Matching: Singular matches game install to web click based on IP address

Deterministic Attribution (With Match ID):

  1. User Clicks Campaign: User clicks marketing campaign link
  2. Landing Page Visit: Web SDK generates unique Match ID
  3. User Authenticates: User logs in on landing page
  4. Match ID Retrieved: Implementation retrieves Match ID from Web SDK
  5. Match ID Passed to Game: Match ID passed to game via query parameter, API, or other mechanism
  6. User Downloads Game: User downloads and installs game
  7. Game Launch with Match ID: User launches game, retrieves stored Match ID
  8. S2S Report with Match ID: Game reports first session including match_id parameter
  9. Deterministic Matching: Singular matches game install to web click using Match ID for precise attribution

Integration Concepts

Core concepts and requirements for implementing PC & Console S2S integration with Singular. These concepts apply to both attribution methods.

Authentication

All requests to Singular's PC & Console S2S API require SDK key authentication in the a parameter. For the shared authentication mechanics (where to find your SDK Key and how it is passed), see Authentication in S2S Fundamentals .


User Privacy

Singular recommends offering end-users the ability to opt in or opt out of tracking. For the shared privacy parameters, including data_sharing_options and Limit Data Sharing, see Privacy parameters in S2S Fundamentals .


Supported Platforms

Platform Definition

Platform represents where user plays game and must be passed in p parameter on all S2S API requests.

Supported Platform Values:

  • pc - Personal computer platforms
  • xbox - Microsoft Xbox gaming consoles
  • playstation - Sony PlayStation gaming consoles
  • nintendo - Nintendo gaming consoles
  • metaquest - Meta Quest VR headsets

Operating Systems and Stores

In addition to platform, specify operating/game system via os parameter and distribution store via install_source parameter.

Platform
( p )
Operating/Game System
( os )
Store
( install_source )
pc
  • windows
  • linux
  • macos
  • steamos
  • steam
  • epicgamestore
  • microsoftstore
  • gog
  • humblestore
  • selfdistributed
xbox
  • xbox_one
  • xbox_360
  • xbox_series_s
  • xbox_series_x
  • xbox
playstation
  • playstation_3
  • playstation_4
  • playstation_5
  • playstation
nintendo
  • nintendo_switch
  • nintendo
metaquest
  • metaquest
  • metaquest_2
  • metaquest_pro
  • metaquest

Custom Values: Custom values supported for operating system and store parameters, but Singular recommends using standardized values above for consistency and reporting clarity.


Game Identifier

Application Identification

Game identifier associates game events with specific game and must be passed in i parameter on every request.

Identifier Requirements:

  • Format: Any value supported, but Singular recommends reverse DNS notation (e.g., com.singular.game )
  • Cross-Platform Consistency: Same game identifier must be used for same game across all supported platforms
  • Web SDK Alignment (Method 2 only): If using Web SDK + Match ID method, game identifier must match Web SDK Product ID configured on landing pages for attribution to work

Web SDK Alignment: If using Web SDK + Match ID attribution method, game identifier used in S2S integration must exactly match the Product ID configured in your Singular Web SDK implementation. This alignment is essential for Singular to attribute game installs to web campaign clicks. This requirement does not apply to PC/Console Singular Links method.

Configuration Examples:

Implementation Configuration
Web SDK (Method 2)
const config = {
  apiKey: 'YOUR_SDK_KEY',
  productId: 'com.singular.game',  // Must match S2S identifier
  // ... other config
};
S2S API (PC)
p=pc&i=com.singular.game
S2S API (Xbox)
p=xbox&i=com.singular.game
S2S API (PlayStation)
p=playstation&i=com.singular.game

Device Identification

Unique Game Install Tracking

Installation/device identifier associates game events throughout multiple game sessions for same game install and must be passed in sdid parameter on every request.

Identifier Specifications:

  • Format: Recommended UUID Version 4 format
  • Generation: Value generated by game/server at first game launch (install)
  • Persistence: Must persist throughout life of game installation
  • Uniqueness: Each game installation requires unique identifier

Example: sdid=40009df0-d618-4d81-9da1-cbb3337b8dec


Match ID Implementation

Match ID enables deterministic attribution for web campaigns by passing unique identifier from Web SDK to game installation. This feature is only available when using Web SDK + Match ID attribution method.

Optional Advanced Feature: Match ID implementation is only necessary if you are using Web SDK + Match ID attribution method and want deterministic attribution. PC/Console Singular Links method does not support Match ID.

How Match ID Works:

  1. Web SDK Generates Match ID: Singular Web SDK creates unique Match ID when user visits landing page
  2. Retrieve Match ID: Use Web SDK methods to retrieve Match ID from landing page after user authentication
  3. Pass to Game: Your implementation passes Match ID from web page to game during download/install process (e.g., query parameter, deep link, cookie)
  4. Report with First Launch: Game includes Match ID in first session notification to Singular via match_id parameter
  5. Deterministic Match: Singular uses Match ID for precise attribution matching

Web SDK Match ID Methods

Native Implementation

Singular Web SDK provides native methods for retrieving, setting, and clearing Match ID values on landing pages.

Available Methods:

Parameter Details
getMatchID()

Retrieves unique Match ID generated by Singular Web SDK for current web session.

Returns: String containing Match ID value

setMatchID(matchId)

Sets custom Match ID for current web session instead of using Singular-generated value.

Parameters: matchId (string) - Custom Match ID value

clearMatchID()

Clears custom Match ID set via setMatchID() and reverts to Singular-generated default value.


Implementation Examples

NATIVE JAVASCRIPT GOOGLE TAG MANAGER

Native Web SDK Implementation

Use these methods directly after Singular Web SDK initialization to retrieve and manage Match ID values.

Retrieve Match ID

// Get the Singular-generated Match ID
const matchId = window.singularSdk.getMatchID();
console.log('Match ID:', matchId);

// Store Match ID for passing to game
localStorage.setItem('singular_match_id', matchId);

Set Custom Match ID

// Set your own Match ID value
const customMatchId = 'your-custom-match-id-123';
window.singularSdk.setMatchID(customMatchId);

console.log('Custom Match ID set:', customMatchId);

Clear Match ID

// Clear custom Match ID and revert to default
window.singularSdk.clearMatchID();

// Get the new default Match ID
const defaultMatchId = window.singularSdk.getMatchID();
console.log('Default Match ID restored:', defaultMatchId);

Complete Example with Download Button

// Initialize Web SDK
const config = new SingularConfig(sdkKey, sdkSecret, productId)
  .withInitFinishedCallback(() => {
    console.log('Singular SDK initialized');
  });

singularSdk.init(config);

// Handle download button click
document.getElementById('download-button').addEventListener('click', function() {
  // Get Match ID before redirecting to download
  const matchId = window.singularSdk.getMatchID();

  // Pass Match ID to download page via query parameter
  const downloadUrl = `https://example.com/download?match_id=${matchId}`;

  // Redirect to download page
  window.location.href = downloadUrl;
});

Passing Match ID to Game

Implementation Strategies

After retrieving Match ID from Web SDK, implement mechanism to pass value from landing page to game installation.

Common Approaches:

Method Implementation Use Case
Query Parameter

Append Match ID to download URL as query parameter.

https://example.com/download?match_id=abc123

Direct downloads where download page can extract parameter and pass to game installer

Cookie Storage

Store Match ID in first-party cookie accessible by game download page.

document.cookie = `match_id=${matchId}; path=/; max-age=86400`;

Multi-page flows where Match ID needs to persist across page navigations

Local Storage

Store Match ID in browser local storage.

localStorage.setItem('singular_match_id', matchId);

Same-domain scenarios where landing page and download page share storage

Deep Link

Embed Match ID in custom deep link scheme for direct game launch.

mygame://install?match_id=abc123

Advanced implementations with custom protocol handlers

Server-Side API

Send Match ID to server API, game retrieves via authenticated request.

Secure implementations requiring server-side validation and user authentication


S2S API Implementation

Reporting Match ID

Once game retrieves Match ID from web implementation, include in first session notification to Singular for attribution matching.

Critical Timing: Match ID must be included in first game session (install) notification for attribution to work. Sending Match ID on subsequent sessions does not enable attribution matching.

Session Request with Match ID:

PYTHON CURL JAVASCRIPT
import requests

def report_first_session_with_match_id(sdk_key, game_id, device_id, platform, match_id):
    """
    Report first game session with Match ID for attribution
    """
    session_url = "https://s2s.singular.net/api/v1/launch"

    params = {
        'a': sdk_key,
        'i': game_id,
        'sdid': device_id,
        'p': platform,
        'os': 'windows',
        'install_source': 'steam',
        'ip': get_user_ip(),
        'match_id': match_id  # Include Match ID for attribution
    }

    response = requests.get(session_url, params=params)
    return response.json()

# Example: First launch with Match ID
report_first_session_with_match_id(
    sdk_key='your_sdk_key_here',
    game_id='com.singular.game',
    device_id='40009df0-d618-4d81-9da1-cbb3337b8dec',
    platform='pc',
    match_id='abc123def456'  # Retrieved from landing page
)

Match ID Best Practices

Implementation Checklist

Complete Implementation Requirements:

  • Web SDK Integration: Implement Singular Web SDK on landing pages with matching Product ID
  • Match ID Retrieval: Use getMatchID() to retrieve value after user authentication
  • Value Transmission: Implement secure mechanism to pass Match ID from web to game
  • Game Storage: Store Match ID in game until first launch/session report
  • First Session Only: Include match_id parameter only in first session notification
  • Value Validation: Verify Match ID value matches between web and game implementations
  • Testing: Test complete flow from landing page click through game installation and attribution

For complete attribution methodology details and troubleshooting, see PC and Console Game Attribution FAQ .


Game Session Tracking

Reporting game sessions to Singular is required in PC & Console integration, enabling install attribution, re-engagement tracking, and user retention analytics.

Session Notification Endpoint

Implementation Requirement

Call Session Notification Endpoint each time game launches to notify Singular about game session.

API Reference: For complete endpoint specification, see Session Notification Endpoint documentation.


Session Processing

Attribution Workflow

Session notifications enable Singular to perform multiple attribution and analytics functions based on session context.

Processing Logic:

  • First Session (Install): If first game session after unique install, Singular recognizes new install and triggers install attribution process
  • Re-engagement Session: If session qualifies as re-engagement (coming soon), Singular triggers re-engagement attribution process (see Re-engagement FAQ )
  • Regular Session: Otherwise, marked as game session for user activity and retention tracking

Implementation Best Practices

Asynchronous Data Collection

When collecting data to report game session, wait for asynchronous functions to return and handle various functionality before sending session notification.

Critical Timing Considerations:

  • Match ID Attribution (Method 2): When using Web SDK + Match ID method, report first game session only after Match ID potentially available
  • User Consent: If game provides opt-in to Singular's marketing and analytics, wait until consent collected before reporting game session
  • Device Identifier: Ensure SDID generated and stored before first session notification

Session Request Example

Sample Implementation

PYTHON CURL JAVASCRIPT
import requests

def report_game_session(sdk_key, game_id, device_id, platform, os_version, store):
    """
    Report game session to Singular
    """
    session_url = "https://s2s.singular.net/api/v1/launch"

    params = {
        'a': sdk_key,
        'i': game_id,
        'sdid': device_id,
        'p': platform,
        'os': os_version,
        'install_source': store,
        'ip': get_user_ip()
    }

    try:
        response = requests.get(session_url, params=params, timeout=10)

        if response.status_code == 200:
            data = response.json()
            if data.get('status') == 'ok':
                print("Session reported successfully")
                return True
            else:
                print(f"Session error: {data.get('reason')}")
                return False
        else:
            print(f"HTTP error: {response.status_code}")
            return False

    except Exception as e:
        print(f"Exception reporting session: {e}")
        return False

# Example usage
report_game_session(
    sdk_key='your_sdk_key_here',
    game_id='com.singular.game',
    device_id='40009df0-d618-4d81-9da1-cbb3337b8dec',
    platform='pc',
    os_version='windows',
    store='steam'
)

In-Game Event Tracking

Partner Conversion API support: To forward these events to ad network partners through Singular's Conversion API integrations, include the standard optional event attributes (hashed first-party data such as eventId and ehash). See Standard Event Attributes for Conversion API Integrations.

Track in-game events and user interactions to analyze marketing campaign performance, optimize user funnels, and measure engagement across player journey.

Event Planning

Event Definition

Before implementing S2S integration, define events your organization wants to track for campaign analysis and user behavior measurement.

Event Planning Guide: Defining In-Game Events


Event Notification Endpoint

Event Reporting

Call Event Notification Endpoint when event occurs in game to notify Singular for attribution analysis and campaign optimization.

API Reference: For complete endpoint specification, see Event Notification Endpoint documentation.

Event name included in API call determines how event identified in Singular reports, exports, and postbacks.


Event Naming Best Practices

Standard Events

Singular recommends using standard event and attribute naming convention for streamlined partner integration and analytics compatibility.

Implementation Guidelines:

  • Standard Events: Use Singular's standard event naming convention for automatic partner mapping and integration streamlining
  • English Language: Pass custom event names and attributes in English for compatibility with third-party partners and analytics solutions
  • Character Limits: Event names limited to 32 ASCII characters (32 bytes for UTF-8 conversion)
  • Attribute Limits: Event attributes and values limited to 500 ASCII characters

Revenue Event Tracking

Revenue Measurement

Track revenue from in-game purchases to analyze campaign performance and ROI, with data available in reports, log exports, and postbacks.

Revenue Event Implementation: Use Event Notification Endpoint with additional revenue parameters to designate revenue events.

Required Revenue Parameters:

  • is_revenue_event=true - Marks event as revenue event (optional if event name is __iap__ or amount larger than zero)
  • amt=1.99 - Revenue amount
  • cur=USD - ISO 4217 currency code

Event Request Examples

Sample Implementations

PYTHON CURL JAVASCRIPT

Standard Event

import requests

def report_game_event(sdk_key, game_id, device_id, platform, event_name, event_attributes=None):
    """
    Report in-game event to Singular
    """
    event_url = "https://s2s.singular.net/api/v1/evt"

    params = {
        'a': sdk_key,
        'i': game_id,
        'sdid': device_id,
        'p': platform,
        'n': event_name,
        'ip': get_user_ip()
    }

    if event_attributes:
        import json
        params['e'] = json.dumps(event_attributes)

    response = requests.get(event_url, params=params)
    return response.json()

# Example: Level complete event
report_game_event(
    sdk_key='your_sdk_key_here',
    game_id='com.singular.game',
    device_id='40009df0-d618-4d81-9da1-cbb3337b8dec',
    platform='pc',
    event_name='sng_level_achieved',
    event_attributes={
        'level': '5',
        'score': '1250'
    }
)

Revenue Event

def report_revenue_event(sdk_key, game_id, device_id, platform, amount, currency):
    """
    Report revenue event to Singular
    """
    event_url = "https://s2s.singular.net/api/v1/evt"

    params = {
        'a': sdk_key,
        'i': game_id,
        'sdid': device_id,
        'p': platform,
        'n': '__iap__',
        'is_revenue_event': 'true',
        'amt': amount,
        'cur': currency,
        'ip': get_user_ip()
    }

    response = requests.get(event_url, params=params)
    return response.json()

# Example: $9.99 purchase
report_revenue_event(
    sdk_key='your_sdk_key_here',
    game_id='com.singular.game',
    device_id='40009df0-d618-4d81-9da1-cbb3337b8dec',
    platform='pc',
    amount=9.99,
    currency='USD'
)

Next Steps

Complete your PC & Console integration with additional resources and support.

Additional Resources

Documentation & Support


Support Channels

Getting Help

Contact Singular team for implementation assistance and technical support.

  • Solution Engineer: Consult with Singular Solution Engineer for advanced features and integration planning
  • Customer Success Manager: Contact CSM for enterprise feature enablement and account configuration
  • Support Team: Submit support tickets for technical issues and troubleshooting assistance