Skip to main content

Client Platform Configuration

SplitScreen provides a flexible configuration system that allows clients to customize platform features and recommendation algorithm weights according to their needs.

Overview

Client platform configuration enables you to:

  • Set custom weights for your recommendation algorithm factors
  • Enable or disable Steam integration for automatic user data synchronization
  • Customize how the platform prioritizes different matching criteria

Recommendation Algorithm Weights

You can customize how the recommendation algorithm prioritizes different factors by setting custom weights. This allows you to tailor the matching experience to your specific use case.

Default Weights

If no custom weights are specified, SplitScreen uses these default weights:

FactorWeightDescription
games1.0Game preferences and playtime
interests1.0Genre preferences and gaming interests
location1.0Geographic proximity and timezone
personality1.0MBTI type and gaming motivations

Setting Custom Weights

To customize the recommendation algorithm, update your client configuration with custom weights:

curl -X PUT \
"https://api.splitscreen-example.com/v1/client/config" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"games": 1.5,
"interests": 0.8,
"location": 1.2,
"personality": 1.0
}'

Example Configuration:

{
"games": 1.5,
"interests": 0.8,
"location": 1.2,
"personality": 1.0
}

Weight Guidelines:

  • Higher weights (1.5+) emphasize that factor more heavily in recommendations
  • Lower weights (0.5-) reduce the importance of that factor
  • Weight of 1.0 maintains the default importance
  • Weight of 0.0 completely disables that factor

Use Case Examples

Competitive Gaming Focus:

{
"games": 2.0,
"interests": 1.5,
"location": 0.8,
"personality": 0.5
}

Social Gaming Focus:

{
"games": 1.0,
"interests": 1.2,
"location": 1.5,
"personality": 2.0
}

Casual Gaming Focus:

{
"games": 0.8,
"interests": 1.0,
"location": 1.0,
"personality": 1.2
}

Steam Integration Configuration

Enabling Steam Integration

Steam integration is disabled by default for all clients. To enable automatic Steam data synchronization, simply set the flag in your configuration:

curl -X PUT \
"https://api.splitscreen-example.com/v1/client/config" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"steam_sync_enabled": true
}'

Configuration Parameters

ParameterTypeDefaultDescription
steam_sync_enabledbooleanfalseMaster switch for Steam integration

What Happens When Enabled

When Steam integration is enabled:

  • SplitScreen automatically fetches and syncs user Steam data
  • Game libraries, playtime, and achievements are updated regularly
  • No additional API keys or configuration required from your side
  • Data is synchronized securely using our Steam integration service

Complete Configuration Example

Here's a complete example combining both platform weights and Steam integration:

curl -X PUT \
"https://api.splitscreen-example.com/v1/client/config" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"games": 1.5,
"interests": 0.8,
"location": 1.2,
"personality": 1.0,
"steam_sync_enabled": true
}'

Best Practices

  1. Start with Default Weights: Begin with the default configuration and adjust based on user feedback
  2. Test Incrementally: Make small adjustments to weights and monitor recommendation quality
  3. Consider Your User Base: Competitive games may benefit from higher game/interest weights, while social games may prefer higher personality weights
  4. Monitor Performance: Track how weight changes affect user engagement and satisfaction
  5. Steam Integration: Enable Steam sync if your users primarily play Steam games for richer data

Configuration Endpoints

  • GET /v1/client/config - Retrieve current configuration
  • PUT /v1/client/config - Update configuration
  • DELETE /v1/client/config - Reset to default configuration

For more information about how these configurations affect recommendations, see the Architecture documentation.