Admira Docs
Español
Español
  • Bienvenido a Admira
  • CONOCIMIENTOS BÁSICOS
    • Introducción
    • Portal de gestión online
    • Guías rápidas
      • Subir y asignar contenido
      • Estado de pantallas
      • Bloques
      • Plantillas
      • Nuevo usuario
    • Conceptos básicos
    • Programación de contenidos
  • Instalación de Admira Player
    • Windows 10
      • Instalación de Admira Player
      • Configuración de BIOS
      • Configuración del sistema operativo Windows
      • Configuración de Windows
      • Firewall de Windows
      • Windows Update
      • Aplicaciones externas recomendadas
        • Acceso remoto
        • Apagado programado
        • Aplicaciones innecesarias
    • Apple
      • MacOS
      • iOS
    • Linux
      • Debian / Raspberry Pi OS
      • Ubuntu
    • Philips
    • LG
      • LG WebOs 6
      • LG WebOs 4
      • LG WebOS 3
      • LG WebOS 2
    • Samsung
      • Tizen 7.0
      • Samsung SSSP 4-6 (Tizen)
      • Samsung SSSP 2-3
    • Android
    • Chrome OS
  • CONTENIDOS
    • Buenas prácticas para la creación de contenidos
    • Formatos compatibles y requisitos técnicos
    • Subir contenidos
    • Avisos de subida de contenido
    • Gestión de contenidos
    • Contenidos eliminados
    • Fastcontent
    • Smartcontent
    • Contenidos HTML
      • Estructura de ficheros
      • Buenas prácticas
      • Admira API Content HTML5
      • Nomenclatura de ficheros
      • Estructura de HTML básico para plantilla
      • Contenidos URL
  • Contenidos interactivos
  • PRODUCCIÓN
    • Playlists
  • Playlists con criterios
  • Bloques
  • Categorías
  • Criterios
  • Ratios
  • Plantillas
  • DISTRIBUCIÓN
  • Inventario
  • Horarios
  • Incidencias
  • Modo multiplayer
  • Asignación de condiciones
  • GESTIÓN
    • Administración
    • Emisión
    • Usuarios
    • Conectividad
    • Estadísticas
      • Estadísticas por contenido
      • Estadísticas por player
      • Estadísticas por campaña
      • FAQs
    • Log
      • Log de estado
      • Log de descargas
      • Log de pantallas
    • Roles
  • Informes
    • Tipos de informe
    • Plantillas del Proyecto
    • Filtro
    • Permisos sobre Informes
    • Informes de campañas agrupadas
    • Tutorial: Procedimiento para crear y generar informes
    • FAQ
  • PUBLICIDAD
    • Campañas
    • Calendario
    • Ocupación
  • Información Adicional
    • Requisitos de networking
  • Admira Suite
    • Admira Helpdesk
Powered by GitBook
On this page

Was this helpful?

  1. CONTENIDOS
  2. Contenidos HTML

Admira API Content HTML5

PreviousBuenas prácticasNextNomenclatura de ficheros

Last updated 2 years ago

Was this helpful?

Admira API content HTML5 es el servicio disponible para poder comunicarse desde un contenido HTML al player de Admira via Javascript. A continuación se describen las funciones básicas de dicha API.

Para poder utilizar las funcionalidades de Admira API Content HTML5, es necesario disponer del , proporcionado por Admira.

Una vez añadido como adjunto y incluido en el HTML principal, se puede invocar de la siguiente manera:

<script>
var api_obj = null;

function on_load(){
    api_obj = new admira_api_content();
    api_obj.onReady = function(){
        console.log(«Ready !»);
    };
    api_obj.onStart = function(){
        console.log(«Start !»);
    };
}
</script>
<body onLoad=”on_load();”>
…

Eventos

Aqui se explican los eventos básicos de API Content.

  • onReady: se produce cuando el player ha conseguido precargar el contenido HTML con éxito, es decir, el HTML ha sido cargado dentro del iFrame. En este punto el iFrame sigue en DISPLAY:NONE

  • onStart: se produce cuando el player pone en “PLAY” el contenido. Cualquier animación o reproducción de elementos debe iniciarse aquí. En este punto el iFrame sigue en DISPLAY:INLINE

Funcionalidades

API content también permite enviar mensajes a player HTML5 para indicarle diferentes acciones a realizar:

  • API_DURATION: Cambia la duración del contenido que se está reproduciendo

  • API_FINISH: Finaliza el contenido que se está reproduciendo

  • API_CONDITION: Escribe una condición para poder ser leída posteriormente por el player con las capacidades de Playlist condicional y Triggers de condiciones

  • API_WRITE_FILE: Permite escribir datos de texto a un fichero en local

  • API_READ_FILE: Permite leer un fichero de texto local

Nota

Estas funcionalidades están en constante desarrollo y mejora. Para cualquier cuestión, no dudes en reportar a soporte@admira.com.

Nota

Para versiones de app inferiores a z19.05.30, cuando se quiere obtener el id del player, es necesario poner la llamada dentro de onStrat. Para las versiones posteriores a z19.05.30, esta incluida, se puede poner dentro de onReady. A continuación se muestra un ejemplo de cómo habría que pedir el id del player en ambos casos.

Versión de la aplicación anterior a z19.05.30

my_api.onReady = function(){
    console.log("Ready !”);
};

my_api.onStart = function(){

console.log(“onStart”);

my_api.send("api_command",{command:my_api.API_PLAYER_INFO,params:{'callback':"onGetInfo"}});

};

Versión de la aplicación igual o posterior a z19.05.30

my_api.onReady = function(){
    console.log("Ready !”);

    my_api.send("api_command",{
        command:my_api.API_PLAYER_INFO,params:{
        'callback':"onGetInfo"
            }
        });
    };

    my_api.onStart = function(){

    console.log(“onStart”);
};

Ejemplos de funciones

# API_DURATION:

api_obj.send("api_command",{
    command:api_obj.API_DURATION,
    params: {
        duration:30
    }
});

→ Cambiará la duración, donde 30 es el número de segundos a partir del momento de la llamada a API.

# API_FINISH:

api_obj.send("api_command",{
    command:api_obj.API_FINISH
});

→ Finalizara el contenido de inmediato.

# API_CONDITION:

var condition_object = {
    'id': ‘01’,
    'filename': ‘internet_connected.xml’,
    'value':1,
    ‘write’:true
};

api_obj.send("api_command",{
    command:api_obj.API_CONDITION,
    params:condition_object
});

→ Escribirá el valor de la condicion para “Internet Connected”.

# API_WRITE_FILE:

var file_object = {
    'path': ‘./log’,
    'filename': ‘hello.txt’,
    'text':’ Hello World !’
};

api_obj.send("api_command",{
    command:api_obj.API_WRITE_FILE,
    params:file_object
});

→ Escribirá “Hello World!“ en ./content/hello.txt

# API_READ_FILE:

function onFileReadComplete(data){
    console.log("HTML onFileReadComplete data : "+data);
}

var file_object = {
    'path': ‘./log’,
    'filename': ‘hello.txt’,
    'callback': ‘onFileReadComplete’
};

api_obj.send("api_command",{
    command:api_obj.API_READ_FILE,
    params:file_object
});

→ Leerá ./content/hello.txt y enviara el resultado al callback : onFileReadComplete

# API_PLAYER_INFO:
**Ejemplo completo obtener player_id y usarlo (versiones app inferiores a z19.05.30)

<script>

my_api = new admira_api_content();

var started = false;
var playerId = 0;

if (typeof(Storage) !== "undefined") {
    playerId = localStorage.getItem("playerID");
    myFunction(playerId);
}

if(playerId == 0){
    //Cuando inicia el player (Carga el HTML)
    my_api.onReady = function () {
        setTimeout(function(){my_api.onStart()},time);
    };

    //Cuando emite el HTML
    my_api.onStart = function () {
        clearTimeout(time)
        if(!started){
            my_api.send("api_command", { 
                command: my_api.API_PLAYER_INFO, params: { 'callback': "onGetInfo" 
                } 
            });
        }
    started = true;
    };
    
    my_api.onEvent = function (e) {
        if (started) {
         if (e.action == my_api.API_PLAYER_INFO) {
                if (typeof (e.msg.callback) !== "undefined") {
                    eval(e.msg.callback)(e.msg.data);
                }
            }
        }
    };
}


function onGetInfo(data) {
    try {
        if (data) {
            if (data.PlayerController && data.PlayerController.player_id) {
                playerId = data.PlayerController.player_id;
                localStorage.setItem("playerID", playerId);
                myFunction(playerId);
            }
        }
    }
    catch (e) {
        document.getElementById("contenedor").innerHTML = e;
    }
};

</script>
# API_PLAYER_INFO:
**Ejemplo completo obtener player_id y usarlo (versiones app iguales o superiores a z19.05.30)

<script>

my_api = new admira_api_content();

var started = false;
var playerId = 0;
var time = 2000;

if (typeof(Storage) !== "undefined") {
    playerId = localStorage.getItem("playerID");
    myFunction(playerId);</p>
}

if(playerId == 0){
    //Cuando inicia el player (Carga el HTML)
    my_api.onReady = function () {
        my_api.send("api_command", { 
            command: my_api.API_PLAYER_INFO, params: { 
                'callback': "onGetInfo" 
            }
        });
    };

    //Cuando emite el HTML
    my_api.onStart = function () {
        started = true;
    };
    my_api.onEvent = function (e) {
        if (started) {
            if (e.action == my_api.API_PLAYER_INFO) {
                if (typeof (e.msg.callback) !== "undefined") {
                    eval(e.msg.callback)(e.msg.data);
                }
            }
        }
    };
}

function onGetInfo(data) {
    try {
        if (data) {
            if (data.PlayerController && data.PlayerController.player_id) {
                playerId = data.PlayerController.player_id;
                localStorage.setItem("playerID", playerId);
                myFunction(playerId);
            }
        }
    }
    catch (e) {
        document.getElementById("contenedor").innerHTML = e;
    }
};
</script>

script