Rumah >pembangunan bahagian belakang >Golang >Gunakan Analitis Google untuk mengira data tapak web dalam Beego

Gunakan Analitis Google untuk mengira data tapak web dalam Beego

王林
王林asal
2023-06-22 09:19:221618semak imbas

Dengan perkembangan pesat Internet, penggunaan aplikasi Web menjadi semakin biasa Cara memantau dan menganalisis penggunaan aplikasi Web telah menjadi tumpuan pembangun dan pengendali laman web. Google Analitis ialah alat analisis laman web yang berkuasa yang boleh menjejak dan menganalisis tingkah laku pelawat tapak web. Artikel ini akan memperkenalkan cara menggunakan Google Analitis dalam Beego untuk mengumpul data tapak web.

1. Daftar akaun Google Analitis

Mula-mula anda perlu mendaftar akaun Google Analitis, yang boleh dilakukan di tapak web rasmi Google Analitis. Selepas pendaftaran berjaya, anda perlu membuat ID penjejakan baharu, yang akan digunakan untuk menjejaki lawatan tapak web.

2. Muat turun dan pasang SDK Google Analitis

Menggunakan Analitis Google dalam Beego memerlukan SDK Analitis Google. Anda boleh memuat turun SDK Google Analitis di GitHub atau dari tapak web rasmi. Selepas muat turun selesai, salin SDK ke direktori vendor projek.

3. Mengkonfigurasi Google Analitis dalam Beego

Mengkonfigurasi Google Analitis dalam Beego memerlukan penambahan konfigurasi yang berkaitan pada fail konfigurasi app.conf. Item konfigurasi khusus adalah seperti berikut:

# Google Analytics配置
google_analytics_enabled = true
google_analytics_id = "UA-XXXXXXXX-X"

Antaranya, google_analytics_enabled menunjukkan sama ada untuk mendayakan Google Analitis dan google_analytics_id ialah ID penjejakan yang dibuat semasa mendaftar dengan Google Analitis.

4. Melaksanakan Google Analitis dalam Beego

Menggunakan Google Analitis dalam Beego memerlukan pelaksanaan kod yang sepadan dalam Pengawal. Proses pelaksanaan khusus adalah seperti berikut:

  1. Import pustaka Google Analitis

Import pustaka Google Analitis dalam Pengawal:

import (
    "github.com/kpango/glg"
    "github.com/satori/go.uuid"
    "google.golang.org/api/analytics/v3"
)

Selepas pustaka diimport, anda boleh menggunakannya Antara muka yang disediakan oleh Google Analitis melaksanakan statistik data.

  1. Laksanakan logik kod Google Analitis

Laksanakan logik kod Google Analitis dalam fungsi Init Pengawal Logik kod adalah seperti berikut:

// 初始化Google Analytics客户端
cfg, err := google.ConfigFromJSON(jsonKey, analytics.AnalyticsReadonlyScope)
if err != nil {
    glg.Error("[Google Analytics] ", err)
    return
}
client := getClient(ctx, cfg)

// 通过Google Analytics API获取跟踪信息
analyticsService, err := analytics.New(client)
if err != nil {
    glg.Error("[Google Analytics] ", err)
    return
}

uuid, err := uuid.NewV4()
if err != nil {
    glg.Error("[Google Analytics] ", err)
    return
}

referer := utils.GetReferer(ctx)
userAgent := utils.GetUserAgent(ctx)

pageview := &analytics.Pageview{
    Hostname:  ctx.Input.Domain(),
    Path:      ctx.Request.RequestURI,
    Referer:   referer,
    UserAgent: userAgent,
}

// 发送跟踪信息
_, err = analyticsService.Data.Ga.Get(
    fmt.Sprintf("ga:%s", beego.AppConfig.String("google_analytics_id")),
    startTime.Format(dateGoFormat),
    endTime.Format(dateGoFormat),
    "ga:uniquePageviews",
).
    Filters(fmt.Sprintf("ga:eventLabel==%s", uuid.String())).
    Do()
if err != nil {
    glg.Error("[Google Analytics] ", err)
    return
}

_, err = analyticsService.Data.Realtime.Get(
    fmt.Sprintf("ga:%s", beego.AppConfig.String("google_analytics_id")),
    "rt:activeUsers",
).
    Filters(fmt.Sprintf("ga:eventLabel==%s", uuid.String())).
    Do()
if err != nil {
    glg.Error("[Google Analytics] ", err)
    return
}

_, err = analyticsService.Management.Webproperties.Get(
    "~all",
    fmt.Sprintf("ga:%s", beego.AppConfig.String("google_analytics_id")),
).
    Do()
if err != nil {
    glg.Error("[Google Analytics] ", err)
    return
}

_, err = analyticsService.RealtimeData.Ga.Send(
    fmt.Sprintf("ga:%s", beego.AppConfig.String("google_analytics_id")),
    &analytics.GaData{
        Rows: [][]*analytics.GaDataColumn{
            {
                {Value: uuid.String()},
                {Value: referer},
                {Value: userAgent},
            },
        },
    },
).
    Do()
if err != nil {
    glg.Error("[Google Analytics] ", err)
    return
}

_, err = analyticsService.Data.Ga.Post(
    fmt.Sprintf("ga:%s", beego.AppConfig.String("google_analytics_id")),
    startTime.Format(dateGoFormat),
    endTime.Format(dateGoFormat),
    "ga:eventLabel,ga:eventCategory",
    analytics.PostBody{
        Rows: [][]string{
            []string{uuid.String(), "Beego Application"},
        },
    },
).
    Do()
if err != nil {
    glg.Error("[Google Analytics] ", err)
    return
}

Dalam kod di atas, mula-mula mulakan klien Google Analitis, dan kemudian dapatkan maklumat penjejakan tapak web melalui antara muka yang disediakan oleh Google Analitis, termasuk lawatan tapak web, aktiviti pelawat, dsb. Akhir sekali, gunakan API Google Analitis untuk menghantar maklumat penjejakan.

5. Mulakan aplikasi Beego

Selepas melengkapkan langkah di atas, anda boleh memulakan aplikasi Beego dan melawati tapak web. Selepas lawatan selesai, anda boleh log masuk ke akaun Google Analitis anda untuk melihat data lawatan tapak web.

Ringkasan

Artikel ini memperkenalkan cara menggunakan Google Analitis dalam Beego untuk mengumpul data tapak web, termasuk mendaftar akaun Google Analitis, memuat turun dan memasang SDK Google Analitis, mengkonfigurasi Google Analitis dalam Beego dan Laksanakan Google Analitis dan langkah lain yang berkaitan. Menggunakan Analitis Google boleh membantu pembangun dan pengendali tapak web memahami lawatan tapak web, dengan itu mengoptimumkan tapak web dan meningkatkan pengalaman pengguna.

Atas ialah kandungan terperinci Gunakan Analitis Google untuk mengira data tapak web dalam Beego. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn