Каждое изменение трижды
× каждое изменение
Всего 71, а 61 работают на настоящем телефоне в демо-приложении.
С типизацией и документацией, одинаковые на iOS и Android. Вызывайте из привычного JavaScript.
Воспроизведение аудио и видео
Воспроизводите медиа с системными кнопками управления и аудио в фоне.
Биометрический вход
Вход через Face ID или по отпечатку пальца в вашей системе авторизации.
Запомнить вход
Сохраняйте вход между сеансами с помощью учётных данных на устройстве.
Встроенные покупки
Продавайте цифровые товары в обоих магазинах. Проверяйте чеки на сервере.
Нативный интерфейс и отклик
Баннеры, экраны загрузки и нативные элементы из JavaScript.
Устройство, цикл работы
Платформа, версия приложения, события перехода в фон и обратно.
Веб, iOS, Android: все используют последнюю публикацию, даже те, кто никогда не обновляет приложение.
Раньше: выпускать каждое изменение трижды и ждать проверки. С BDK публикуете один раз.
× каждое изменение
Новый значок или нативная функция требуют сборки для магазина.
Как это видит App ReviewВыберите свой инструмент. Вот всё подключение: справка, которую он читает, файлы, которые пишет, и ответ телефона.
Отправьте с сервера пуш-уведомление, открывающее пост по ссылке, используя ключи из переменных среды
Отправьте прямую ссылку с сервера, используя ключи из переменных среды
Пуш-уведомление отправляется только с сервера, использует ключи из переменных среды и открывает пост 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});Подключите @thebdk/native к этому приложению, чтобы камера и Face ID работали, когда опубликованный сайт запущен в нативной оболочке BDK, а обычное веб-приложение продолжало работать в браузере.
Сначала прочитайте https://docs.thebdk.com/llms-full.txt и страницу каждой добавляемой функции. Используйте лишь описанные там имена вспомогательных функций, событий и ключи параметров. Не выдумывайте API.
Затем:
1. Добавьте пакет @thebdk/native.
2. Создайте один общий клиент в src/lib/bdk.ts с безопасным для браузера импортом:
import { createBdkNative } from "@thebdk/native/browser";
export const bdk = createBdkNative();
3. Создайте функции только с типизированными функциями в пространствах имён: bdk.media.*, bdk.ui.*,
bdk.navigation.*, bdk.iap.*, bdk.auth.*, bdk.location.*, bdk.device.*, bdk.share.*,
bdk.permissions.*.
4. Подпишитесь через bdk.on(event, cb) ДО любого интерактивного вызова. Результат
приходит событием, а не возвращённым промисом.
5. В браузере вызов не выполняется: он завершается с triggered: false. Проверьте
!result.triggered и сохраните рабочий веб-вариант для превью Lovable и веб-сборки.
Не называйте это пропуском или not_native и не ждите
нативного события в веб-интерфейсе.
6. Всё из @thebdk/native/server/* — только для бэкенда. Читайте учётные данные из переменных
среды. Никогда не добавляйте ключи или серверные импорты в клиентский код.
Не заявляйте, что создали приложения iOS или Android, обернули сайт, подписали сборки, отправили их в магазин или проверили нативную работу в превью.
В конце покажите изменённые файлы, добавленный веб-вариант и дальнейшие шаги: опубликовать приложение по его URL, подключить URL на thebdk.com для сборки и подписи iOS и Android в BDK, затем протестировать нативные функции в приложении, собранном BDK.Именно там, куда ваш клиент ожидал попасть.
Уже доступноРаботает в приложении, собранном BDK
Добавляет камеру и Face ID. Веб-превью продолжает работать с веб-вариантом.
npm install @thebdk/native, один импорт, остальное не меняется. bdk.on(…) до вызова. Нет исходного кода? Ничего не нужно устанавливать. Подключите URL приложения в BDK Native — сборки будут такими же.
Машиночитаемая справка: llms.txt — файл, который получает агент. Как используют агенты →
Установите SDK — или обойдитесь без него
Есть исходный код? npm install @thebdk/native — одна зависимость, с полной типизацией. Нет кода? Нечего устанавливать. Шаг 3 — вся работа.
Вызывайте нативные функции, где нужны
Камера, биометрия, покупки, пуш — из вашего JavaScript. Одна сборка работает и во вкладке браузера, и после установки из App Store.
Подключите URL. Получите сборки для магазинов.
Вставьте URL в BDK Native. BDK собирает и подписывает оба приложения. Затем каждая публикация обновляет приложение на каждом телефоне.
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."
});Вот и всё подключение. Полная справка — гид. Каждую функцию можно запустить в живое демо.
Apple отклоняет приложения, которые лишь показывают сайт. Пуш-уведомления, Face ID, покупки и обмен добавляют функции приложения. Никто не может обещать одобрения. живое демо — приложение, собранное BDK. Оцените сами.
Нет. Приложение показывает ваш работающий сайт. Публикация сайта — нормальная работа веб-приложений, а не уловка с внедрением кода. Проверка магазина нужна при изменениях нативной части: значка, прав или среды. Для них BDK даёт новую подписанную сборку для отправки на проверку.
Нативная среда iOS и Android показывает ваше работающее веб-приложение на весь экран в настоящем приложении из магазина. Типизированный JavaScript SDK, @thebdk/native, связывает код с устройством: камера, биометрия, покупки, пуш. BDK собирает и подписывает готовое для магазина приложение. Вы отправляете его из своих аккаунтов разработчика с пошаговой помощью. Веб-приложение остаётся обычным веб-приложением на вашем хостинге.
Нет. Оно работает как есть. Добавьте @thebdk/native лишь там, где нужны нативные функции. Остальное не меняется, та же сборка обслуживает обычный сайт.
PWA нельзя разместить в App Store или продавать через встроенные покупки. Capacitor даёт вам нативные проекты: сборка, подпись и пересборки навсегда остаются вашей задачей. Средой BDK управляет BDK: сборка, подпись и изменения платформ — его забота.