Ogni funzione nativa. Un SDK.

Sono 71 e 61 girano su un vero telefono nell'app demo.

  • Notifiche pushNovità
  • Acquisti in-app
  • Transizioni native
  • Pannelli modaliNovità
  • Accesso Face ID
  • Scanner QRNovità
  • Menu CondividiNovità
  • Accedi con AppleNovità
  • Posizione liveNovità
  • Selettore fotoNovità
  • Deep linkNovità
  • Badge appNovità
  • Condivisioni ricevuteNovità
  • Login salvatoNovità
  • ContattiNovità
  • Dati saluteNovità
  • Lettore audioNovità
  • Registratore vocaleNovità
  • Selettore data e oraNovità
  • Richiesta di votoNovità
  • Avviso tracciamentoNovità
  • Lettura NFCNovità

Guida e demo dal vivo per ciascuna.

Tipizzate, documentate, identiche su iOS e Android. Chiamale dal JavaScript che già scrivi.

Fotocamera e media

Scatta foto, sceglile dalla galleria, registra audio.

Riproduzione audio e video

Riproduci media con comandi nativi e audio in background.

Accesso biometrico

Accesso con Face ID e impronta digitale per il sistema di autenticazione che già usi.

Login salvato

Ricorda gli utenti tra sessioni con credenziali sul dispositivo.

Acquisti in-app

Vendi beni digitali su entrambi gli store. Verifica le ricevute sul server.

Notifiche push

Notifiche push mirate dal tuo backend, tramite OneSignal.

Localizzazione

Leggi la posizione con la precisione nativa.

Permessi a runtime

Chiedi e controlla i permessi nativi senza intoppi.

Deep link

Link che aprono l'app o prima lo store, poi l'app.

Condivisione nativa

Il menu di condivisione di sistema: testo, link, immagini, file.

UI nativa e feedback

Banner, schermate di caricamento e interfaccia nativa da JavaScript.

Dispositivo, ciclo vita

Piattaforma, versione app, eventi in primo piano e in background.

Ogni pubblicazione aggiorna ogni installazione.

Web, iOS, Android: tutti usano la tua ultima pubblicazione, anche chi non aggiorna mai l'app.

Il vecchio modo: invia ogni modifica tre volte e aspetta la revisione. Con BDK pubblichi una volta.

Una nuova icona o funzione nativa richiede ancora una build per gli store.

Come lo vede App Review

Guarda la tua AI integrarlo.

Scegli lo strumento con cui crei. Questa è tutta l'integrazione: la guida che legge, i file che scrive, il telefono che risponde.

acme-storefront
PreviewCode
Publish

Usa le credenziali d’ambiente per inviare dal server una notifica push che apra il post collegato

Leggi server/onesignal-push
server/notifications/sendReply.ts+12

Invia il deep link dal server con credenziali dalle variabili d'ambiente

La notifica push parte solo dal server con credenziali d’ambiente e apre Post 42.

Ask Lovable...
Build
acme-storefront.lovable.app
server/notifications/sendReply.ts+12
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});
Il prompt completo
Integra @thebdk/native in questa app, così fotocamera e Face ID funzionano quando il sito pubblicato gira nell'involucro nativo di BDK e l'app web continua a funzionare nel browser.

Leggi prima https://docs.thebdk.com/llms-full.txt e la pagina di ogni funzione che aggiungi. Usa solo nomi di funzioni, eventi e chiavi delle opzioni documentati lì. Non inventare API.

Poi:
1. Aggiungi il pacchetto @thebdk/native.
2. Crea un client condiviso in src/lib/bdk.ts con un import compatibile con il browser:
   import { createBdkNative } from "@thebdk/native/browser";
   export const bdk = createBdkNative();
3. Crea le funzioni solo con le funzioni tipizzate nei namespace: bdk.media.*, bdk.ui.*,
   bdk.navigation.*, bdk.iap.*, bdk.auth.*, bdk.location.*, bdk.device.*, bdk.share.*,
   bdk.permissions.*.
4. Iscriviti con bdk.on(event, cb) PRIMA di ogni chiamata interattiva: il risultato
   arriva sull'evento, non sulla promise restituita.
5. Nel browser la chiamata non viene eseguita: si risolve con triggered: false. Usa
   !result.triggered e mantieni una vera alternativa web, così anteprima Lovable e build web
   continuano a funzionare. Non descrivere il caso come saltato o not_native e non
   aspettare un evento nativo nella UI web.
6. Tutto ciò che viene da @thebdk/native/server/* è solo backend. Leggi le credenziali dalle variabili
   d'ambiente: mai chiavi o import server nel codice client.

Non dire di aver creato app iOS o Android, trasformato il sito in un’app, firmato build, inviato app a uno store o verificato il comportamento nativo nell'anteprima.

Finisci con i file modificati, l'alternativa web aggiunta e questo passaggio: pubblica l'app al suo URL, collega l'URL su thebdk.com, così BDK prepara e firma le build iOS e Android, poi testa le funzioni native nell'app generata da BDK.

Nell'app generata da BDK

Aggiunge fotocamera e Face ID. L'anteprima web continua a funzionare con l'alternativa.

  • Un client condiviso: npm install @thebdk/native, un import, tutto il resto intatto.
  • I risultati arrivano sugli eventi. Il prompt dice all'agente di iscriversi con bdk.on(…) prima della chiamata.
  • Funziona anche nel browser. Fuori dall'app le chiamate non partono, così il tuo sito continua a funzionare.

Non hai il codice? Nulla da installare. Collega l'URL della tua app nel pannello e le build saranno le stesse.

Crea la tua app

Guida leggibile dalle macchine: llms.txt, il file che l'agente recupera. Uso con gli agenti →

Tre passi. Nessuna nuova tecnologia.

  1. 1

    Installa l'SDK, oppure no

    Hai il codice? npm install @thebdk/native: una dipendenza, tutta tipizzata. Non hai il codice? Nulla da installare. Basta il passo 3.

  2. 2

    Chiama le funzioni native dove vuoi

    Fotocamera, biometria, acquisti, notifiche push dal tuo JavaScript. Una build: scheda browser o app dall'App Store, funziona.

  3. 3

    Collega l'URL. Ricevi build pronte per gli store.

    Incolla il tuo URL nel pannello. BDK crea e firma entrambe le app. Poi ogni pubblicazione aggiorna ogni telefono.

app.ts
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."
});

L’integrazione è tutta qui. Trovi tutti i dettagli nella guida e puoi provare ogni funzione nella demo live.

Le risposte complete.

Apple non la rifiuterà come un sito trasformato in app?

Apple rifiuta le app che sono solo un sito. Notifiche push, Face ID, acquisti e condivisione rendono la tua un'app. Nessuno può promettere l'approvazione. La demo live è un'app generata da BDK che puoi valutare tu.

Gli aggiornamenti immediati violano le regole degli store?

No. La tua app mostra il sito online. Pubblicare il sito è il normale funzionamento delle app web, non un trucco per inserire codice. La revisione dello store serve quando cambia la parte nativa: icona, autorizzazioni native o aggiornamento del runtime. In quei casi, BDK ti dà una nuova build firmata da inviare.

Cos'è BDK, esattamente?

Un runtime nativo iOS e Android che mostra la tua app web online a schermo intero in una vera app distribuita negli store. In più, un SDK JavaScript tipizzato, @thebdk/native, collega il tuo codice al dispositivo: fotocamera, biometria, acquisti, notifiche push. BDK prepara e firma l'app pronta per gli store. Tu la invii dai tuoi account sviluppatore, con una guida passo passo. La tua app web resta un'app web standard, ospitata da te.

Devo modificare la mia app web?

No. Funziona così com'è. Aggiungi @thebdk/native solo dove vuoi funzioni native. Il resto resta intatto e la stessa build continua a servire il tuo normale sito.

Cosa cambia rispetto a una PWA o Capacitor?

Una PWA non può stare nell'App Store né vendere con acquisti in-app. Capacitor ti dà progetti nativi da gestire: creare, firmare e rigenerare le build resta compito tuo, sempre. Il runtime BDK è gestito: preparare e firmare le app e adeguarle ai cambiamenti delle piattaforme spetta a BDK.

Tutto questo, nella tua app.

Crea la tua app Leggi la guida