Cuándo establecer la información del cliente
Establezca la información de cliente cuando la aplicación del SDK represente un producto, servicio o integración distintos cuya actividad en tiempo de ejecución se debe atribuir de forma coherente.
Deje la información de cliente sin establecer para scripts, herramientas de un solo uso y trabajos que no representen una aplicación distinta. A continuación, el tiempo de ejecución mantiene su atribución predeterminada.
La información de cliente tiene cuatro campos de cadena opcionales. Establezca los campos que conoce y omita el resto. El SDK incluye información de cliente en el server.connect protocolo de enlace solo cuando al menos un campo tiene un valor no vacío.
| Campo | Example | Meaning |
|---|---|---|
applicationName | "vscode" | Nombre de la aplicación mediante el SDK |
application | "1.124.2" | Versión de la aplicación mediante el SDK |
integrationName | "copilot-chat" | Nombre de la extensión, el complemento u otra subparte de aplicación mediante el SDK |
integration | "0.54.0" | Versión de esa extensión, complemento o subparte de aplicación |
Para una aplicación independiente sin una integración distinta, establezca solo los campos de aplicación. Por ejemplo, un portal para desarrolladores podría establecer applicationName en "acme-developer-portal" y applicationVersion en "2.4.0", dejando ambos campos de integración sin configurar.
El SDK envía información de cliente una vez cuando establece la conexión. La identidad se aplica durante toda la duración de esa conexión.
Configuración de la información de cliente
Pase la información de cliente al crear el cliente:
import { CopilotClient } from "@github/copilot-sdk";
const client = new CopilotClient({
clientInfo: {
applicationName: "vscode",
applicationVersion: "1.124.2",
integrationName: "copilot-chat",
integrationVersion: "0.54.0",
},
});
await client.start();
from copilot import CopilotClient
client = CopilotClient(
client_info={
"application_name": "vscode",
"application_version": "1.124.2",
"integration_name": "copilot-chat",
"integration_version": "0.54.0",
},
)
await client.start()
client := copilot.NewClient(&copilot.ClientOptions{
ClientInfo: &copilot.ClientInfo{
ApplicationName: "vscode",
ApplicationVersion: "1.124.2",
IntegrationName: "copilot-chat",
IntegrationVersion: "0.54.0",
},
})
if err := client.Start(ctx); err != nil {
return err
}
using GitHub.Copilot;
await using var client = new CopilotClient(new CopilotClientOptions
{
ClientInfo = new CopilotClientInfo
{
ApplicationName = "vscode",
ApplicationVersion = "1.124.2",
IntegrationName = "copilot-chat",
IntegrationVersion = "0.54.0",
},
});
await client.StartAsync();
var options = new CopilotClientOptions()
.setClientInfo(new ClientInfo()
.setApplicationName("vscode")
.setApplicationVersion("1.124.2")
.setIntegrationName("copilot-chat")
.setIntegrationVersion("0.54.0"));
var client = new CopilotClient(options);
client.start().get();
use github_copilot_sdk::{Client, ClientInfo, ClientOptions};
let client = Client::start(
ClientOptions::new().with_client_info(
ClientInfo::new()
.with_application_name("vscode")
.with_application_version("1.124.2")
.with_integration_name("copilot-chat")
.with_integration_version("0.54.0"),
),
)
.await?;
Notas
- La información del cliente tiene carácter orientativo. El tiempo de ejecución puede omitir los valores que no coinciden con el formato esperado, como una cadena de versión no válida.
- La configuración de la información del cliente cambia la forma en que el entorno de ejecución atribuye su telemetría. No cambia lo que registra el entorno de ejecución.
- Si todos los campos no se han establecido o están vacíos, el SDK omite la información del cliente durante el establecimiento de conexión y el entorno de ejecución mantiene la atribución predeterminada.