• Jeux
  • Industrie
  • Ressources
  • Communauté
  • Apprentissage
  • Assistance
Développement
Moteur Unity
Créez des jeux 2D et 3D pour n'importe quelle plateforme
TéléchargerOffres et tarifs
Monétisation
Achat intégré (IAP)
Découvrez et gérez les IAP à travers les magasins
Mediation
Maximisez les revenus et optimisez la monétisation
Qualité des annonces
Protégez l'expérience utilisateur de votre application
Tapjoy
Construisez une fidélité utilisateur à long terme
Tous les produits de monétisation
Acquisition de nouveaux joueurs
Acquisition de nouveaux joueurs
Faites-vous découvrir et acquérez des utilisateurs mobiles
Unity Vector AI
Connectez les joueurs avec les bons jeux
Aura publicité sur appareil
Atteignez les utilisateurs sur l'appareil au moment de l'engagement maximal
Tous les produits de croissance
Cas d’utilisation
Collaboration 3D
Construisez et révisez des projets 3D en temps réel
Formation immersive
Entraînez-vous dans des environnements immersifs
Expériences client
Créez des expériences interactives 3D
Toutes les solutions sectorielles
Secteurs
Fabrication
Atteindre l'excellence opérationnelle
Distribution
Transformer les expériences en magasin en expériences en ligne
Automobile
Élever l'innovation et les expériences en voiture
Tous les secteurs
Bibliothèque technique
Documentation
Manuels d'utilisation officiels et références API
Outils de développement
Versions de publication et suivi des problèmes
Feuille de route
Examiner les fonctionnalités à venir
Glossaire
Bibliothèque de termes techniques
Informations
Études de cas
Histoires de succès dans le monde réel
Guides des meilleures pratiques
Conseils et astuces d'experts
Toutes les ressources
Nouveautés
Blog
Mises à jour, informations et conseils techniques
Actualités
Actualités, histoires et centre de presse
Centre communautaire
Discussions
Discuter, résoudre des problèmes et se connecter
Événements
Événements mondiaux et locaux
Histoires de la communauté
Made with Unity
Mise en avant des créateurs Unity
Diffusions en direct
Rejoignez les développeurs, créateurs et initiés
Unity Awards
Célébration des créateurs Unity dans le monde entier
Pour tous les niveaux
Unity Learn
Maîtrisez les compétences Unity gratuitement
Formation professionnelle
Améliorez votre équipe avec des formateurs Unity
Vous découvrez Unity ?
Démarrer
Démarrez votre apprentissage
Parcours essentiels Unity
Vous découvrez Unity ? Commencez votre parcours
Guides pratiques
Conseils pratiques et meilleures pratiques
Formation
Pour les étudiants
Démarrez votre carrière
Pour les enseignants
Boostez votre enseignement
Licence d'enseignement subventionnée
Apportez la puissance de Unity à votre institution
Certifications
Prouvez votre maîtrise de Unity
Options d'assistance
Obtenir de l'aide
Vous aider à réussir avec Unity
Plans de succès
Atteignez vos objectifs plus rapidement avec un support expert
FAQ
Réponses aux questions courantes
Contactez-nous.
Connectez-vous avec notre équipe
Offres et tarifs
Langue
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
Réseaux sociaux
Devise
Acheter
  • Produits
  • Unity Ads
  • Abonnement
  • Asset Store Unity
  • Revendeurs
Formation
  • Participants
  • Formateurs
  • Établissements
  • Certification
  • Formation
  • Programme de développement des compétences
Télécharger
  • Hub Unity
  • Télécharger des archives
  • Programme version Bêta
Unity Labs
  • Laboratoires
  • Publications
Ressources
  • Plateforme d'apprentissage
  • Communauté
  • Documentation
  • Unity QA
  • FAQ
  • État des services
  • Études de cas
  • Made with Unity
Unity
  • Notre entreprise
  • Newsletter
  • Blog
  • Événements
  • Carrières
  • Aide
  • Presse
  • Partenaires
  • Investisseurs
  • Affiliés
  • Sécurité
  • Impact sociétal
  • Inclusion et diversité
  • Contactez-nous.
Copyright © 2025 Unity Technologies
  • Mentions légales
  • Politique de confidentialité
  • Cookies
  • Ne vendez ou ne partagez pas mes informations personnelles

« Unity », ses logos et autres marques sont des marques commerciales ou des marques commerciales déposées de Unity Technologies ou de ses filiales aux États-Unis et dans d'autres pays (pour en savoir plus, cliquez ici). Les autres noms ou marques cités sont des marques commerciales de leurs propriétaires respectifs.

Hero background image

Comment utiliser SQL Data Explorer pour analyser les données de jeu

Cette page a été traduite automatiquement pour faciliter votre expérience. Nous ne pouvons pas garantir l'exactitude ou la fiabilité du contenu traduit. Si vous avez des doutes quant à la qualité de cette traduction, reportez-vous à la version anglaise de la page web.
Cliquez ici.

Commencez à explorer vos données

Utilisez Unity Gaming Services (UGS) Data Explorer pour filtrer et utiliser vos données en fonction des métriques ou des événements, et les regrouper par plateforme, pays ou version.

Avec des connaissances de base en SQL (Structured Query Language), vous pouvez améliorer votre analyse et approfondir vos données en utilisant SQL Data Explorer à l'intérieur de l'UGS. Utilisez cette fonctionnalité pour construire et exécuter des requêtes, tracer des résultats dans différents types de visualisations, ajouter des visualisations à des tableaux de bord personnalisés, et exporter vos données pour les utiliser avec d'autres outils d'analyse. Trouvez SQL Data Explorer dans le panneau d'analytique UGS du Unity Dashboard.

Russell Young, l'un des consultants en analytique de Unity, a des conseils et des idées pour commencer vos aventures avec SQL Data Explorer.

Commencez à explorer vos données

  • Commencer votre mission
  • Utilisation de la table EVENTS par défaut
  • Limitez votre requête pour plus d'efficacité
  • Tracer vos résultats
  • Utilisation de l'outil de pivot
  • Ajuster les données
  • Voir les résultats
  • Augmenter la vitesse de votre requête
  • Échantillonnage de vos données
  • Utilisation de approximate_count_distinct
  • Ouverture du panneau Glossaire
  • Tables agrégées dans UGS
  • Utilisation de FACT_EVENT_TYPE_USERS_DAY
  • Identifier les joueurs par des critères spécifiques
  • Utiliser des variables nouvellement définies
  • Tirer plus de vos données

Commencer votre mission

Voir notre collection de recettes dans le SQL Cookbook pour explorer les riches données dans UGS. Notez qu'UGS utilise la version Snowflake de SQL.

Une des requêtes du livre de recettes examine les statistiques de mission. Adaptation de ce code pour jeter un coup d'œil rapide aux taux d'échec des missions dans notre jeu fictif. Cela utilise des événements personnalisés que nous avons créés pour suivre l'engagement des joueurs avec les missions, avec notre paramètre missionID.

Utilisation de la table EVENTS par défaut

Utilisation de la table EVENTS par défaut

Pour cette requête, nous utiliserons la table EVENTS par défaut. Cette table inclut des données granulaires pour chaque événement enregistré dans notre jeu.

Limitez votre requête pour plus d'efficacité

Limitez votre requête pour plus d'efficacité

Notez que nous avons utilisé un filtre de date ici pour limiter notre requête et la rendre efficace. Sans cette limite, la requête s'exécuterait sur l'ensemble des 365 jours de données qui sont interrogeables par défaut dans SQL Data Explorer. De plus, il est toujours plus efficace de spécifier les colonnes qui vous intéressent plutôt que d'utiliser SELECT *.

Des phrases comme EVENT_JSON:missionID::INTEGER semblent intimidantes, mais si vous tapez 'missionID' et utilisez l'autocomplétion, SQL Data Explorer génère la syntaxe JSON pour vous - à condition que vous ayez ce paramètre configuré dans votre propre jeu.

Tracer vos résultats

Tracer vos résultats

Après avoir exécuté la requête, nous pouvons tracer nos résultats pour voir l'histoire dans les données. Les graphiques prennent actuellement en charge jusqu'à deux axes Y et un axe X. Les étiquettes des axes peuvent facilement être renommées en utilisant l'expression 'as' dans votre requête SQL ; dans ce cas, notre axe Y prend le nom que nous avons défini : « Pourcentage de joueurs échoués ».

Nous voyons que plus d'un joueur sur trois a échoué dans notre première mission (missionID 0), donc nous pouvons affiner la difficulté de la mission pour donner aux utilisateurs une première expérience plus positive.

Astuce : Si vous avez des valeurs NULL dans vos données et que cela rend un axe étrange, utilisez coalesce(yourParameter, 0) pour remplir les blancs.

Utilisation de l'outil de pivot

Utilisation de l'outil de pivot

Lorsque nous exécutons une requête, nous obtenons un tableau de nos résultats. Ajoutez PLATFORM à notre requête ; dans l'image ci-dessus, vous verrez à quoi ressemble le tableau maintenant. Remarquez le bouton ‘Pivot’ à droite. Ceci est utile pour remodeler nos données sans avoir besoin de réécrire notre requête.

Ajuster les données

Ajuster les données

Dans notre exemple, nous pourrions utiliser l'outil de pivot pour ajuster nos données afin d'obtenir PLATFORM dans les lignes et MISSIONID comme colonnes.

Voir les résultats

Voir les résultats

Ajuster le tableau montre qu'il y avait peu de différence dans les échecs de mission entre les plateformes.

Augmenter la vitesse de votre requête

À mesure que votre jeu devient de plus en plus réussi et que votre base de joueurs grandit, vous pourriez constater que même des requêtes simples prennent un temps significatif à s'exécuter.

Disons que vous voulez exécuter cette requête de base sur vos données :

Échantillonnage de vos données

Vous pourriez vous attendre à ce qu'elle s'exécute assez rapidement, mais avec un grand ensemble de données, ce n'est pas toujours le cas. Profitez de la structure de notre entrepôt et du fait que les user_ids sont stockés sous forme de hachage pour utiliser une méthode rapide afin de réduire le nombre d'utilisateurs inclus et d'augmenter la vitesse de la requête.

Ici, nous divisons nos utilisateurs en 100 seaux pseudo-aléatoirement assignés et numérotés et regardons le seau numéro 63.

Ajouter ce code dans des requêtes simples ne fera pas beaucoup de différence, mais à mesure que nous augmentons la complexité computationnelle, filtrer les données de cette manière devient de plus en plus critique. Même dans notre jeu fictif, nous avons constaté que cette version révisée de notre requête s'exécutait 75 % plus rapidement que l'originale. Cela permet de gagner du temps et de l'argent pour obtenir des informations sur des sous-ensembles d'utilisateurs sans avoir à traiter des ensembles de données entiers.

Utilisation de approximate_count_distinct

Dans les requêtes ci-dessus, nous avons utilisé count(distinct…) pour calculer notre nombre de joueurs individuels et de combinaisons d'événements. Une façon d'améliorer la vitesse de notre requête, si nous n'avons pas besoin d'une précision à 100 % avec nos résultats, est d'utiliser approximate_count_distinct. Notre requête précédente devient :

Ouverture du panneau Glossaire

Ouverture du panneau Glossaire

Jusqu'à présent, nous n'avons utilisé que la table principale des ÉVÉNEMENTS. Comme cette table contient des données granulaires sur chaque événement que nous avons eu dans notre jeu, c'est la table la plus étendue. Pour améliorer nos requêtes, nous pouvons utiliser des objets plus petits pour exécuter nos requêtes plus efficacement.

Jetons un œil au panneau Glossaire, pour explorer les tables que nous avons disponibles pour interroger.

Tables agrégées dans UGS

Aux côtés des ÉVÉNEMENTS, ici nous trouvons toutes les tables agrégées disponibles pour l'interrogation. Celles-ci sont toutes disponibles prêtes à l'emploi avec UGS.

  • La table UTILISATEURS contient une seule ligne par joueur avec ses métriques de vie dans le jeu, telles que le nombre d'événements, le temps de jeu total, les dépenses totales, etc.
  • FACT_USER_SESSIONS_DAY inclut des données sur chaque session pour chaque joueur.
  • FACT_EVENT_TYPE_USERS_DAY consiste en une ligne pour chaque événement qu'un joueur a envoyé chaque jour, avec un total compté.
  • FACT_WAU_USERS et FACT_MAU_USERS incluent des données de profil pour les utilisateurs qui ont joué au cours de la semaine ou du mois précédent à un jour donné.

Entre FACT_EVENT_TYPE_USERS_DAY et FACT_USER_SESSIONS_DAY, vous pouvez probablement répondre à 80%+ de la plupart des requêtes sur des objets plus petits.

Utilisation de FACT_EVENT_TYPE_USERS_DAY

Par exemple, dans notre première requête, nous examinions les taux d'échec des missions. Nous pourrions également utiliser FACT_EVENT_TYPE_USERS_DAY pour calculer les taux d'échec globaux chaque jour, avec le nombre d'événements stocké dans cette table.

Nous utiliserons également l'une de ces tables dans notre prochaine requête :

Identifier les joueurs par des critères spécifiques

Identifier les joueurs par des critères spécifiques

Utilisez cette requête pour voir le flux d'événements pour les joueurs qui répondent à des critères spécifiques. C'est utile pour l'assurance qualité et le débogage car – en utilisant la table UTILISATEURS mentionnée ci-dessus – vous obtiendrez un utilisateur différent chaque fois que vous l'exécutez.

Si, par exemple, vous soupçonnez que les événements ne sont pas enregistrés correctement pour les joueurs qui ont installé une certaine version de votre jeu, vous pouvez exécuter la requête ci-dessous. Ce qui revient est le flux d'événements d'un joueur aléatoire exécutant la version du jeu qui semble rencontrer des problèmes. Faites cela quelques fois, et vous pouvez rapidement commencer à repérer des motifs dans les données.

Astuce : Si vous souhaitez commenter plusieurs lignes, utilisez le raccourci clavier CTRL+/

Utiliser des variables nouvellement définies

Vous êtes peut-être habitué à écrire des requêtes SQL dans des langages autres que Snowflake – par exemple, si vous avez utilisé l'outil de Data Mining deltaDNA précédent, vous avez probablement écrit des requêtes en Vertica.

Vous pouvez maintenant faire référence à des variables nouvellement définies sans avoir besoin de les inclure d'abord dans une expression de table commune (CTE). Par exemple, cette requête s'exécute avec succès dans SQL Data Explorer – mais dans le deltaDNA original, elle aurait levé une erreur "la colonne 'rice' n'existe pas" :

Tirer plus de vos données

Il y a beaucoup de potentiel dans SQL Explorer. Il y a beaucoup plus à découvrir dans UGS Analytics, y compris de nombreuses options de graphique telles que les graphiques en secteurs et les graphiques à barres empilées. L'accès direct vous donne un accès direct à vos données d'Analytics via Snowflake.

Pour accélérer vos insights et obtenir de l'aide pour construire vos requêtes et tableaux de bord, contactez-nous.

Lectures complémentaires

  • Documentation UGS Analytics
  • SQL Cookbook
  • Présentation de Funnels et de SQL Data Explorer
  • Référence des fonctions SQL de Snowflake
  • Tarification UGS