Cada mudança, três vezes
× cada mudança
71 deles, e 61 rodam num celular de verdade no app demo.
Tipados, documentados e iguais no iOS e Android. Chame pelo JavaScript que você já escreve.
Reprodução de áudio e vídeo
Reproduza mídia com controles nativos e áudio em segundo plano.
Login biométrico
Entrar com Face ID e impressão digital usando seu sistema de acesso atual.
Login salvo
Mantenha o login entre sessões com credenciais protegidas pelo aparelho.
Compras no app
Venda produtos digitais nas duas lojas. Verifique recibos no servidor.
Notificações push
Notificações push segmentadas a partir do seu backend, via OneSignal.
Compartilhamento nativo
O menu de compartilhar do sistema — texto, links, imagens, arquivos.
Interface nativa e resposta
Banners, indicadores de carregamento e a interface nativa, pelo JavaScript.
Aparelho, ciclo de vida
Plataforma, versão do app, eventos em primeiro e segundo plano.
Web, iOS, Android: todos rodam sua última publicação, até quem nunca atualiza o app.
Antes: publique cada mudança três vezes e espere a revisão. Com BDK, publique uma vez.
× cada mudança
Um novo ícone ou recurso nativo ainda exige uma versão para a loja.
Como o App Review vê issoEscolha a ferramenta em que você cria. Esta é toda a integração: a referência que ela lê, os arquivos que escreve, o celular respondendo.
Envie pelo servidor uma notificação push que abra o post do link com credenciais do ambiente
Envie o link direto pelo servidor com credenciais do ambiente
Notificações push só no servidor usam credenciais do ambiente e abrem o Post 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});Integre @thebdk/native a este app para a câmera e o Face ID funcionarem quando o site publicado rodar na estrutura nativa do BDK, enquanto o app web normal continua funcionando no navegador.
Primeiro, leia https://docs.thebdk.com/llms-full.txt e a página de cada recurso que adicionar. Use apenas nomes de funções, eventos e chaves de opções documentados ali — não invente uma API.
Depois:
1. Adicione o pacote @thebdk/native.
2. Crie um cliente compartilhado em src/lib/bdk.ts com uma importação compatível com o navegador:
import { createBdkNative } from "@thebdk/native/browser";
export const bdk = createBdkNative();
3. Crie os recursos apenas com as funções tipadas com namespace: bdk.media.*, bdk.ui.*,
bdk.navigation.*, bdk.iap.*, bdk.auth.*, bdk.location.*, bdk.device.*, bdk.share.*,
bdk.permissions.*.
4. Assine com bdk.on(event, cb) ANTES de chamar qualquer função interativa — o resultado
chega pelo evento, não pela promise retornada.
5. No navegador, a chamada não roda: resolve com triggered: false. Ramifique conforme
!result.triggered e mantenha uma alternativa web real para a prévia do Lovable e o build
web continuarem funcionando. Não descreva esse caso como ignorado ou not_native e não
espere um evento nativo na interface web.
6. Tudo de @thebdk/native/server/* é só para o backend. Leia credenciais de variáveis
de ambiente — nunca coloque chaves ou importações de servidor no código do cliente.
Não diga que criou apps iOS ou Android, empacotou o site, assinou versões, enviou a uma loja ou verificou o comportamento nativo na prévia.
Termine com os arquivos alterados, a alternativa web adicionada e estes próximos passos: publique o app na sua URL, conecte a URL em thebdk.com para o BDK empacotar e assinar as versões iOS e Android e teste os recursos nativos no app empacotado pelo BDK.Exatamente onde seu cliente esperava chegar.
Já disponívelRodando no app empacotado pelo BDK
Adiciona câmera e Face ID. A prévia web continua funcionando com a alternativa web.
npm install @thebdk/native, uma importação, todo o resto igual. bdk.on(…) antes de chamar. Sem código próprio? Não há nada para instalar. Conecte a URL do seu app no painel e as versões saem iguais.
Referência para leitura por máquina: llms.txt — o arquivo que seu agente busca. Como agentes usam →
Instale o SDK — ou não
Tem código próprio? npm install @thebdk/native — uma dependência, totalmente tipada. Sem código? Nada para instalar. A etapa 3 é todo o trabalho.
Chame recursos nativos onde quiser
Câmera, biometria, compras, notificações push — pelo JavaScript atual. Uma versão: na aba do navegador ou instalado pela App Store, funciona.
Conecte sua URL. Receba versões prontas para as lojas.
Cole sua URL no painel. O BDK cria e assina os dois apps. Depois, cada publicação atualiza todos os celulares.
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."
});Esse é todo o modelo de integração. Referência completa nos docs; cada recurso pode rodar no app demo.
A Apple recusa apps que são só um site. Notificações push, Face ID, compras e compartilhamento tornam o seu um app. Ninguém pode prometer aprovação. O app demo é um app empacotado pelo BDK para você mesmo avaliar.
Não. Seu app mostra seu site no ar. Publicar seu site é como apps baseados na web funcionam, sem truque de injeção de código. A revisão da loja se aplica quando a parte nativa muda (ícone, permissões ou atualização do ambiente de execução). Nesses casos, o BDK entrega uma nova versão assinada para você enviar.
Um ambiente nativo para iOS e Android que mostra seu app web no ar em tela cheia dentro de um app real distribuído pelas lojas. Inclui um SDK JavaScript tipado, @thebdk/native, que conecta seu código ao aparelho: câmera, biometria, compras, notificações push. O BDK empacota e assina o app pronto para a loja. Você envia pelas suas próprias contas de desenvolvedor, com orientação em cada etapa. Seu app web continua normal, hospedado por você.
Não. Ele roda como está. Adicione @thebdk/native só onde quiser recursos nativos. O resto fica igual, e a mesma versão continua no ar no seu site normal.
Uma PWA não pode estar na App Store nem vender por compra no app. O Capacitor entrega projetos nativos para você cuidar — criar, assinar e recriar versões continuam sendo sua tarefa, sempre. O ambiente de execução do BDK é gerenciado: empacotar, assinar e lidar com mudanças das plataformas ficam com ele, não com você.