Reproducción nativa de video y audio para tu app de Claude Code
Una etiqueta de video HTML5 funciona dentro de la app, pero las lecciones largas se ven apretadas y la reproducción suele detenerse en cuanto el usuario cambia de app. Con WebViewGold, tu app de Claude Code pasa la URL de un stream al reproductor nativo con un solo enlace (startnativevideo://), así que los espectadores tienen pantalla completa y Picture-in-Picture en ambas plataformas, y AirPlay en iPhone. En iOS también puedes mantener el audio HTML sonando en segundo plano para podcasts, radio y cursos de audio.
Desde $109 de pago único por plataforma, o deja que nuestro equipo lo haga todo desde $698.
Garantía de aprobación – o te devolvemos el dinero en 14 días
Sin programar
Pago único, actualizaciones gratuitas
Soporte humano 24/7
Hecho en Alemania desde 2014 · ISO 27001
9:41
CClaude Code
Reproducción de video y audioYa en tu bolsillo
App Store · Google Play Aprobada
Lo que aporta el reproductor nativo
Reproductor nativo con Picture-in-Picture
Enlaza a startnativevideo://videostreamurl= seguido de la URL directa de un stream y WebViewGold abre el reproductor de video del sistema en iOS y Android. Los usuarios pueden reducir el video a una ventana flotante y seguir navegando por la app, o incluso cambiar a otra app.
AirPlay y controles conocidos
En iPhone y iPad, el reproductor nativo incluye AirPlay, pantalla completa y los controles de reproducción estándar que los usuarios ya conocen. Sin bibliotecas de reproductor propias que mantener en la web app.
Audio en segundo plano en iOS
Para podcasts, emisoras de radio, meditaciones y lecciones de audio, la configuración de audio HTML en segundo plano mantiene sonando el audio de la web app cuando el iPhone está bloqueado o hay otra app en primer plano. Es un ajuste del proyecto de Xcode, explicado paso a paso en el video de la documentación de iOS.
Solo URLs directas de stream
El reproductor nativo necesita un archivo .mp4 o un stream HLS .m3u8, no la URL de una página que incrusta un video. Los servicios de streaming como Mux, Cloudflare Stream o Bunny Stream te dan URLs HLS; las páginas de YouTube y Vimeo siguen siendo inserciones normales.
Prompt para Claude Code
Pega esto en Claude Code para implementar la parte de la web app. Revisa el resultado, publica y luego prueba dentro de la app WebViewGold.
Prompt para Claude Code
Prompt para Claude Code: Lee https://www.webviewgold.com/llms-full.txt (sección de video nativo) y después añade reproducción de medios nativa para el envoltorio de WebViewGold. 1) Encuentra cada video, audio e inserción de video del código y haz una lista. 2) Crea lib/native.ts con isWebViewGold() (navigator.userAgent contiene mi token personalizado) y playNativeVideo(url), que navega a "startnativevideo://videostreamurl=" + url. 3) Construye un único componente MediaPlayer: reproductor nativo dentro de la app, elemento video con controls, playsinline y un póster en navegadores. 4) Añade una ruta de servidor que devuelva una URL de stream firmada y de corta duración tras comprobar el acceso. 5) Comprueba URLs de stream de ejemplo con curl -I e informa del estado y el content type. 6) Mantén las inserciones de YouTube y Vimeo como iframes. 7) Documenta el puente en CLAUDE.md y añade tests.
¡Una forma estupenda de convertir tu web app en una app nativa! Entrega rápida y una manera genial de llevar tus apps a las tiendas sin tener que desarrollar una app nativa completa.
Kevin Joling · FlightConnections & TrainConnections · Trustpilot
Añade la reproducción nativa paso a paso
Unos 30 minutos, la mayor parte probando en teléfonos reales.
Consigue una URL directa del stream
Usa un archivo .mp4 de tu almacenamiento o una playlist HLS .m3u8 de tu servicio de video. Las lecciones largas se transmiten mejor en HLS, porque el reproductor adapta la calidad a la conexión.
Haz que la URL se pueda reproducir por sí sola
El reproductor nativo carga el stream por su cuenta y puede que no vea la sesión iniciada del WebView. Para lecciones de pago, crea en el servidor una URL firmada de corta duración después de comprobar el acceso, y pasa esa.
Llama al puente solo dentro de la app
Configura un user agent personalizado que contenga un token como WebViewGold (useragent_iphone y useragent_ipad en Config.swift, USER_AGENT en Config.java). Si está presente, el botón de reproducir navega a startnativevideo://videostreamurl= más la URL del stream; en un navegador se reproduce el elemento <video> normal.
Activa el audio en segundo plano si lo necesitas (iOS)
Solo para apps cuyo audio debe seguir sonando con la pantalla bloqueada. Sigue el video sobre audio HTML en segundo plano de la documentación de iOS y luego prueba con el teléfono bloqueado y con otra app en primer plano.
Prueba como un espectador
Inicia un video, abre Picture-in-Picture, navega a otra página, bloquea el teléfono, gíralo a horizontal y prueba con una conexión móvil lenta. Hazlo en un iPhone y en un teléfono Android.
Una función de reproducción para app y navegador
Una sola función para ambos mundos. La URL firmada del stream viene de la parte de servidor de tu stack: Tus propias rutas de API, funciones serverless o Supabase.
javascript
// User agent personalizado con "WebViewGold", definido en Config.swift / Config.java
var IN_APP = navigator.userAgent.indexOf("WebViewGold") !== -1;
// streamUrl: .mp4 directo o HLS .m3u8 (firmada y de corta duración para contenido de pago)
function playVideo(streamUrl, videoEl) {
if (IN_APP) {
window.location.href = "startnativevideo://videostreamurl=" + streamUrl;
} else {
videoEl.src = streamUrl; // fuera de Safari, HLS necesita una biblioteca como hls.js
videoEl.play();
}
}
// En el navegador, mantén un reproductor normal:
// <video controls playsinline preload="metadata" poster="/poster.jpg"></video>
Revisión de las tiendas y reglas de contenido
Directriz 2.5.4 de Apple: los servicios en segundo plano deben usarse para su propósito previsto. Activa el audio en segundo plano solo cuando la app reproduzca audio que el usuario espera seguir escuchando (podcast, radio, curso de audio) e indica al revisor en las notas de revisión dónde encontrarlo.
Los cursos y videos premium que se venden dentro de la app de iOS son contenido digital: Apple exige compras dentro de la app (directriz 3.1.1) y en Android se aplica Google Play Billing. Consulta compras dentro de la app para apps de vibe coding.
Transmite solo contenido sobre el que tengas derechos. Las apps llenas de películas, deportes o canales de TV de terceros reciben preguntas sobre licencias (directriz 5.2 sobre propiedad intelectual).
Un catálogo de videos por sí solo puede parecer un sitio web (directriz 4.2). La reproducción nativa con Picture-in-Picture, los recordatorios push de nuevas lecciones y una pantalla sin conexión cuidada justifican juntos que sea una app.
Android: la documentación de WebViewGold describe el reproductor de video nativo con Picture-in-Picture, no un interruptor de audio en segundo plano. Prueba qué hace tu audio cuando la app está minimizada y no prometas reproducción con la pantalla bloqueada en la ficha de Play hasta haberlo comprobado.
Preguntas frecuentes
¿Puedo reproducir videos de YouTube o Vimeo en el reproductor nativo?
No a través de startnativevideo://, que necesita un archivo .mp4 directo o un stream HLS .m3u8. Las inserciones de YouTube y Vimeo suelen seguir funcionando como iframes normales dentro de la app, con su propio reproductor y su botón de pantalla completa.
¿Funciona Picture-in-Picture en iOS y Android?
Sí. Tanto la documentación de iOS como la de Android describen startnativevideo:// con Picture-in-Picture: el video sigue reproduciéndose en una ventana flotante mientras el usuario navega por la app o por otra app.
¿Seguirá sonando el audio con la pantalla bloqueada?
En iOS, sí, una vez activado el audio HTML en segundo plano en el proyecto de Xcode como muestra la documentación de iOS. En Android, la documentación de WebViewGold no describe un modo de audio en segundo plano, así que prueba tu reproductor en un dispositivo antes de prometerlo.
¿Necesito compras dentro de la app para los videos de pago de mi app de Claude Code?
Si la propia app vende el curso o la suscripción, sí: Apple exige compras dentro de la app para el contenido digital (directriz 3.1.1) y Google exige Play Billing. El contenido comprado en tu sitio web a menudo también se puede desbloquear en la app; revisa el texto actual de las directrices 3.1.1 y 3.1.3, porque las reglas sobre enlaces de compra externos varían según la región.
¿Pueden los usuarios descargar videos para verlos sin conexión?
Los enlaces que terminan en .mp4 los gestiona el descargador de archivos de WebViewGold, que guarda el archivo en el dispositivo. Una biblioteca sin conexión completa dentro de la web app de Claude Code es un proyecto mayor; para la mayoría de las apps de cursos basta con el streaming más la pantalla sin conexión nativa.
Tres formas de llevar tu app a las tiendas
El mismo resultado, con distinta cantidad de trabajo por tu parte. Las tres incluyen la garantía de aprobación y soporte humano 24/7.
Hazlo tú mismo
$109 por plataforma, pago único
La licencia de WebViewGold: un proyecto de Xcode o Android Studio listo para usar. Pega tu URL, define nombre e icono, activa funciones, compila y envía. Actualizaciones gratuitas para siempre.
Sin Mac, sin Xcode, sin Android Studio: configura en el navegador, compilamos ambas apps en la nube y las entregamos a App Store Connect y a Play Console.
Envíanos tu URL y tu icono. Nuestro equipo configura, compila y entrega tu app en 72 horas, en marca blanca y con los proyectos fuente. Ambas plataformas por $1,158.
Los reembolsos se conceden bajo las condiciones indicadas en nuestras FAQ: un rechazo por motivos ajenos al contenido por parte de Apple y/o Google, reclamado dentro de los 14 días posteriores a la compra.