在Xamarin.Forms WebView上嵌入Power BI

时间:2019-01-30 00:50:23

标签: c# xamarin.forms webview powerbi powerbi-embedded

我无法使用WebView将安全报告嵌入到Xamarin.Forms应用中。我了解Power BI Embedded可以通过其JavaScript API加载到网页中。我的逻辑是,这可以通过WebView在Xamarin.Forms中实现。

我可以访问Power BI嵌入令牌,嵌入URL和报告ID。我当前的方法是将具有JavaScript所需参数的本地HTML文件存储到WebView中,以显示嵌入式报告。

我使用以下JavaScript尝试将报告加载到本地HTML:

<script>
    // Read embed application token from Model
    var accessToken = "<<ACCESS_TOKEN>>"

    // Read embed URL from Model
    var embedUrl = "<<EMBED_URL>>";

    // Read report Id from Model
    var embedReportId = "<<REPORT_ID>>";

    // Get models. models contains enums that can be used.
    var models = window['powerbi-client'].models;

    var config = {
        type: 'report',
        tokenType: models.TokenType.Embed,
        accessToken: accessToken,
        embedUrl: embedUrl,
        id: embedReportId,
        permissions: models.Permissions.All,
        settings: {
            layoutType: models.LayoutType.MobilePortrait
        }
    };

    // Get a reference to the embedded report HTML element
    var reportContainer = $('#reportContainer')[0];

    // Embed the report and display it within the div container.
    var report = powerbi.embed(reportContainer, config);
</script>

此代码段中引用了所有必需的JavaScript库。

初始化页面后,WebView将包含HTML,并且该报告未在分配的<div>中呈现。我怀疑用于加载嵌入式报告的JavaScript不能在Xamarin WebView中运行。

是否可以在Xamarin.Forms应用程序中嵌入安全报告?我的方法是实现此目标的正确方法吗?还是有更好的方法来解决这个问题?

0 个答案:

没有答案