سؤال

يقرأ تطبيقي ملفًا (html) من موقع الويب الخاص بي، وأرغب في تتبع عمليات الوصول إلى هذا الملف باستخدام Google Analytics.نظرًا لعدم تنفيذ GA Javascript عند قراءة الملف، فلا يتم تعقبه.هل هناك طريقة لتشغيل GA مباشرة من التعليمات البرمجية أو بدلاً من ذلك، لتنفيذ Javascript من تطبيق .NET دون إضافة مجموعة من التبعيات؟

هل كانت مفيدة؟

المحلول

برنامج Google Analytics يعمل عن طريق جعل webrequest من خلال جافا سكريبت إلى خادم Google. إذا كنت تريد أن تفعل ذلك برمجيا، لديك فقط لجعل هذه الشبكة تطلب نفسك. وأود أن استخدام عازف الكمان أو مصاب بهوس الاحراق لالتقاط ما يبدو على طلب مثل عند تحميل الصفحة في المتصفح الخاص بك. ثم يمكنك استخدام هذا URL نفسه في التطبيق صافي الخاص بك.

نصائح أخرى

ولقد صدر مؤخرا مكتبة الصافية التي تسمح لك أصلا بتسجيل صفحة الرأي مع جوجل تحليلات خلال التعليمات البرمجية. إصدارها كمصدر مفتوح تحت GNU لذلك كل ما هو مطلوب هو الإسناد الصحيح.

ويمكنك الحصول على مكتبة هنا: http://www.diaryofaninja.com / مشاريع / تفاصيل / GA-دوت شبكة

والمثال استخدام واجهة برمجة التطبيقات:

GooglePageView pageView = new GooglePageView("My page title",
                                "www.mydomain.com",
                                "/my-page-url.html");
TrackingRequest request = new RequestFactory().BuildRequest(pageView);
GoogleTracking.FireTrackingEvent(request);

وهناك أيضا بنيت في معالج HTTP الذي يسمح لك لاطلاق النار تتبع الأحداث ببساطة عن طريق بما في ذلك بكسل تتبع على الصفحة:

<img src="/tracker.asmx?domain=mydomain.com&pagetitle=My%20Page%20Title&url=/my-page.aspx" />

وبدلا من ذلك يمكنك استخدام مسج لتتبع الروابط داخل صفحة باستخدام برنامج Google Analytics (الرمز البريدي، بي، الخ) - كتبت عن هذا الأمر منذ فترة هنا:

<وأ href = "http://www.diaryofaninja.com/blog/2009/09/17/random-file-zip-and-pdf-tracking-using-jquery-amp-google-analytics" يختلط = "noreferrer"> http://www.diaryofaninja.com/blog/2009/09/17/random-file-zip-and-pdf-tracking-using-jquery-amp-google-analytics

private void analyticsmethod4(string trackingId, string pagename)
{
    Random rnd = new Random();

    long timestampFirstRun, timestampLastRun, timestampCurrentRun, numberOfRuns;

    // Get the first run time
    timestampFirstRun = DateTime.Now.Ticks;
    timestampLastRun = DateTime.Now.Ticks-5;
    timestampCurrentRun = 45;
    numberOfRuns = 2;

    // Some values we need
    string domainHash = "123456789"; // This can be calcualted for your domain online
    int uniqueVisitorId = rnd.Next(100000000, 999999999); // Random
    string source = "Shop";
    string medium = "medium123";
    string sessionNumber = "1";
    string campaignNumber = "1";
    string culture = Thread.CurrentThread.CurrentCulture.Name;
    string screenRes = Screen.PrimaryScreen.Bounds.Width + "x" + Screen.PrimaryScreen.Bounds.Height;


    string statsRequest = "http://www.google-analytics.com/__utm.gif" +
        "?utmwv=4.6.5" +
        "&utmn=" + rnd.Next(100000000, 999999999) +
    //  "&utmhn=hostname.mydomain.com" +
        "&utmcs=-" +
        "&utmsr=" + screenRes +
        "&utmsc=-" +
        "&utmul=" + culture +
        "&utmje=-" +
        "&utmfl=-" +
        "&utmdt=" + pagename +
        "&utmhid=1943799692" +
        "&utmr=0" +
        "&utmp=" + pagename +
        "&utmac=" +trackingId+ // Account number
        "&utmcc=" +
            "__utma%3D" + domainHash + "." + uniqueVisitorId + "." + timestampFirstRun + "." + timestampLastRun + "." + timestampCurrentRun + "." + numberOfRuns +
            "%3B%2B__utmz%3D" + domainHash + "." + timestampCurrentRun + "." + sessionNumber + "." + campaignNumber + ".utmcsr%3D" + source + "%7Cutmccn%3D(" + medium + ")%7Cutmcmd%3D" + medium + "%7Cutmcct%3D%2Fd31AaOM%3B";


    using (var client = new WebClient())
    {
        client.DownloadData(statsRequest);
        //Stream data = client.OpenRead(statsRequest);
        //StreamReader reader = new StreamReader(data);
        //string s = reader.ReadToEnd();
    }

}

وإحالة هذا - HTTP: //tilr.blogspot كوم / 2012/10 / الاستخدام جوجل-تحليلات جوجل-analytics.html

يوفر Google Analytics طريقتين لتتبع الإجراءات أو الأحداث المخصصة أو أي شيء تتعامل معه.في حالتك، الحل البسيط هو إنشاء مشاهدة افتراضية للصفحة لملف HTML الذي يقرأه تطبيقك.اتصل بالمناسب وظيفة جافا سكريبت:

pageTracker._trackPageview("/Foo.html");

بهذه الطريقة في كل مرة فو.html تتم معالجة الصفحة، وسيتم إنشاء مشاهدة صفحة لها تمامًا كما لو كان استعلامًا عاديًا لتطبيقك.

إذا كنت ترغب في التمييز بين هذه فو.htmlمن مشاهدات الصفحة العادية، يتمتع GA بميزة رائعة تسمى تتبع الأحداث ثم يجب عليك إلقاء نظرة على.

وانتهى بي الأمر باستخدام المكون WebBrowser إلى تحميل ملف .html، وبالتالي تؤدي إلى تعقب GA. المكون WebBrowser تنفيذ جافا سكريبت المضمنة.

using (WebBrowser wb = new WebBrowser())
{
    wb.Url = new Uri(@"mytrackingpage.html");
    while (wb.ReadyState != WebBrowserReadyState.Complete)
    {
        Application.DoEvents();
    }
} 

والآن كل ما عليك فعله هو إضافة بعض errorhandling، والتخلص من تقوم الدالة DoEvents قبيحة ونقل WebBrowser إلى موضوع مستقل.

وجوجل لديها مكتبات (الفا) لعدة لغات مختلفة للوصول إلى مختلف واجهات برمجة التطبيقات جوجل، بما في ذلك تحليلات - هناك وصف لطيف هنا - <وأ href = "https://developers.google.com/analytics/devguides/ جمع / "يختلط =" نوفولو "> https://developers.google.com/analytics/devguides/collection/ و المكتبة. NET هو <وأ href =" https://developers.google.com/ المعهد العميل المكتبة / DOTNET / واجهات برمجة التطبيقات / تحليلات / V3 "يختلط =" نوفولو "> https://developers.google.com/api-client-library/dotnet/apis/analytics/v3

وكما نضع في اعتبارنا سياسة الخصوصية الخاصة بها عليك أن تلتزم عند استخدام هذا: https://developers.google.com/analytics/devguides/collection/protocol/policy

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top