Get Recommendations
After uploading your users to the SplitScreen platform, you can start getting personalized matchmaking recommendations. The system analyzes user profiles and preferences to suggest compatible players for your users.
Getting User Recommendations
Make a GET request to the /v1/users/{user_id}/recommendations endpoint, replacing {user_id} with the ID of the user you want to get recommendations for.
Request:
curl -X GET \
"https://api.splitscreen-example.com/v1/users/user123/recommendations?count=10" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response:
{
"recommendations": [
{
"client_user_id": "client123:user456",
"display_name": "PlayerTwo",
"overall_score": 0.85,
"score_breakdown": {
"games": 0.9,
"schedule": 0.8,
"location": 0.75,
"genres": 0.9,
"personality": 0.85,
"yee_gamer_motivation": 0.78
}
},
{
"client_user_id": "client123:user789",
"display_name": "PlayerThree",
"overall_score": 0.72,
"score_breakdown": {
"games": 0.7,
"schedule": 0.8,
"location": 0.65,
"genres": 0.7,
"personality": 0.75,
"yee_gamer_motivation": 0.68
}
}
]
}
Query Parameters
count(optional): Number of recommendations to return (default: 10, max: 50)min_score(optional): Minimum match score threshold (0.0 to 1.0)game_type(optional): Filter recommendations by specific game type
Example with parameters:
curl -X GET \
"https://api.splitscreen-example.com/v1/users/user123/recommendations?count=5&min_score=0.7&game_type=fps" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Understanding Match Scores
The overall_score is a value between 0.0 and 1.0 that indicates how well two users are matched:
- 0.9 - 1.0: Excellent match
- 0.7 - 0.9: Good match
- 0.5 - 0.7: Moderate match
- 0.0 - 0.5: Poor match
The score is calculated based on various factors including:
- Games: Compatibility based on shared games and playtime patterns
- Schedule: Availability matching based on timezone and time slots
- Location: Geographic proximity for latency optimization
- Genres: Game genre preference alignment
- Personality: MBTI personality type compatibility
- Yee Gamer Motivation: Gaming motivation profile similarity
- Steam data compatibility (when Steam integration is enabled)
Score Breakdown
The score_breakdown object provides detailed breakdown of why users are matched:
games: Compatibility based on shared games and playtime patternsschedule: Availability matching based on timezone and time slotslocation: Geographic proximity for latency optimizationgenres: Game genre preference alignmentpersonality: MBTI personality type compatibility (INTJ, ENFP, etc.)yee_gamer_motivation: Gaming motivation profile similarity across 12 dimensionssteam_compatibility: Steam data matching score (when enabled)
Steam Integration
When Steam integration is enabled for your client, recommendations are significantly enhanced with real gaming data:
Enhanced Scoring
- Game Library Analysis: Matches based on actual owned games
- Genre Preferences: Uses Steam genre data for better compatibility
- Playtime Patterns: Considers gaming habits and preferences
- Steam Insights: Additional scoring factors from Steam data
Steam Data in Recommendations
{
"steam_insights": {
"shared_games": 15,
"genre_overlap": 0.87,
"play_style_match": "competitive"
}
}
For detailed information about enabling and configuring Steam integration, see the Steam Integration Guide.
Yee's Gamer Motivation Model
PlaySync leverages Yee's Gamer Motivation Model to provide more accurate matchmaking by understanding what drives your users to play games.
What It Measures
The model analyzes 12 key gaming motivations that influence player behavior and preferences:
- Power: Desire for status, control, and dominance
- Story: Interest in narrative and character development
- Design: Appreciation for aesthetics and creativity
- Fantasy: Desire for escapism and role-playing
- Strategy: Preference for tactical thinking and planning
- Challenge: Seeking difficulty and skill mastery
- Community: Desire for social interaction and teamwork
- Discovery: Interest in exploration and learning
- Completion: Drive to finish games and collect achievements
- Excitement: Seeking adrenaline and fast-paced action
- Competition: Desire to win and outperform others
- Destruction: Enjoyment of chaos and mayhem
How It Improves Matchmaking
When you provide Yee's gamer motivation scores for your users, PlaySync can:
- Match Compatible Players: Find users with similar gaming motivations
- Reduce Toxicity: Avoid matching players with conflicting play styles
- Improve User Satisfaction: Users are more likely to enjoy playing with compatible teammates
- Enhance Retention: Better matches lead to longer user engagement
Integration with Quantic Foundry
We have partnered with Quantic Foundry to support the integration of Yee's Gamer Motivation Model survey in your applications. This allows you to:
- Collect Motivation Data: Use Quantic Foundry's validated survey to gather user motivation scores
- Improve Matchmaking: Provide more accurate recommendations based on gaming psychology
- Enhanced User Experience: Help users find players with compatible gaming motivations
Score Breakdown
The yee_gamer_motivation score in the breakdown represents how similar two users' gaming motivations are across all 12 dimensions. A higher score indicates more compatible gaming preferences.
Example:
{
"yee_gamer_motivation": 0.78,
"personality": 0.85,
"games": 0.9
}
For more information about implementing Yee's Gamer Motivation Model in your application, contact us or visit Quantic Foundry's resources.
Real-time Recommendations
For real-time matchmaking, you can call the recommendations endpoint whenever a user is looking for a match. The system will:
- Analyze the user's current profile
- Find other users who are also looking for matches
- Return the best matches based on compatibility
Example for real-time matchmaking:
curl -X GET \
"https://api.playsync.com/v1/users/user123/recommendations?count=3&min_score=0.8" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Batch Recommendations
If you need recommendations for multiple users at once, you can make separate requests for each user. The system optimizes for individual user matching rather than batch processing.
Error Handling
Common error responses:
User not found:
{
"error": "Resource not found",
"message": "User with ID 'user123' does not exist"
}
Insufficient data:
{
"error": "Insufficient user data",
"message": "User profile needs more information for accurate recommendations"
}
Invalid parameters:
{
"error": "Invalid parameters",
"message": "Count must be between 1 and 50"
}
Example: Complete Recommendation Flow
# 1. Get your access token (see Client Registration guide)
curl -X POST https://api.playsync.com/v1/token \
-H "Content-Type: application/json" \
-d '{
"client_id": "your-client-id",
"api_key": "your-api-key",
"client_secret": "your-client-secret"
}'
# 2. Get recommendations for a user
curl -X GET "https://api.playsync.com/v1/users/user123/recommendations?count=5" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
# 3. Process the recommendations in your application
# The response will contain an array of recommended users with match scores
Best Practices
- Regular Updates: Keep user profiles updated to maintain recommendation quality
- Filter Results: Use query parameters to get more relevant recommendations
- Handle Errors: Implement proper error handling for cases where users don't exist
- Cache Tokens: Store and reuse JWT tokens until they expire (1 hour)
- Monitor Scores: Track match scores to understand recommendation quality
Integration Tips
- Call the recommendations endpoint when users are actively looking for matches
- Store recommendation results in your application for quick access
- Implement fallback logic for when no good matches are found
- Consider user feedback to improve future recommendations