Ir al contenido
Apps nativas

El mismo soporte, dentro de su aplicación

Nueve paquetes nativos llevan el widget dentro de su app — sello de no leídos, chat, agente de IA y novedades, con push en el celular — incluso en stacks que suelen quedar fuera, como Delphi 7 y Lazarus.

  • Una clave para todas las plataformas
  • Contenido desde el servidor, sin volver a publicar en la tienda
  • Identidad verificada
Dónde funciona

Elija su stack

Los nueve paquetes nativos están publicados, cada uno en el gestor de paquetes de su plataforma. Donde no hay paquete, el widget web funciona en cualquier app con WebView.

Móvil

  • Flutter 0.1.0 Android, iOS, macOS y Windows pub.dev · bfocus_widget Código en GitHub Disponible
  • iOS 0.1.2 UIKit y SwiftUI, iOS 15+ Swift Package Manager · BFocusWidget Código en GitHub Disponible
  • Android 0.1.0 Views y Compose, minSdk 24 Maven Central · bfocus-widget-android Código en GitHub Disponible
  • React Native 0.1.0 compatible con Expo npm · @bfocus/react-native-widget Código en GitHub Disponible

Escritorio

  • .NET 0.1.1 WinForms, WPF y MAUI NuGet · Bfocus.Widget.WinForms, .Wpf, .Maui Código en GitHub Disponible
  • Delphi 10.4+ con TEdgeBrowser y Delphi 7 con pantalla nativa Boss Código en GitHub Disponible
  • Lazarus Windows, Linux y macOS GitHub · package/bfocus_widget_lcl.lpk Código en GitHub Disponible
  • Java 0.1.0 JavaFX y Swing Maven Central · bfocus-widget-javafx, -swing Código en GitHub Disponible
  • Python 0.1.1 Qt (PySide6) y Tk nativo PyPI · bfocus-widget Código en GitHub Disponible

Web y empaquetados

  • Web el fragmento de diez líneas CDN · widget.bfocus.com.br/v1 Disponible
  • Electron · Tauri · Capacitor · Ionic usan el widget web, sin paquete extra Disponible
  • VB6 · Harbour · Visual FoxPro · PowerBuilder modo navegador, con sesión firmada Disponible

Delphi se instala con Boss. Lazarus viene directo del repositorio: clónelo y abra el paquete bfocus_widget_lcl.lpk. Los demás salen del registro de cada plataforma.

Todos los repositorios en github.com/bernisoftware

En su código

Pocas líneas en cualquier lenguaje

Los fragmentos de abajo son los mismos del README de cada paquete.

WebNativo
<!-- antes de </body> -->
<script>
  (function (w, d) {
    w.bFocusQueue = w.bFocusQueue || [];
    w.bFocus = w.bFocus || { init: function(o){ w.bFocusQueue.push(['init', o]); } };
    var s = d.createElement('script');
    s.async = true; s.src = 'https://widget.bfocus.com.br/v1/widget.js';
    s.setAttribute('data-bf-key', 'bf_pk_…');
    d.head.appendChild(s);
  })(window, document);
  bFocus.init({
    user:     { externalId: 'USR-123', name: 'João Silva' },
    customer: { externalId: 'EMP-456', name: 'Empresa Ltda' },
    userHash: '…'   // firmado en SU servidor
  });
</script>

Widget web — disponible, servido por la CDN

En los paquetes

Lo que cada paquete entrega

Lo esencial vale en todos. Donde la plataforma cambia la forma, el texto dice cuál.

Sello de no leídos

Un contador reactivo que usted cuelga del icono que ya existe en su interfaz.

Novedades y acuse de lectura

Píldora de versión y banner de la última nota, con confirmación de lectura cuando usted la exija.

Push con su credencial

En Flutter, iOS, Android, React Native y .NET MAUI, la notificación sale por su proyecto Firebase, con el nombre y el icono de su app. En el escritorio, el sello y la notificación del sistema vienen de una consulta periódica.

Deep link

Abre directo en el ticket o en la novedad; en el celular, también al tocar la notificación con la app cerrada.

Adjuntos y descargas

Enviar foto, documento y descargar lo que mandó el agente, con los permisos correctos de cada sistema.

Sin conexión

En los paquetes con WebView, pantalla propia de red no disponible, con reintento automático cuando vuelve.

Preguntas sobre los paquetes

¿Dónde instalo los paquetes?

En el gestor de paquetes de cada plataforma: pub.dev, Swift Package Manager, Maven Central, npm, NuGet y PyPI. Delphi se instala con Boss y Lazarus viene directo de GitHub. El código de todos está en github.com/bernisoftware.

¿Tengo que volver a publicar la app cuando cambio algo en bFocus?

No. En los paquetes con WebView, la interfaz viene de la CDN. En todos, textos, colores, base de conocimiento y agente vienen del servidor, sin volver a publicar la app.

¿Y si mi sistema es demasiado antiguo para WebView?

Existe el modo navegador: su sistema abre el widget en el navegador predeterminado con la sesión ya firmada, y el usuario sigue identificado. Así funcionan VB6, Harbour y Visual FoxPro.

¿Cuál es la diferencia entre la clave pública y la firma?

La clave pública identifica su cuenta y puede quedar visible en la app. La firma HMAC, calculada en su servidor, es lo que prueba que ese usuario es quien dice ser — con la identidad verificada activada, bFocus rechaza a quien no la trae. Vale 7 días: su servidor genera otra cuando vence.

¿Tengo que registrar algún origen para el paquete nativo?

Sí. El origen del paquete nativo es app:// seguido del id de la aplicación, y entra en la misma lista de dominios autorizados del widget. Ahí el id se comprueba entero: app://com.cliente no habilita app://com.cliente.otro, porque el host es un identificador de aplicación y no un dominio. Registre uno por app. En la web es al revés: el dominio raíz ya cubre los subdominios.

Ponga el soporte dentro de su app

Instale el paquete de su stack o empiece por el widget web. La clave es la misma.