Otimizar a experiência de inserção

Concluído

Você pode usar duas técnicas para otimizar a experiência de inserção: Inicialização e Inserção em fases.

Usar a inicialização

Obtenha um desempenho de inserção mais rápido usando a função powerbi.bootstrap(embedContainer, config). Essa função prepara e inicializa o elemento iframe antes que todos os parâmetros de configuração necessários sejam definidos. A função powerbi.embed(embedContainer, config) deverá ser chamada quando todos os parâmetros de configuração forem definidos.

O código a seguir mostra como preparar e inicializar o elemento iframe para um relatório do Power BI.

powerbi.bootstrap(embedContainer, { type: 'report' });

Considere usar a inicialização quando a página da Web do aplicativo for carregada pela primeira vez. Enquanto isso acontece, as chamadas do lado do servidor podem recuperar os detalhes do conteúdo do Power BI e o token de acesso. Quando as chamadas do lado do servidor forem concluídas, insira o conteúdo do Power BI.

Diagrama do fluxo de inicialização descrito no parágrafo anterior.

Observação

Não será possível usar a função de inicialização ao inserir relatórios paginados.

Para obter mais informações, confira Usar inicialização para obter um melhor desempenho.

Usar inserção em fases

Quando o conteúdo do Power BI a ser inserido está em uma página diferente do seu aplicativo, há uma técnica alternativa para acelerar a inserção e melhorar a experiência do usuário.

Observação

Ao inserir na mesma página, recomendamos a técnica de inicialização (descrita anteriormente) porque ela é mais rápida.

Use a função powerbi.preload(config) para passar um objeto de configuração mínimo que inclui apenas as propriedades type e embedUrl. O valor embedUrl deve ser uma URL base, o que significa que não precisa de uma ID de artefato específica. O pré-carregamento ajuda a acelerar a inserção baixando os scripts necessários para inserir conteúdo do Power BI antes que o usuário navegue até a página.

// Building the configuration object
let config = {
    type: 'report',
    embedUrl: 'https://app.powerbi.com/reportEmbed',
};

let element = powerbi.preload(config);

O evento preloaded é acionado quando o pré-carregamento é concluído

element.on('preloaded', function () {
    ...
});

Use a função powerbi.load(embedContainer, config) para alterar dinamicamente as configurações no elemento div antes que o conteúdo seja exibido. Por exemplo, você poderá usar essa função para obter informações sobre as páginas de relatório e determinar qual página mostrar ao usuário. Se você usar essa função, também deverá chamar a função powerbi.render() para mostrar o conteúdo inserido.

Juntos, as funções load e render obtêm o mesmo resultado que a função embed.

O diagrama da função de inserção pode ser obtido em fases usando as funções de carga e renderização.

Embora você precise usar as funções load e render juntas, preload é independente delas. Você pode usar a função embed para mostrar o objeto inserido após o pré-carregamento. Você também pode utilizar o procedimento em fases completas chamando preload, load e render, nessa ordem.

Para obter mais informações, confira Usar inserção em fases.

Para outros artigos de otimização, confira Práticas recomendadas para obter um desempenho mais rápido na análise integrada do Power BI.