public static NotificationView CreateNotificationView(string templateId, NotificationController.NotificationId id)
    {
        NotificationController notificationController;

#if UNITY_EDITOR
        if (NotificationEditingBehavior.Instance)
        {
            notificationController = NotificationEditingBehavior.Instance.NotificationController;
            GameObject prefab;
            if (notificationController.PrefabManager.TryGetPrefab(id.app, templateId, out prefab))
            {
                GameObject viewObject = UnityEditor.PrefabUtility.InstantiatePrefab(prefab) as GameObject;
                viewObject.transform.SetParent(notificationController.NotificationContainer);
                viewObject.transform.localScale = Vector3.one;
                NotificationView view = viewObject.GetComponent <NotificationView>();
                view.SetIdentifier(id.id);
                return(view);
            }
        }
#endif
        if (NotificationController.Instance)
        {
            notificationController = NotificationController.Instance;
            GameObject prefab;
            if (notificationController.PrefabManager.TryGetPrefab(id.app, templateId, out prefab))
            {
                GameObject       viewObject = Instantiate(prefab, notificationController.NotificationContainer);
                NotificationView view       = viewObject.GetComponent <NotificationView>();
                view.SetIdentifier(id.id);
                return(view);
            }
        }

        return(null);
    }