5

Ich erstelle ein benutzerdefiniertes Admin-Dashboard für Benutzer auf unserer Website, die Posts erstellen. Ich möchte ihnen die aktive Anzahl der Besucher auf ihren Posts zeigen (nicht auf der gesamten Seite).Wie man "Echtzeitbesucher vor Ort" baut, Google API?

ich will es genau wie GA handeln tut es:

enter image description here

ich ursprünglich dachte, das von Grund auf neu zu bauen, aber im Nachhinein könnte es einfacher sein, die GA-API zu verwenden?

Ich habe die Dokumente für immer angeguckt und ich bin nur nicht growing, also komme ich hier um Hilfe.

Wir haben ~ 5.000 Beiträge insgesamt, und ich einige Leute auf unserer Website haben über 1000 Beiträge verfasst, so dass die 'Eingabe' zu GA wird irgendwo von 1 bis 1000 + Nacktschnecken (nur für ihre Beiträge).

Ich möchte eine kombinierte Menge von Verkehr vor Ort nur für ihre Beiträge.

Optional, vielleicht müsste es umgekehrt werden ... Ich bin mir nicht sicher, ob GA es zeigen kann, aber noch besser wäre wahrscheinlich eine Inhaltsaufschlüsselung der Echtzeit-Besucher von der API mit 5000 max Ergebnissen . Von dort aus kann ich die Ergebnismengen-Slugs (zusammen mit der Anzahl der Benutzer) filtern und diese Ergebnisse mit jedem Slug vergleichen, der zu diesem Benutzer gehört. Dann summiere ich die Summe an meinem Ende.

Könnte mir Google API helfen? Welchen API-Endpunkt müsste ich verwenden? Ist es möglich, mehr als 5000 Ergebnisse für URLs zu erzielen, für die Traffic von der API stammt?

Danke!

+1

Ein Dokument zur GA-Realtime-API, das hilfreich sein kann: https://developers.google.com/analytics/devguides/reporting/realtime/v3/ –

+0

Verwenden Sie Classic Analytics (ga.js) oder 'analytics. js'? – max

+0

Ich verwende 'analytics.js' – Tallboy

Antwort

2

Ja, es ist möglich.

Es scheint, dass Sie Real Time Data: get Endpunkt verwenden sollten.

Um die Ergebnisse nur für bestimmte Seiten (Posts) zu begrenzen, sollten Sie Dimensionsfilter verwenden (Filter, die nur bestimmte Seitenaufrufe auswählen, bevor das aggregierte Ergebnis berechnet wird) und "ga: pagePath" sieht folgendermaßen aus:

ga: pagePath

UI Name: Seite Eine Seite auf Ihrer Website durch den Pfad angegeben und/oder Abfrageparameter. In Verbindung mit Hostname verwenden, um die vollständige URL der Seite abzurufen.

Source

Sie könnten stattdessen mit ga:pageTitle bevorzugen, wenn Sie Beiträge eines einzelnen Autors ähnlichen Titel haben, und Sie haben keine gemeinsamen Pfadelemente in Beiträgen von demselben Autor bekam.

So tun Sie so etwas wie:

GET https://www.googleapis.com/analytics/v3/data/realtime 
ids=ga:<your_analytics_id> 
metrics=rt:activeUsers 
dimensions=rt:pagePath 
filters=rt:pagePath=~/authors/123/* 

Bitte beachten Sie, dass möglicherweise geringfügiger Unterschied in Echtzeit und Nicht-Echtzeit-API (zB Verwendung von ‚rt‘ anstelle von ‚ga‘ oben), und in der Regel in Echtzeit -API ist immer noch in der Betaversion.

Generell sollten Sie hier gehen: Real Time Reporting API - Developer Guide und schauen Sie sich die Links im Inhaltsverzeichnis (linker Teil der Seite).

Was ist mit der Idee "von Grund auf neu bauen": Es ist aus der Sicht des Entwicklers ziemlich einfach, aber es könnte aus der Perspektive der Entwickler komplex sein. Das heißt, es ist kein Problem, Code zu schreiben, der solche Metriken aggregiert. Es könnte jedoch ein Problem sein, ein System zu schaffen, das die für diese Aufgabe erforderliche Anzahl von Anfragen pro Sekunde aufrechterhält.

+0

Super! Ich werde einen Blick auf diese – Tallboy

+0

Hallo, ist es möglich, ein neues Dashboard mit dieser API (die aktive Benutzer von mehreren Standorten hat) zu generieren und es für die Benutzer öffentlich sichtbar zu verankern? Ich benutze diese API und funktioniert gut, aber ich habe Probleme beim Versuch, Embed-Funktionalität zu geben, da die Authentifizierung für andere Benutzer zwingend erforderlich ist, um sie anzuzeigen. – NewBee

2

Ich denke, dass Sie Ihren zweiten Ansatz anwenden möchten: Ziehen Sie Echtzeit-Besucher für alle Schnecken herunter und aggregieren Sie dann nach Autor auf Ihrem eigenen Server.

Es gibt eine Quote von 10.000 Abfragen pro Profil pro Tag. Mit Ihrem ersten Ansatz klingt es so, als würden Sie eine Abfrage für jeden Autor durchführen. Angenommen, Sie haben 50 Autoren. Dies würde Ihnen nur 20 Abfragen/Tag/Autor (10.000/50) lassen. Wenn Sie die Zeitdimension berücksichtigen, können Sie pro Autor nur 8,33 (200/24) Abfragen pro Stunde durchführen. Nicht sehr "real time like".

Wenn Sie Probleme haben, es in Gang zu bringen, überprüfen Sie http://www.embeddedanalytics.com - wir haben viele Implementierungen wie diese getan. In der Tat haben wir sogar "Right Now" Echtzeit-Widget.

Gibt es eine Möglichkeit, den Autor basierend auf dem Slug-Titel zu bestimmen?