Cada cambio, tres veces
× cada cambio
Son 71, y 61 funcionan en un celular real en la app de demo.
Tipadas, documentadas e iguales en iOS y Android. Llámalas desde el JavaScript que ya escribes.
Reproducción de audio y video
Reproduce multimedia con controles nativos y audio en segundo plano.
Acceso guardado
Recuerda a los usuarios entre sesiones con credenciales guardadas en el dispositivo.
Compras en la app
Vende productos digitales en ambas tiendas. Verifica recibos en el servidor.
Compartir nativo
El menú del sistema para compartir texto, enlaces, imágenes y archivos.
Interfaz y respuesta nativas
Avisos, indicadores de carga e interfaz nativa desde JavaScript.
Equipo y ciclo de vida
Plataforma, versión de app y eventos en primer y segundo plano.
Web, iOS, Android: todos usan tu última publicación, incluso quienes nunca actualizan la app.
Antes: publicabas cada cambio tres veces y esperabas la revisión. Con BDK, publicas una vez.
× cada cambio
Un nuevo ícono o función nativa aún necesita una versión para la tienda.
Qué ve App ReviewElige la herramienta que usas. Esta es toda la integración: la referencia que lee, los archivos que escribe y el celular que responde.
Usa credenciales del entorno para enviar desde el servidor una notificación push que abra la publicación enlazada
Envía el enlace profundo desde el servidor con credenciales del entorno
La notificación push se envía solo desde el servidor, usa credenciales del entorno y abre la publicación 42.
1import { sendPushNotification } from "@thebdk/native/server/onesignal";2 3const result = await sendPushNotification({4 message: "New reply on your post",5 title: "Inbox",6 subtitle: "From @jess",7 imageUrl: "https://cdn.example.com/preview.png",8 onLoadUrl: "https://app.example.com/posts/42",9 urlParams: [{ key: "ref", value: "push" }],10 data: { postId: 42, kind: "reply" },11 subscriptionIds: ["a1b2c3d4-1111-2222-3333-444455556666"]12});Integra @thebdk/native en esta app para que la cámara y Face ID funcionen cuando el sitio publicado se ejecute en el contenedor nativo de BDK, y la app web normal siga funcionando en un navegador.
Primero lee https://docs.thebdk.com/llms-full.txt y la página de cada función que agregues. Usa solo los nombres de funciones auxiliares, eventos y claves de opciones documentados ahí. No inventes una API.
Luego:
1. Agrega el paquete @thebdk/native.
2. Crea un cliente compartido en src/lib/bdk.ts con una importación segura para el navegador:
import { createBdkNative } from "@thebdk/native/browser";
export const bdk = createBdkNative();
3. Crea las funciones solo con las funciones auxiliares tipadas por espacio de nombres: bdk.media.*, bdk.ui.*,
bdk.navigation.*, bdk.iap.*, bdk.auth.*, bdk.location.*, bdk.device.*, bdk.share.*,
bdk.permissions.*.
4. Suscríbete con bdk.on(event, cb) ANTES de llamar a algo interactivo. El resultado
llega en el evento, no en la promesa devuelta.
5. En un navegador la llamada no se ejecuta: se resuelve con triggered: false. Usa
!result.triggered para elegir una alternativa web real y mantener funcionando la vista previa de Lovable
y la versión web. No describas ese caso como omitido ni not_native, y no
esperes un evento nativo en la interfaz web.
6. Todo lo de @thebdk/native/server/* es solo para el backend. Lee las credenciales de variables
de entorno. Nunca pongas claves ni importaciones del servidor en el código del cliente.
No afirmes que creaste apps de iOS o Android, empaquetaste el sitio, firmaste versiones, enviaste a una tienda o verificaste el comportamiento nativo en la vista previa.
Termina con los archivos que cambiaste, la alternativa web que agregaste y estos pasos pendientes: publica esta app en su URL, conecta esa URL en thebdk.com para que BDK empaquete y firme las versiones de iOS y Android, y luego prueba las funciones nativas en la app empaquetada por BDK.Justo donde tu cliente esperaba llegar.
Disponible ahoraEn la app empaquetada por BDK
Agrega cámara y Face ID. La vista previa web sigue funcionando con la alternativa web.
npm install @thebdk/native, una importación, todo lo demás sigue igual. bdk.on(…) antes de llamar. ¿No tienes código? No hay nada que instalar. Conecta la URL de tu app en BDK Native y obtendrás las mismas versiones.
Referencia legible por máquinas: llms.txt, el archivo que obtiene tu agente. Uso por agentes →
Instala el SDK, o no
¿Tienes código? npm install @thebdk/native, una dependencia totalmente tipada. ¿Sin código? Nada que instalar. El paso 3 es todo el trabajo.
Usa funciones nativas donde quieras
Cámara, biometría, compras, notificaciones push: desde tu JavaScript actual. Una versión: funciona en una pestaña del navegador o instalada desde App Store.
Conecta tu URL. Recibe versiones listas para las tiendas.
Pega tu URL en BDK Native. BDK crea y firma ambas apps. Luego, cada publicación actualiza cada celular.
import { createBdkNative } from "@thebdk/native/browser";
const bdk = createBdkNative();
await bdk.ready();
// Results arrive on events — subscribe, then call.
bdk.on("photoCaptured", (photo) => upload(photo.fileUrl));
await bdk.media.capturePhoto();
// Native UI, one line.
await bdk.ui.showBanner({
title: "Saved",
description: "Photo uploaded."
});Ese es todo el modelo de integración. Consulta la referencia completa en los docs y prueba cada función en la demo online.
Apple rechaza apps que son solo un sitio web. Notificaciones push, Face ID, compras y compartir hacen que la tuya sea una app. Nadie puede prometer aprobación. La demo online es una app empaquetada por BDK que puedes evaluar tú.
No. Tu app muestra tu sitio en vivo. Publicar tu sitio web es como funcionan las apps basadas en la web, sin trucos de inyección de código. Hay revisión de la tienda cuando cambia la parte nativa: ícono, permisos o entorno de ejecución. Para eso, BDK te entrega una nueva versión firmada que tú envías a revisión.
Un entorno nativo para iOS y Android que muestra tu app web en vivo a pantalla completa dentro de una app real distribuida en las tiendas. Además, un SDK de JavaScript tipado, @thebdk/native, conecta tu código con el dispositivo: cámara, biometría, compras y notificaciones push. BDK empaqueta y firma la app lista para las tiendas. Tú la envías a revisión desde tus cuentas de desarrollador, con una guía paso a paso. Tu app web sigue siendo una app web estándar, alojada por ti.
No. Funciona tal como está. Agrega @thebdk/native solo donde quieras funciones nativas. Todo lo demás sigue igual y la misma versión sigue sirviendo tu sitio web normal.
Una PWA no puede estar en App Store ni vender con compras en la app. Capacitor te da proyectos nativos para que sean tuyos: crearlos, firmarlos y regenerarlos siempre es tu trabajo. BDK se encarga de su entorno de ejecución: el empaquetado, la firma y los cambios de plataforma son problema de BDK, no tuyo.