172 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			172 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
|  | using System; | ||
|  | using Unity.Multiplayer.Center.Common.Analytics; | ||
|  | using UnityEngine.Analytics; | ||
|  | 
 | ||
|  | namespace Unity.Multiplayer.Center.Analytics | ||
|  | { | ||
|  |     /// <summary> | ||
|  |     /// Package representation in the analytics data. | ||
|  |     /// </summary> | ||
|  |     [Serializable] | ||
|  |     internal struct Package | ||
|  |     { | ||
|  |         /// <summary> | ||
|  |         /// The identifier of the package. | ||
|  |         /// </summary> | ||
|  |         public string PackageId; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// Whether the user has selected this package for installation. | ||
|  |         /// </summary> | ||
|  |         public bool SelectedForInstall; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// Whether the package was recommended. | ||
|  |         /// </summary> | ||
|  |         public bool IsRecommended; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// Whether the package was already installed when the installation attempt event occured | ||
|  |         /// </summary> | ||
|  |         public bool IsAlreadyInstalled; | ||
|  |     } | ||
|  | 
 | ||
|  |     /// <summary> | ||
|  |     /// A single Answer to the GameSpecs questionnaire. | ||
|  |     /// </summary> | ||
|  |     [Serializable] | ||
|  |     internal struct GameSpec | ||
|  |     { | ||
|  |         /// <summary> | ||
|  |         /// The identifier of the answered question (does not change). | ||
|  |         /// </summary> | ||
|  |         public string QuestionId; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// The text of the question as displayed in the UI (may change with versions). | ||
|  |         /// </summary> | ||
|  |         public string QuestionText; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// Whether the question accepts multiple answers. | ||
|  |         /// </summary> | ||
|  |         public bool AcceptsMultipleAnswers; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// The identifier of the answered question (does not change). | ||
|  |         /// </summary> | ||
|  |         public string AnswerId; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// The text of the answer as displayed in the UI (may change with versions). | ||
|  |         /// </summary> | ||
|  |         public string AnswerText; | ||
|  |     } | ||
|  | 
 | ||
|  |     /// <summary> | ||
|  |     /// | ||
|  |     /// </summary> | ||
|  |     [Serializable] | ||
|  |     internal struct RecommendationData : IAnalytic.IData | ||
|  |     { | ||
|  |         /// <summary> | ||
|  |         /// The preset selected by the user. | ||
|  |         /// </summary> | ||
|  |         public int Preset; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// The preset selected by the user (game genre) as displayed in the UI. | ||
|  |         /// </summary> | ||
|  |         public string PresetName; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// The version defined in the Questionnaire data. | ||
|  |         /// </summary> | ||
|  |         public string QuestionnaireVersion; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// All the selected answers to the questions of the game specs questionnaire. | ||
|  |         /// </summary> | ||
|  |         public GameSpec[] GameSpecs; | ||
|  |     } | ||
|  | 
 | ||
|  |     /// <summary> | ||
|  |     /// What type of content the user Interacted with (buttons). | ||
|  |     /// </summary> | ||
|  |     [Serializable] | ||
|  |     internal struct InteractionData : IAnalytic.IData | ||
|  |     { | ||
|  |         /// <summary> | ||
|  |         /// The identifier of the section that contains the button. | ||
|  |         /// </summary> | ||
|  |         public string SectionId; | ||
|  |          | ||
|  |         /// <summary> | ||
|  |         /// Whether it is a call to action or a link. | ||
|  |         /// </summary> | ||
|  |         public InteractionDataType Type; | ||
|  |          | ||
|  |         /// <summary> | ||
|  |         /// The name of the button in the UI. | ||
|  |         /// </summary> | ||
|  |         public string DisplayName; | ||
|  |          | ||
|  |         /// <summary> | ||
|  |         /// The target package for which the section is helpful. | ||
|  |         /// </summary> | ||
|  |         public string TargetPackageId; | ||
|  |     } | ||
|  | 
 | ||
|  |     /// <summary> | ||
|  |     /// Payload of the installation event. | ||
|  |     /// </summary> | ||
|  |     [Serializable] | ||
|  |     internal struct InstallData : IAnalytic.IData | ||
|  |     { | ||
|  |         /// <summary> | ||
|  |         /// The preset selected by the user. | ||
|  |         /// </summary> | ||
|  |         public int Preset; | ||
|  |          | ||
|  |         /// <summary> | ||
|  |         /// The preset selected by the user (game genre) as displayed in the UI. | ||
|  |         /// </summary> | ||
|  |         public string PresetName; | ||
|  |          | ||
|  |         /// <summary> | ||
|  |         /// The version defined in the Questionnaire data. | ||
|  |         /// </summary> | ||
|  |         public string QuestionnaireVersion; | ||
|  |          | ||
|  |         /// <summary> | ||
|  |         /// All the selected answers to the questions of the game specs questionnaire. | ||
|  |         /// </summary> | ||
|  |         public GameSpec[] GamesSpecs; | ||
|  |          | ||
|  |         /// <summary> | ||
|  |         /// The packages that were in the recommendation tab of the multiplayer center | ||
|  |         /// </summary> | ||
|  |         public Package[] Packages; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// The hosting model selected by the user as displayed in the UI. | ||
|  |         /// </summary> | ||
|  |         public string hostingModelName; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// The hosting model is the recommended solution. | ||
|  |         /// </summary> | ||
|  |         public bool hostingModelRecommended; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// The netcode solution selected by the user as displayed in the UI. | ||
|  |         /// </summary> | ||
|  |         public string netcodeSolutionName; | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// The netcode solution is the recommended solution. | ||
|  |         /// </summary> | ||
|  |         public bool netcodeSolutionRecommended; | ||
|  |     } | ||
|  | } |