Beispiel #1
0
            public void ChangingStageEnded(StageNavigationItem newStageItem, Analytics.ChangeType changeTypeAnalytics)
            {
                m_EventData.changeType         = changeTypeAnalytics;
                m_EventData.newStage           = GetStageType(newStageItem);
                m_EventData.newBreadcrumbCount = StageNavigationManager.instance.stageHistory.Length;
                m_EventData.autoSaveEnabled    = StageNavigationManager.instance.autoSave;
                var duration = DateTime.UtcNow.Subtract(m_StartedTime);

                UsabilityAnalytics.SendEvent("stageChange", m_StartedTime, duration, true, m_EventData);
            }
 private void DoAnalytics()
 {
     UsabilityAnalytics.Event("Sprite Editor", "Slice", "Type", (int)s_Setting.slicingType);
     if (s_SpriteEditor.originalTexture != null)
     {
         UsabilityAnalytics.Event("Sprite Editor", "Slice", "Texture Width", s_SpriteEditor.originalTexture.width);
         UsabilityAnalytics.Event("Sprite Editor", "Slice", "Texture Height", s_SpriteEditor.originalTexture.height);
     }
     if (s_Setting.slicingType == SpriteEditorMenuSetting.SlicingType.Automatic)
     {
         UsabilityAnalytics.Event("Sprite Editor", "Slice", "Auto Slicing Method", s_Setting.autoSlicingMethod);
     }
     else
     {
         UsabilityAnalytics.Event("Sprite Editor", "Slice", "Grid Slicing Size X", (int)s_Setting.gridSpriteSize.x);
         UsabilityAnalytics.Event("Sprite Editor", "Slice", "Grid Slicing Size Y", (int)s_Setting.gridSpriteSize.y);
         UsabilityAnalytics.Event("Sprite Editor", "Slice", "Grid Slicing Offset X", (int)s_Setting.gridSpriteOffset.x);
         UsabilityAnalytics.Event("Sprite Editor", "Slice", "Grid Slicing Offset Y", (int)s_Setting.gridSpriteOffset.y);
         UsabilityAnalytics.Event("Sprite Editor", "Slice", "Grid Slicing Padding X", (int)s_Setting.gridSpritePadding.x);
         UsabilityAnalytics.Event("Sprite Editor", "Slice", "Grid Slicing Padding Y", (int)s_Setting.gridSpritePadding.y);
     }
 }
        private void DoAnalytics()
        {
            UsabilityAnalytics.Event("Sprite Editor", "Slice", "Type", (int)SpriteEditorMenu.s_Setting.slicingType);
            Texture2D texture = this.m_TextureDataProvider.texture;

            if (texture != null)
            {
                UsabilityAnalytics.Event("Sprite Editor", "Slice", "Texture Width", texture.width);
                UsabilityAnalytics.Event("Sprite Editor", "Slice", "Texture Height", texture.height);
            }
            if (SpriteEditorMenu.s_Setting.slicingType == SpriteEditorMenuSetting.SlicingType.Automatic)
            {
                UsabilityAnalytics.Event("Sprite Editor", "Slice", "Auto Slicing Method", SpriteEditorMenu.s_Setting.autoSlicingMethod);
            }
            else
            {
                UsabilityAnalytics.Event("Sprite Editor", "Slice", "Grid Slicing Size X", (int)SpriteEditorMenu.s_Setting.gridSpriteSize.x);
                UsabilityAnalytics.Event("Sprite Editor", "Slice", "Grid Slicing Size Y", (int)SpriteEditorMenu.s_Setting.gridSpriteSize.y);
                UsabilityAnalytics.Event("Sprite Editor", "Slice", "Grid Slicing Offset X", (int)SpriteEditorMenu.s_Setting.gridSpriteOffset.x);
                UsabilityAnalytics.Event("Sprite Editor", "Slice", "Grid Slicing Offset Y", (int)SpriteEditorMenu.s_Setting.gridSpriteOffset.y);
                UsabilityAnalytics.Event("Sprite Editor", "Slice", "Grid Slicing Padding X", (int)SpriteEditorMenu.s_Setting.gridSpritePadding.x);
                UsabilityAnalytics.Event("Sprite Editor", "Slice", "Grid Slicing Padding Y", (int)SpriteEditorMenu.s_Setting.gridSpritePadding.y);
            }
        }
 public static void SendEvent(string eventType, System.DateTime startTime, System.TimeSpan duration, bool isBlocking, object parameters)
 {
     UsabilityAnalytics.SendEvent(eventType, startTime, duration, isBlocking, parameters);
 }
        internal void SendUsabilityAnalyticsEvent(AnalyticsEventData eventData)
        {
            var openTime = m_ComponentOpenTime;

            UsabilityAnalytics.SendEvent("executeAddComponentWindow", openTime, DateTime.UtcNow - openTime, false, eventData);
        }
        private AndroidDevice FindDevice(PostProcessorContext context)
        {
            BuildTarget         platform     = context.Get <BuildTarget>("BuildTarget");
            AndroidTargetDevice targetDevice = PlayerSettings.Android.targetDevice;
            List <string>       list         = null;

            do
            {
                list = ADB.Devices(null);
            }while ((list.Count == 0) && EditorUtility.DisplayDialog("No Android device found!", " * Make sure USB debugging has been enabled\n * Check your device, in most cases there should be a small icon in the status bar telling you if the USB connection is up.\n * If you are sure that device is attached then it might be USB driver problem, for details please check Android SDK Setup section in Unity manual.", "Retry", "Cancel"));
            if (list.Count < 1)
            {
                string message = $"No Android devices found.{(Application.platform != RuntimePlatform.WindowsEditor) ? "" : " If you are sure that device is attached then it might be USB driver problem, for details please check Android SDK Setup section in Unity manual."}
";
                CancelPostProcess.AbortBuild("Couldn't find Android device", message, null);
            }
            AndroidDevice device2 = new AndroidDevice(list[0]);
            int           num     = Convert.ToInt32(device2.Properties["ro.build.version.sdk"]);

            if (num < 9)
            {
                string str2 = (("Device: " + device2.Describe() + "\n") + "The connected device is not running Android OS 2.3 or later.") + " Unity Android does not support earlier versions of the Android OS;" + " please upgrade your device to a later OS version.";
                Selection.activeObject = Unsupported.GetSerializedAssetInterfaceSingleton("PlayerSettings");
                CancelPostProcess.AbortBuild("Device software is not supported", str2, null);
            }
            int num2 = 0;

            try
            {
                num2 = Convert.ToInt32(device2.Properties["ro.opengles.version"]);
            }
            catch (FormatException)
            {
                num2 = -1;
            }
            int num3 = 0xf0000;

            GraphicsDeviceType[] graphicsAPIs = PlayerSettings.GetGraphicsAPIs(platform);
            if (graphicsAPIs.Contains <GraphicsDeviceType>(GraphicsDeviceType.OpenGLES3))
            {
                num3 = 0x30000;
            }
            if (graphicsAPIs.Contains <GraphicsDeviceType>(GraphicsDeviceType.OpenGLES2))
            {
                num3 = 0x20000;
            }
            bool flag = device2.Features.Contains("android.hardware.opengles.aep");

            if ((num3 == 0x30000) && (PlayerSettings.openGLRequireES31 || PlayerSettings.openGLRequireES31AEP))
            {
                num3 = 0x30001;
            }
            bool flag2 = true;
            bool flag3 = (graphicsAPIs.Length == 1) && (graphicsAPIs[0] == GraphicsDeviceType.Vulkan);

            if ("Amazon" != device2.Properties["ro.product.brand"])
            {
                string str3 = null;
                if (flag3 && !flag2)
                {
                    str3 = "The connected device does not support Vulkan.";
                    str3 = str3 + " Please select OpenGLES under Player Settings instead.";
                }
                if (((num2 >= 0) && (num2 < num3)) || (PlayerSettings.openGLRequireES31AEP && !flag))
                {
                    str3 = "The connected device is not compatible with the selected OpenGLES version.";
                    str3 = str3 + " Please select a lower OpenGLES version under Player Settings instead.";
                }
                if (str3 != null)
                {
                    Selection.activeObject = Unsupported.GetSerializedAssetInterfaceSingleton("PlayerSettings");
                    CancelPostProcess.AbortBuild("Device hardware is not supported", str3, null);
                }
            }
            if ((targetDevice == AndroidTargetDevice.x86) && device2.Properties["ro.product.cpu.abi"].Equals("armeabi-v7a"))
            {
                string str4 = "You are trying to install x86 APK to ARM device. ";
                str4 = str4 + "Please select FAT or ARM as device filter under Player Settings, or connect a x86 device.";
                Selection.activeObject = Unsupported.GetSerializedAssetInterfaceSingleton("PlayerSettings");
                CancelPostProcess.AbortBuild("Device hardware is not supported", str4, null);
            }
            string str5   = device2.Properties["ro.product.manufacturer"];
            string str6   = device2.Properties["ro.product.model"];
            string action = device2.Properties["ro.product.cpu.abi"];
            bool   flag4  = device2.Properties["ro.secure"].Equals("1");
            string str8   = $"{char.ToUpper(str5[0])}{str5.Substring(1)} {str6}";
            string label  = $"Android API-{num}";

            UsabilityAnalytics.Event("Android Device", str8, label, !flag4 ? 0 : 1);
            string str10 = $"gles {num2 >> 0x10}.{num2 & 0xffff}{!flag ? "" : " AEP"}";

            if (num2 < 0)
            {
                str10 = "gles 2.0";
            }
            UsabilityAnalytics.Event("Android Architecture", action, str10, 1);
            string str11 = device2.Properties["ro.board.platform"];
            ulong  i     = device2.MemInfo["MemTotal"];

            i = UpperboundPowerOf2(i) / ((ulong)0x100000L);
            UsabilityAnalytics.Event("Android Chipset", str11, $"{i}MB", 1);
            return(device2);
        }