Añadir el paquete Nuget de Umami Tracking Client (Español (Spanish))

Añadir el paquete Nuget de Umami Tracking Client

Wednesday, 28 August 2024

//

9 minute read

El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer.

Ahora tengo el cliente Umami; Tengo que paquetarlo y ponerlo a disposición como un paquete Nuget. Este es un proceso bastante sencillo, pero hay algunas cosas que tener en cuenta.

Creación del paquete Nuget

El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer.

En el párrafo 2 de la resolución, la Asamblea General pidió al Secretario General que le presentara en su quincuagésimo séptimo período de sesiones un informe sobre los progresos realizados en la aplicación del Programa de Acción. El Presidente interino (habla en inglés): Doy las gracias al representante de la República Islámica del Irán por su declaración. y usar el excelente paquete minver para la versión de mi paquetes Nuget. Este es un paqueto sencillo que utiliza el etiqueta de versión git para determinar el número de versión.

Para usarlo, he agregado lo siguiente a mi Umami.Net.csproj El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la igualdad de oportunidades entre los hombres y las mujeres en materia de empleo, incluida la eliminación del trabajo forzoso.

    <PropertyGroup>
    <MinVerTagPrefix>v</MinVerTagPrefix>
</PropertyGroup>

De esta forma puedo etiquetar mi versión con un v y el paquete será modificado correctamente.

 git tag v0.0.8       
 git push origin v0.0.8

Va a presionar este etiqueta, entonces tengo una configuración de GitHub Action para esperar ese etiqueta y construir el paquete Nuget.

La Comisión Consultiva en Asuntos Administrativos y de Presupuesto recomienda a la Asamblea General que apruebe el siguiente proyecto de resolución:

Tengo una acción GitHub que construye el paquete Nuget y lo empuja al repositorio de paquetes de Git Hub. Este es un proceso sencillo que utiliza dotnet pack el comando para construir el paquete y luego el dotnet nuget push comando para presionarlo al repositorio de nuget.

name: Publish Umami.NET
on:
  push:
    tags:
      - 'v*.*.*'  # This triggers the action for any tag that matches the pattern v1.0.0, v2.1.3, etc.

jobs:
  publish:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v3

    - name: Setup .NET
      uses: actions/setup-dotnet@v3
      with:
        dotnet-version: '8.x' # Specify the .NET version you need

    - name: Restore dependencies
      run: dotnet restore ./Umami.Net/Umami.Net.csproj

    - name: Build project
      run: dotnet build --configuration Release ./Umami.Net/Umami.Net.csproj --no-restore

    - name: Pack project
      run: dotnet pack --configuration Release ./Umami.Net/Umami.Net.csproj --no-build --output ./nupkg

    - name: Publish to NuGet
      run: dotnet nuget push ./nupkg/*.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.UMAMI_NUGET_API_KEY }}
      env:
        NUGET_API_KEY: ${{ secrets.UMAMI_NUGET_API_KEY }}

Añadir Readme y Icon

Esto es bastante simple, Añado un README.md a la raíz del proyecto y un icon.png el archivo a la raíz del proyecto. El README.md se utiliza como descripción del paquete y el icon.png se utiliza como icono del paquete.

    <PropertyGroup>
        <TargetFramework>net8.0</TargetFramework>
        <LangVersion>12</LangVersion>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>

        <IsPackable>true</IsPackable>
        <PackageId>Umami.Net</PackageId>
        <Authors>Scott Galloway</Authors>
        <PackageIcon>icon.png</PackageIcon>
        <RepositoryUrl>https://github.com/scottgal/mostlylucidweb/tree/main/Umami.Net</RepositoryUrl>
        <PackageLicenseExpression>MIT</PackageLicenseExpression>
        <PackageTags>web</PackageTags>
        <PackageReadmeFile>README.md</PackageReadmeFile>
        <Description>
           Adds a simple Umami endpoint to your ASP.NET Core application.
        </Description>
    </PropertyGroup>

En mi archivo README.md tengo un enlace al repositorio de GitHub y una descripción del paquete.

El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer.

El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer.

Este es un cliente .NET Core para la API de seguimiento de Umami. Es' basado en el cliente de Umami Node, que se puede encontrar a) Adopte todas las medidas necesarias para garantizar la igualdad de oportunidades entre hombres y mujeres en todos los ámbitos de la vida, incluida la educación;.

Usted puede ver cómo configurar Umami como un contenedor de docker a) Adopte todas las medidas necesarias para garantizar la igualdad de oportunidades entre hombres y mujeres en todos los ámbitos de la vida, incluida la educación;. Usted puede leer más detalles sobre ella's creación en mi blog a) Adopte todas las medidas necesarias para garantizar la igualdad de oportunidades entre hombres y mujeres en todos los ámbitos de la vida, incluida la educación;.

Para usar este cliente necesita los siguientes ajustes de aplicación.json configuration:

{
  "Analytics":{
    "UmamiPath" : "https://umamilocal.mostlylucid.net",
    "WebsiteId" : "32c2aa31-b1ac-44c0-b8f3-ff1f50403bee"
  },
}

El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. UmamiPath es el camino a su instancia Umami y WebsiteId es el id del sitio web que quieres seguir.

Para usar el cliente necesita añadir lo siguiente a su Program.cs:

using Umami.Net;

services.SetupUmamiClient(builder.Configuration);

Esto añadirá al cliente Umami a la colección de servicios.

Usted puede usar el cliente de dos maneras:

  1. El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. UmamiClient a su clase y llamar al Track El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la igualdad de oportunidades entre hombres y mujeres en materia de empleo, incluida la adopción de medidas legislativas, administrativas, judiciales y de otra índole.
 // Inject UmamiClient umamiClient
 await umamiClient.Track("Search", new UmamiEventData(){{"query", encodedQuery}});
  1. El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. UmamiBackgroundSender para seguir los acontecimientos en el fondo (se utiliza un IHostedService para enviar eventos en el fondo):
 // Inject UmamiBackgroundSender umamiBackgroundSender
await umamiBackgroundSender.Track("Search", new UmamiEventData(){{"query", encodedQuery}});

El cliente enviará el evento a la API de Umami y será almacenado.

El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. UmamiEventData es un diccionario de pares de valores clave que serán enviados a la API Umami como datos del evento.

Además, hay más métodos de bajo nivel que pueden ser utilizados para enviar eventos a la API Umami.

El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. UmamiClient El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. UmamiBackgroundSender puede llamar el siguiente método.



 Send(UmamiPayload? payload = null, UmamiEventData? eventData = null,
        string eventType = "event")

Si usted no't pasar en un UmamiPayload object, el cliente creará uno para usted usando la WebsiteId a partir de los ajustes de la aplicación.json.

    public  UmamiPayload GetPayload(string? url = null, UmamiEventData? data = null)
    {
        var httpContext = httpContextAccessor.HttpContext;
        var request = httpContext?.Request;

        var payload = new UmamiPayload
        {
            Website = settings.WebsiteId,
            Data = data,
            Url = url ?? httpContext?.Request?.Path.Value,
            IpAddress = httpContext?.Connection?.RemoteIpAddress?.ToString(),
            UserAgent = request?.Headers["User-Agent"].FirstOrDefault(),
            Referrer = request?.Headers["Referer"].FirstOrDefault(),
           Hostname = request?.Host.Host,
        };
        
        return payload;
    }

Pueden ver que esto pobla los UmamiPayload El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. WebsiteId a partir de los ajustes de la aplicación.json, el Url, IpAddress, UserAgent, Referrer El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. Hostname El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. HttpContext.

Nota: EventType sólo puede ser M SK1event" o "identifyMNK4 según la API de UmamiMSC5

El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer.

Así que's ahora puedes instalar Umami.Net de Nuget y usarlo en tu ASPM SK2NET Core applicationMSC3 Espero que encuentres útilMska4 IM Ska5 Continuo añadiendo ajustes y pruebas en futuros postosMSKA6

Finding related posts...
logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.