GoogleAnalytics.Blazor
1.0.0-preview.2
See the version list below for details.
dotnet add package GoogleAnalytics.Blazor --version 1.0.0-preview.2
NuGet\Install-Package GoogleAnalytics.Blazor -Version 1.0.0-preview.2
<PackageReference Include="GoogleAnalytics.Blazor" Version="1.0.0-preview.2" />
paket add GoogleAnalytics.Blazor --version 1.0.0-preview.2
#r "nuget: GoogleAnalytics.Blazor, 1.0.0-preview.2"
// Install GoogleAnalytics.Blazor as a Cake Addin #addin nuget:?package=GoogleAnalytics.Blazor&version=1.0.0-preview.2&prerelease // Install GoogleAnalytics.Blazor as a Cake Tool #tool nuget:?package=GoogleAnalytics.Blazor&version=1.0.0-preview.2&prerelease
GoogleAnalytics.Blazor
Blazor extensions for Google Analytics
Forked from Blazor-Analytics, itself MIT License, Copyright (c) 2019 Ivan Sanz Carasa.
Developed by Material-Blazor.
Configuration
All Projects
First, import the namespaces in _Imports.razor
+@using GoogleAnalytics.Blazor
Then, add the GBAnchor
component to the end of App.razor
.
+ <NavigationTracker />
ServerSide Specific Configuration
Edit _Layout.cshtml
:
<script src="_framework/blazor.server.js"></script>
+ <script src="_content/GoogleAnalytics.Blazor/googleanalytics.blazor.js"></script>
WebAssembly Specific Configuration
Edit index.html
and apply the following change:
<script src="_framework/blazor.webassembly.js"></script>
+ <script src="_content/GoogleAnalytics.Blazor/googleanalytics.blazor.js"></script>
Setting up GoogleAnalytics
Inside Program.cs
, call AddGBService
. This will configure [YOUR_GTAG_ID]
automatically. You can elect to
omit the tag id and call SetTargetId
from the service injected into a component or service at a later stage; this
is helpful if for instance you need to run a back end query in order to determine the tag.
+ builder.Services.AddGBService("[YOUR_GTAG_ID]");
You may wish to set additional config info and/or
globally applicable event params (i.e. applied to every call to TrackEvent
):
+ builder.Services.AddGBService(
+ "[YOUR_GTAG_ID]",
+ additionalConfigInfo: new Dictionary<string, object>()
+ {
+ { "user_id", "[YOUR_USER_ID]" }
+ },
+ globalEventParams: new Dictionary<string, object>()
+ {
+ { "user_id", "YOUR_USER_ID" }
+ });
You can set all three of these items using IGBAnalyticsManager.SetTrackingId()
, IGBAnalyticsManager.SetAdditionalConfigInfo()
and IGBAnalyticsManager.SetGlobalEventParams()
respectively, after having injected the IGBAnalyticsManager
service into a component or another service (either scoped or transient).
How to trigger an Analytics Event
- Inject
IGBAnalyticsManager
wherever you want to trigger the event. - Call
IGBAnalyticsManager.TrackEvent
passing theEventName
andEventData
(an object containing the event data).
Or
Call IGBAnalyticsManager.TrackEvent
passing the EventName
, Value
and Category
(optional).
@using GoogleAnalytics.Blazor
@inject IGBAnalyticsManager AnalyticsManager
AnalyticsManager.TrackEvent("generate_lead", new {currency = "USD", value = 99.99});
How to disable tracking on any page
- Inject
IGBAnalyticsManager
into a blazor component.
@using GoogleAnalytics.Blazor
@inject IGBAnalyticsManager AnalyticsManager
- Suppress tracking for just the current page.
protected override void OnInitialized()
{
AnalyticsManager.SuppressNextPageHitTracking();
}
- Disable page tracking for the whole application.
protected override void OnInitialized()
{
AnalyticsManager.DisableGlobalTracking();
}
- Re-enable page tracking for the whole application.
protected override void OnInitialized()
{
AnalyticsManager.EnableGlobalTracking();
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- Microsoft.AspNetCore.Components (>= 6.0.6)
- Microsoft.AspNetCore.Components.Web (>= 6.0.6)
- Microsoft.AspNetCore.Hosting (>= 2.2.7)
- Microsoft.AspNetCore.Hosting.Abstractions (>= 2.2.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 6.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.3 | 11,007 | 1/22/2023 |
1.0.2 | 2,427 | 9/15/2022 |
1.0.1 | 423 | 9/15/2022 |
1.0.0 | 483 | 9/2/2022 |
1.0.0-preview.5 | 159 | 8/30/2022 |
1.0.0-preview.4 | 90 | 8/30/2022 |
1.0.0-preview.3 | 1,137 | 6/25/2022 |
1.0.0-preview.2 | 117 | 6/24/2022 |
1.0.0-preview.1 | 115 | 6/23/2022 |