O visualizador é composto de muitos componentes do SDK do visualizador. Normalmente, a página da Web não precisa interagir diretamente com a API de componentes do SDK; todas as necessidades comuns são cobertas na própria API do visualizador.
No entanto, alguns casos de uso avançados exigem que a página da Web faça referência a um componente interno do SDK usando o getComponent()
e, em seguida, usar toda a flexibilidade das APIs do próprio SDK.
O namespace usado para carregar e inicializar componentes do SDK pelo visualizador depende do ambiente em que o visualizador está operando. Se o visualizador estiver em execução no Adobe Experience Manager, ele carregará os componentes do SDK na s7viewers.s7sdk
namespace. Da mesma forma, o visualizador veiculado no Dynamic Media Classic carrega o SDK em s7classic.s7sdk
.
Em ambos os casos, o namespace usado pelo SDK dentro do visualizador tem s7viewers
ou s7classic
como o prefixo. E, é diferente do simples s7sdk
Namespace usado no Guia do usuário do SDK ou na documentação da API do SDK. Por esse motivo, é importante usar um namespace de SDK totalmente qualificado ao gravar o código de aplicativo personalizado que se comunica com componentes internos do visualizador.
Por exemplo, se você planeja ouvir StatusEvent.NOTF_VIEW_READY
e o visualizador for veiculado no Experience Manager, o tipo de evento totalmente qualificado será s7viewers.s7sdk.event.StatusEvent.NOTF_VIEW_READY
e o código do ouvinte de eventos será semelhante ao seguinte:
<instance>.setHandlers({
"initComplete":function() {
var smartCropVideoPlayer = <instance>.getComponent("smartCropVideoPlayer");
smartCropVideoPlayer.addEventListener(s7viewers.s7sdk.event.StatusEvent.NOTF_VIEW_READY, function(e) {
console.log("view ready");
}, false);
}
});
The same code for the viewer served from Dynamic Media Classic looks like the following:
<instance>.setHandlers({
"initComplete":function() {
var smartCropVideoPlayer = <instance>.getComponent("smartCropVideoPlayer");
smartCropVideoPlayer.addEventListener(s7classic.s7sdk.event.StatusEvent.NOTF_VIEW_READY, function(e) {
console.log("view ready");
}, false);
}
});