Skip to content

Dimensions et placement dans l’overlay ​

Contrat partagé du SDK V2 des iframes applis/widgets. Le parent fournit le cadre ; le code adapte son contenu. Une page de plugin HTML utilise son propre viewport et ne possède pas ces globaux SDK.

kapp.overlay.layout est disponible au démarrage : width, height (cadre logique), format, viewportWidth, viewportHeight (surface), scale et reference. Le parent applique déjà le zoom et le centrage ; ne pas multiplier une seconde fois le CSS par scale.

js
const updateLayout = layout => {
    document.body.dataset.format = layout.format;
};
updateLayout(kapp.overlay.layout);
kapp.overlay.events.on(kapp.overlay.EVENTS.LAYOUT_CHANGED, updateLayout);
kapp.onBeforeExit('*', () => {
    kapp.overlay.events.off(kapp.overlay.EVENTS.LAYOUT_CHANGED, updateLayout);
});

Appliquer l’état initial puis s’abonner. CSS responsive ou ResizeObserver peuvent suffire ; un changement de format ne doit ni relancer un média ni répéter une mutation. L’iframe OBS n’est pas cliquable ; kapp.overlay.isExternal() distingue une popout interactive. overlay.type === 'oneshot' ne décrit pas le mode de lancement de l’appli.

Le multiformat est standard pour tous les channels, sans feature à activer. La surface est horizontale si largeur > hauteur, verticale sinon, carré compris. Les cadres de référence sont 1920 × 1080 et 1080 × 1920.

  • Appli : les formats autorisés viennent du manifeste ; consulter vertical. La plateforme ne lui invente pas un format non déclaré.
  • Widget : aucun manifeste ; il suit la surface autorisée. Dans l’agent intégré, read_sdk_doc {service: "vertical"} décrit les placements intégrés.

Un placement média peut avoir une variante portrait ; l’héritage et les unités appartiennent à la configuration concernée. Ne pas convertir aveuglément un rectangle d’un cadre à l’autre. La recette doit inclure horizontal, vertical, carré, redimensionnement sans recharge et conservation de l’état métier.