Compartir a través de


Registro de cliente (SDK de Windows Media Format 11)

Cuando el objeto lector lee datos de un servidor, envía información de registro al servidor. Los proveedores de contenido suelen usar esta información para medir la calidad del servicio, generar información de facturación o realizar un seguimiento de la publicidad. La información de registro no contiene datos personales.

La aplicación puede especificar parte de la información registrada mediante una llamada al método IWMReaderAdvanced::SetClientInfo en el objeto reader. Por ejemplo, puede especificar la cadena user-agent, el nombre de la aplicación del reproductor o la página web que hospeda el reproductor.

La información de registro incluye un GUID que identifica la sesión. De forma predeterminada, el lector genera un identificador de sesión anónimo. Opcionalmente, el lector puede enviar un identificador que identifique de forma única al usuario actual. Para habilitar esta característica, llame al método IWMReaderAdvanced2::SetLogClientID con el valor TRUE.

Puede configurar el objeto lector para enviar la información de registro a otro servidor, además del servidor de origen. Para ello, llame al método IWMReaderNetworkConfig::AddLoggingUrl con la dirección URL del servidor. Esta dirección URL debe apuntar a un script o ejecutable que pueda controlar las solicitudes HTTP GET y POST. Puede usar el Agente de anuncios de multidifusión y registro (wmsiislog.dll) o puede escribir un script de ASP o CGI personalizado para recibir los datos de registro.

Nota

Puede obtener la misma funcionalidad mediante la creación de una lista de reproducción del lado servidor con un atributo logURL .

 

Cuando el objeto reader envía el registro, hace lo siguiente:

  1. Envía una solicitud GET vacía al servidor.
  2. Analiza la respuesta del servidor para una de las siguientes cadenas:
    • <body><h1>NetShow ISAPI Log Dll</h1>
    • <body><h1>WMS ISAPI Log Dll/0.0.0.0</h1> donde "0.0.0.0" es cualquier número de versión válido.
  3. Envía una solicitud POST con la información de registro.

En el código siguiente se muestra un script ASP de ejemplo que recibe la información de registro y lo escribe en un archivo:

<html>
<body>
<h1>WMS ISAPI Log Dll/9.00.00.00.00</h1>
<%@ Language=VBScript %>
<%
  Dim temp, i, post, file, fso

  ' Convert the binary data to a string.
  For i = 1 To Request.TotalBytes
    temp = Request.BinaryRead(1)
    pose = pose & Chr(AscB(temp))
  Next

  Set fso = createobject("Scripting.FileSystemObject")
  Set file = fso.OpenTextFile("C:\log.txt", 8, TRUE)

  file.writeline Now
  file.writeline post
  file.writeBlankLines 2 
%>
</body>
</html>

Puede especificar varios servidores para recibir información de registro; simplemente llame a AddLoggingUrl una vez con cada dirección URL. Para borrar la lista de servidores que reciben registros, llame al método IWMReaderNetworkConfig::ResetLoggingUrlList .

Implementación de la funcionalidad de red

IWMReaderAdvanced (Interfaz)

Interfaz IWMReaderAdvanced2