Widget Integrar

El widget Integrar permite integrar contenido de sitio web usando una URL o código para funcionalidad personalizada adicional.

Ejemplos

Use este widget para apoyar los requisitos de diseño de la aplicación como por ejemplo los siguientes:

  • Tiene que proporcionar información adicional desde un sitio web basándose en la selección de una entidad. La capa de entidades contiene un campo con URL para sitios web que desea integrar una vez que un usuario seleccione una entidad en el mapa o haga clic en un botón para ver más información para esa entidad.
  • Desea integrar un cuadro de mando en su aplicación y permitir que los usuarios incorporen un parámetro de URL al final de la URL de experiencia web para cambiar la vista actual del cuadro de mando (por ejemplo, para mostrar datos de una región concreta).
  • Desea integrar contenido usando código HTML (como por ejemplo un sitio web) o copiar el código desde una muestra (como por ejemplo clustering de puntos).

Notas de uso

Para crear una URL dinámica utilizando los parámetros de URL, guarde y vuelva a cargar la aplicación con el parámetro de URL que desee usar para que pueda seleccionar la clave correspondiente en la ventana Información de URL. En el tiempo de ejecución, el widget Integrar busca y correlaciona el nombre de la información de URL especificada con los parámetros de URL agregados a la URL de la aplicación host y resuelve la URL utilizando el valor correspondiente para mostrar la aplicación integrada.

Nota:

Si elige mostrar un PDF directamente en el widget Integrar, es posible que algunos usuarios no puedan verlo en determinados navegadores por motivos de seguridad.

Configuración

El widget Integrar incluye estos ajustes:

  • Integrar por: elija entre integrar por URL o código.
    • URL: integre un sitio web con una URL estática o utilice las siguientes opciones para formar una URL dinámica:
      Nota:

      Solo se admiten URL HTTPS. Por motivos de seguridad, la aplicación integrada se limita mediante la misma política de origen. Para dominios distintos de *.arcgis.com y *.esri.com, el atributo sandbox se agrega automáticamente.

      • Conectar a datos: seleccione una capa como fuente de datos (agregada desde mapas web, escenas web, capa directa o mediante URL) y haga clic en el botón Datos para seleccionar un atributo que contenga URL o para agregarlo a una URL existente como parámetros. Utilice el campo Etiqueta para mostrar una descripción en el widget cuando no se rellene con el contenido de una dirección URL de los datos.
      • Información de URL: obtenga parámetros de URL para agregarlos como sufijo a la URL de su aplicación en el builder. Configure una URL dinámica para trasladar parámetros de URL desde el widget Integrar a la aplicación integrada, de modo que los usuarios puedan agregar parámetros de URL a la URL de la experiencia web en el tiempo de ejecución para controlar lo que aparece en la aplicación integrada.
        Nota:

        Para obtener información sobre los parámetros de URL compatibles con la aplicación integrada, consulte la correspondiente documentación, por ejemplo para ArcGIS Dashboards y ArcGIS Web AppBuilder.

    • Código: agregue su propio código HTML personalizado para integrar elementos de terceros en su experiencia.

      Para cumplir con los requisitos de cumplimiento, el widget restringe el contenido que puede integrar mediante código. En la actualidad, el widget admite contenido URL en un iframe HTML, código compartido de una selección de sitios web de redes sociales populares y un subconjunto de etiquetas y atributos HTML. La siguiente es una lista de formatos HTML compatibles:

      FormatoEjemplo

      Iframe HTML estándar con contenido de URL

      
      <iframe width="100%" height="600px" frameborder="0" scrolling="yes" marginheight="" marginwidth="" src="https://developers.arcgis.com/"></iframe>

      YouTube

      <iframe width="560" height="315" src="https://www.youtube.com/embed/pNrsd5naN7U" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

      Twitter

      Ejemplo de una cronología de Twitter:

      <a class="twitter-timeline" href="https://twitter.com/ArcGISApps?ref_src=twsrc%5Etfw">Tweets by ArcGISApps</a> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

      Facebook

      <iframe src="https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2Fesrigis%2Fphotos%2Fa.433181450280%2F10160256145415281%2F&show_text=true&width=500"
      width="500" height="417" style="border:none;overflow:hidden"
      scrolling="no" frameborder="0" allowfullscreen="true"
      allow="autoplay; clipboard-write; encrypted-media;
      picture-in-picture; web-share"></iframe>

      Instagram

      
       <blockquote class="instagram-media" data-instgrm-permalink="https://www.instagram.com/reel/CmZQDMJtMvc/?utm_source=ig_embed&amp;utm_campaign=loading" data-instgrm-version="14" style=" background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:540px; min-width:326px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);"><div style="padding:16px;"> <a href="https://www.instagram.com/reel/CmZQDMJtMvc/?utm_source=ig_embed&amp;utm_campaign=loading" style=" background:#FFFFFF; line-height:0; padding:0 0; text-align:center; text-decoration:none; width:100%;" target="_blank"> <div style=" display: flex; flex-direction: row; align-items: center;"> <div style="background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;"></div> <div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center;"> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;"></div> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;"></div></div></div><div style="padding: 19% 0;"></div> <div style="display:block; height:50px; margin:0 auto 12px; width:50px;"><svg width="50px" height="50px" viewBox="0 0 60 60" version="1.1" xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink"><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g transform="translate(-511.000000, -20.000000)" fill="#000000"><g><path d="M556.869,30.41 C554.814,30.41 553.148,32.076 553.148,34.131 C553.148,36.186 554.814,37.852 556.869,37.852 C558.924,37.852 560.59,36.186 560.59,34.131 C560.59,32.076 558.924,30.41 556.869,30.41 M541,60.657 C535.114,60.657 530.342,55.887 530.342,50 C530.342,44.114 535.114,39.342 541,39.342 C546.887,39.342 551.658,44.114 551.658,50 C551.658,55.887 546.887,60.657 541,60.657 M541,33.886 C532.1,33.886 524.886,41.1 524.886,50 C524.886,58.899 532.1,66.113 541,66.113 C549.9,66.113 557.115,58.899 557.115,50 C557.115,41.1 549.9,33.886 541,33.886 M565.378,62.101 C565.244,65.022 564.756,66.606 564.346,67.663 C563.803,69.06 563.154,70.057 562.106,71.106 C561.058,72.155 560.06,72.803 558.662,73.347 C557.607,73.757 556.021,74.244 553.102,74.378 C549.944,74.521 548.997,74.552 541,74.552 C533.003,74.552 532.056,74.521 528.898,74.378 C525.979,74.244 524.393,73.757 523.338,73.347 C521.94,72.803 520.942,72.155 519.894,71.106 C518.846,70.057 518.197,69.06 517.654,67.663 C517.244,66.606 516.755,65.022 516.623,62.101 C516.479,58.943 516.448,57.996 516.448,50 C516.448,42.003 516.479,41.056 516.623,37.899 C516.755,34.978 517.244,33.391 517.654,32.338 C518.197,30.938 518.846,29.942 519.894,28.894 C520.942,27.846 521.94,27.196 523.338,26.654 C524.393,26.244 525.979,25.756 528.898,25.623 C532.057,25.479 533.004,25.448 541,25.448 C548.997,25.448 549.943,25.479 553.102,25.623 C556.021,25.756 557.607,26.244 558.662,26.654 C560.06,27.196 561.058,27.846 562.106,28.894 C563.154,29.942 563.803,30.938 564.346,32.338 C564.756,33.391 565.244,34.978 565.378,37.899 C565.522,41.056 565.552,42.003 565.552,50 C565.552,57.996 565.522,58.943 565.378,62.101 M570.82,37.631 C570.674,34.438 570.167,32.258 569.425,30.349 C568.659,28.377 567.633,26.702 565.965,25.035 C564.297,23.368 562.623,22.342 560.652,21.575 C558.743,20.834 556.562,20.326 553.369,20.18 C550.169,20.033 549.148,20 541,20 C532.853,20 531.831,20.033 528.631,20.18 C525.438,20.326 523.257,20.834 521.349,21.575 C519.376,22.342 517.703,23.368 516.035,25.035 C514.368,26.702 513.342,28.377 512.574,30.349 C511.834,32.258 511.326,34.438 511.181,37.631 C511.035,40.831 511,41.851 511,50 C511,58.147 511.035,59.17 511.181,62.369 C511.326,65.562 511.834,67.743 512.574,69.651 C513.342,71.625 514.368,73.296 516.035,74.965 C517.703,76.634 519.376,77.658 521.349,78.425 C523.257,79.167 525.438,79.673 528.631,79.82 C531.831,79.965 532.853,80.001 541,80.001 C549.148,80.001 550.169,79.965 553.369,79.82 C556.562,79.673 558.743,79.167 560.652,78.425 C562.623,77.658 564.297,76.634 565.965,74.965 C567.633,73.296 568.659,71.625 569.425,69.651 C570.167,67.743 570.674,65.562 570.82,62.369 C570.966,59.17 571,58.147 571,50 C571,41.851 570.966,40.831 570.82,37.631"></path></g></g></g></svg></div><div style="padding-top: 8px;"> <div style=" color:#3897f0; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:550; line-height:18px;">View this post on Instagram</div></div><div style="padding: 12.5% 0;"></div> <div style="display: flex; flex-direction: row; margin-bottom: 14px; align-items: center;"><div> <div style="background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(0px) translateY(7px);"></div> <div style="background-color: #F4F4F4; height: 12.5px; transform: rotate(-45deg) translateX(3px) translateY(1px); width: 12.5px; flex-grow: 0; margin-right: 14px; margin-left: 2px;"></div> <div style="background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(9px) translateY(-18px);"></div></div><div style="margin-left: 8px;"> <div style=" background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 20px; width: 20px;"></div> <div style=" width: 0; height: 0; border-top: 2px solid transparent; border-left: 6px solid #f4f4f4; border-bottom: 2px solid transparent; transform: translateX(16px) translateY(-4px) rotate(30deg)"></div></div><div style="margin-left: auto;"> <div style=" width: 0px; border-top: 8px solid #F4F4F4; border-right: 8px solid transparent; transform: translateY(16px);"></div> <div style=" background-color: #F4F4F4; flex-grow: 0; height: 12px; width: 16px; transform: translateY(-4px);"></div> <div style=" width: 0; height: 0; border-top: 8px solid #F4F4F4; border-left: 8px solid transparent; transform: translateY(-4px) translateX(8px);"></div></div></div> <div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center; margin-bottom: 24px;"> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 224px;"></div> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 144px;"></div></div></a><p style=" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;"><a href="https://www.instagram.com/reel/CmZQDMJtMvc/?utm_source=ig_embed&amp;utm_campaign=loading" style=" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none;" target="_blank">A post shared by Esri (@esrigram)</a></p></div></blockquote> <script async src="//www.instagram.com/embed.js"></script>

      Vimeo

      <iframe src="https://player.vimeo.com/video/344310270?h=f8c418505e" width="640" height="360" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen></iframe>
      <p><a href="https://vimeo.com/344310270">The Science of Where - ESRI</a> from <a href="https://vimeo.com/south422">422 South</a> on <a href="https://vimeo.com">Vimeo</a>.</p>

      Otro

      Más información sobre HTML compatibles

      Precaución:

      Hay un límite de tamaño de 8 KB (8192 caracteres) impuesto por motivos de rendimiento.

      Nota:

      Por razones de seguridad, debe iniciar sesión con una cuenta de organización de ArcGIS para integrar código HTML.

      Sugerencia:

      Si desea integrar una página HTML compleja que exceda el límite de tamaño o que no provenga de ninguna de las fuentes admitidas, implemente la página en su propio servidor e intégrela mediante URL.

  • Actualizar automáticamente: establezca un intervalo de tiempo personalizado (en minutos) para actualizar automáticamente el contenido integrado en el widget Integrar. El número mínimo que puede definir es 0,2 minutos (12 segundos).

Configurar una URL dinámica

Siga estos pasos para obtener parámetros de URL de su experiencia web que puede trasladar a una aplicación integrada:

  1. Agregue un widget Integrar y guarde.
  2. En la barra de direcciones de la ventana del navegador, agregue el parámetro de URL a la URL de su experiencia web y pulse Intro para volver a cargar la página.
    Sugerencia:

    Dado que el builder ya incluye el parámetro Id. de aplicación, agregue el parámetro de URL con un símbolo et (por ejemplo, &state=) en lugar de un signo de interrogación.

    Una vez que el builder se vuelve a cargar con el parámetro de URL, el botón Información de URL muestra su clave para crear una URL dinámica.

  3. En el cuadro de entrada Integrar por URL, pegue la URL de la aplicación que desee integrar.
  4. Al final de la URL integrada, escriba el parámetro de URL (por ejemplo, ?state=).
  5. Haga clic en el botón Información de URL y seleccione la clave correspondiente para completar la URL dinámica.

    A continuación, se muestra un ejemplo de URL dinámica para un cuadro de mando integrado:

    https://<your portal url>/apps/dashboards/index.html#/<id>?state={appURL.search.state}

Compartir autenticación

Algunas aplicaciones web solicitan a los usuarios que inicien sesión con una cuenta de ArcGIS. Una aplicación puede requerir inicio de sesión debido a su configuración de uso compartido, ya que la aplicación incluye widgets que utilizan contenido Premium o por otros motivos.

Si desea integrar una aplicación web de ArcGIS en su aplicación Experience Builder y ambas requieren inicio de sesión, puede agregar los parámetros arcgis-auth-origin y arcgis-auth-portal URL para compartir la autenticación entre las dos aplicaciones de modo que los usuarios solo tengan que iniciar sesión una vez.

Para integrar una aplicación privada Experience Builder en otra aplicación Experience Builder, utilice ?arcgis-auth-origin= para definir la URL del dominio de la aplicación host para la autenticación. A continuación, encontrará un ejemplo:

https://<orgdomain>/experience/<AppID>/?arcgis-auth-origin=<your host app domain, such as https://localhost:3001>

Para integrar una aplicación basada en API JavaScript, como, por ejemplo, una aplicación Web AppBuilder, utilice ?arcgis-auth-origin= para la autenticación del dominio de aplicación host y ?arcgis-auth-portal= para el portal ArcGIS desde el que la aplicación basada en la API de JavaScript necesita autenticación. A continuación, se muestran algunos ejemplos:

https://<orgdomain>/apps/webappviewer/index.html?id=<appID>&arcgis-auth-origin=<your host app domain, such as https://localhost:3001>&arcgis-auth-portal=<orgA URL>
https://www.arcgis.com/apps/dashboards/index.html#/<appID>?arcgis-auth-origin=https://experience.arcgis.com&arcgis-auth-portal=https://<myorg>.maps.arcgis.com