Example #1
0
 internal static void PageShown(TutorialPage page, int pageIndex)
 {
     if (Instance.currentTutorial == null)
     {
         DebugWarning("PageShown Ignored because no tutorial is set");
         return;
     }
     if (Instance.lastPage != null)
     {
         if (Instance.currentPageIndex < Instance.lastPageIndex)
         {
             var data = new TutorialPageAnalyticsEventData(Instance.currentTutorial.name, Instance.currentPageIndex, Instance.currentPage.guid, TutorialPageConclusion.Reviewed);
             UsabilityAnalyticsProxy.SendEvent("tutorialPage", Instance.currentPageStartTime, DateTime.UtcNow - Instance.currentPageStartTime, false, data);
             DebugLog("Page Reviewed: {0}", Instance.currentPageIndex);
         }
         else if (pageIndex > Instance.lastPageIndex)
         {
             var data = new TutorialPageAnalyticsEventData(Instance.currentTutorial.name, Instance.lastPageIndex, Instance.lastPage.guid, TutorialPageConclusion.Completed);
             UsabilityAnalyticsProxy.SendEvent("tutorialPage", Instance.lastPageStartTime, DateTime.UtcNow - Instance.lastPageStartTime, false, data);
             DebugLog("Page Completed: {0}", Instance.lastPageIndex);
         }
     }
     Instance.currentPageIndex     = pageIndex;
     Instance.currentPage          = page;
     Instance.currentPageStartTime = DateTime.UtcNow;
     if (Instance.currentPageIndex > Instance.lastPageIndex)
     {
         Instance.lastPageIndex         = pageIndex;
         Instance.lastPage              = page;
         Instance.lastPageStartTime     = DateTime.UtcNow;
         Instance.currentParagraphIndex = -1;
     }
 }
Example #2
0
        internal static void TutorialEnded(TutorialConclusion conclusion)
        {
            if (Instance.currentTutorial == null)
            {
                DebugWarning("TutorialEnded Ignored because no tutorial is set");
                return;
            }
            if (conclusion == TutorialConclusion.Completed)
            {
                PageShown(Instance.lastPage, Instance.lastPageIndex + 1);  // "Show" a dummy page to get the last page to report
            }
            var data = new TutorialAnalyticsEventData(Instance.currentTutorial.name, Instance.currentTutorial.version, conclusion, Instance.currentTutorial.lessonId);

            UsabilityAnalyticsProxy.SendEvent("tutorial", Instance.currentTutorialStartTime, DateTime.UtcNow - Instance.currentTutorialStartTime, false, data);
            DebugLog("Tutorial Ended");
            Instance.currentTutorial = null;
        }
Example #3
0
        internal static void ParagraphEnded(bool regressed)
        {
            if (Instance.currentTutorial == null)
            {
                DebugWarning("ParagraphEnded Ignored because no tutorial is set");
                return;
            }
            if (Instance.currentParagraphIndex == -1)
            {
                DebugWarning("ParagraphEnded Ignored because no paragraph is active");
                return;
            }
            DebugLog("Paragraph Ended: regression = {0}", regressed);
            var conclusion = regressed ? TutorialParagraphConclusion.Regressed : TutorialParagraphConclusion.Completed;
            var data       = new TutorialParagraphAnalyticsEventData(Instance.currentTutorial.name, Instance.currentPageIndex, Instance.currentParagraphIndex, conclusion);

            UsabilityAnalyticsProxy.SendEvent("tutorialParagraph", Instance.currentParagraphStartTime, DateTime.UtcNow - Instance.currentParagraphStartTime, false, data);
            Instance.currentParagraphIndex = -1;
        }