云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

京东云_不眠之夜百度云_新注册优惠

小七 141 0

使用嵌入式SDK快速嵌入完全集成的分析应用程序

博客想象一下这样的场景:您正试图通过使用嵌入式分析提供附加值来提高应用程序的粘性和采用率。您还希望通过上下文驱动的分析为您的最终用户提供无缝体验,以便他们能够在不离开应用程序的情况下做出决策举个例子,假设你有一个让客户运行和分析营销活动的应用程序。如果客户正在查看您的应用程序(主机应用程序)中的特定活动("活动XYZ"),则紧密集成的体验将提供一个嵌入式分析仪表板,并过滤到相同的活动XYZ中,自动执行,而不强制用户每次在嵌入式仪表板中导航到它。或者即使嵌入式分析仪表板没有绑定到宿主应用程序中的筛选器,更紧密的集成将使过滤器和控制面板在分析之外和宿主应用程序中具有自己的样式(与分析仪表板中不同),提供更无缝和一致的用户体验。现在,构建这样一个工作流有两个步骤:首先是在主机应用程序中嵌入分析;其次是构建通信逻辑,在主机应用程序和嵌入式分析应用程序之间来回传递信息,以便在嵌入式仪表板中执行命令嵌入分析仪表板的传统方法(直接嵌入iFrame)在最广泛使用的场景中,您可以使用iFrames元素将分析直接嵌入到宿主应用程序中。步骤1:将分析嵌入到父应用程序中直接使用iFrames嵌入一个完整的仪表板是相当简单和容易理解的。如果您的应用程序只需要这样做,那么这个方法就足够了。很快,Sisense还将提供一个基于UI的嵌入式代码生成器,这将使这个过程更加简单。但是,请记住,在这个场景中,开发人员不仅需要获得有关Sisense的信息(URL、参数、格式),而且还需要将其硬编码到他们的配置中。如果这一行的结构发生了变化,他们就必须回去修改URL格式。传统的做法是: 步骤2:将筛选器从宿主应用程序传递到嵌入式分析应用程序然而,第二步(主机和嵌入式应用程序之间的通信)不再简单。它需要使用postMessages浏览器API进行复杂的序列和逻辑,而postMessages浏览器API需要定制。这是因为(除非宿主应用程序和嵌入式分析平台共享相同的HTTP协议、端口和主机),浏览器将阻止跨域脚本执行(也称为XSS),postMessage是解决此限制的唯一方法,提供了一种跨域安全传递消息的方法。通常,由于完成这项工作所涉及的努力,开发人员往往不会为最终用户创建更完整、更紧密集成的体验。如果你举一个最简单的例子,只需从主机向嵌入式应用程序传递一个过滤器,那么开发者需要在两个应用程序中使用多行代码构建逻辑来实现这一点。以前的样子是这样的://在Sisense插件中:窗口.addEventListener('message',(event)=>{如果(事件.数据&& event.data.updateFilter) {prism.activeDashboard.filters.更新(event.data.updateFilter,{save:true,refresh:true});}})//在主机页中:让过滤器={杰奎尔:{尺寸:'[测试电子邮件]',title:'电子邮件',datatype:'文本',过滤器:{包含:"@gmail"}}};文档.getElementById('myFrame')。contentWindow.postMessage({updateFilter:filter},'mycompany.com网站'); 现在想象一下,当我们必须添加更多这样的功能时——监听事件或删除过滤器、更新过滤器或从嵌入式应用程序获取信息——代码将变得更加复杂,并以指数级增长。这增加了价值实现的时间、风险和开发成本。使用Sisense Embed SDK快速嵌入分析的更好方法嵌入式SDK解决了所有这些问题,简化了应用程序和嵌入式分析仪表板之间的交互,节省了开发和集成时间。它消除了在主机和嵌入式分析应用程序之间构建样板代码和处理单个消息路径的逻辑和实现的工作作为一个JavaScript库提供,embeddedsk附带了以编程方式呈现Sisense iFrame元素并对其进行操作的特性,以及订阅Sisense中激发的各种事件。它还允许您在iFrame中执行诸如添加和删除过滤器或导出仪表板之类的命令来影响页面并访问有关Sisense应用程序状态的信息。使用嵌入式SDK嵌入让我们再看看嵌入SDK的相同场景。步骤1:将分析嵌入到父应用程序中embeddedsk允许您通过JS片段生成iFrame。它允许一种更编程的方法来生成iFrame对象,而不需要在HTML中将其指定为标记。这意味着您不需要知道或担心URL结构,也不必担心将来该结构是否会发生变化。嵌入式SDK在幕后处理所有这些逻辑,允许您以最小的风险快速构建。包括并导入嵌入SDK,并以编程方式初始化和呈现仪表板:const{SisenseFrame,enums}=window['sisense.embed公司'];让myFrame=新的sisensframe({网址:'https://sissense.mycompany.com:8081英尺,仪表板:"5d371bf198b98a113c6a5f38",设置:{showToolbar:错误,showLeftPane:错误,showRightPane:错误}});myFrame.render(文档.getElementById('sisense-container')。然后(()=>{控制台.log("Sisense帧渲染!");}); 步骤2:将筛选器从宿主应用程序传递到嵌入式分析应用程序在第二个场景中,您开始看到嵌入式SDK为您完成了大部分集成工作。将筛选器传递到嵌入式仪表板现在只需使用筛选器值调用函数即可。就这样!让过滤器={杰奎尔:{尺寸:'[测试电子邮件]',title:'电子邮件',datatype:'文本',过滤器:{包含:"@gmail"}}};myFrame.dashboard.applyFilters(筛选器)。然后(()=>{控制台.log("应用于仪表板的筛选器!");}); 嵌入式SDK的其他用例从宿主应用程序在嵌入式仪表板中执行操作很多时候,您可能希望在宿主应用程序中的嵌入式仪表板之外设置一个操作,例如,使最终用户能够通过宿主应用程序上的按钮导出仪表板,通过宿主应用程序上的按钮显示和隐藏筛选面板,甚至是像注销这样简单的操作。EmbedSDK允许您从嵌入式应用程序外部轻松地执行这些命令。收听事件并订阅信息其他时候,您可能希望监听嵌入式应用程序中的事件,如"Sisense app loaded"或"dashboard loaded and unloaded"或订阅"logged in user"或"dashboard information"等信息,"允许您监视应用程序状态的更改,并根据需要向最终用户显示相关信息或启动工作流。使用Sisense Embed SDK更好地嵌入随着8.1版的Sisense Embed SDK的推出,您可以专注于更高价值的任务,如构建定制的分析应用程序,而不是花费时间和精力构建样板代码、复杂的通信逻辑或其他集成细节。EmbeddedSDK库将允许您生成和操作嵌入式分析内容,从而更轻松地提供完全集成的体验。你的梦的嵌入式分析越来越容易创建!在这个随需应变的网络研讨会上了解更多关于嵌入式SDK的信息。Shruthi Panicker是Sisense的高级技术产品营销经理。她专注于如何利用Sisense构建成功的嵌入式分析解决方案,包括Sisense的嵌入和定制功能、开发人员体验计划和云本地架构。她拥有计算机科学学士学位和工商管理硕士学位,并在技术领域拥有十多年的经验。标签:分析应用程序|开发人员|嵌入式分析