es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El video incrustado de Youtube de Ionic 5 Capacitor funciona en Android, pero no está disponible en iOS.

Desde que se utiliza Capacitor en lugar de Cordova, algunos vídeos que están incrustados a través del reproductor onYoutubeIFrameApiReady devuelven un mensaje de no disponible en iOS. Obtiene el error 150 (restringido por YouTube), pero lo extraño es que esos vídeos funcionan en la versión de Android de la aplicación, y también funcionaban en nuestra aplicación anterior, cuando usábamos Cordova.

Un ejemplo de identificación de YouTube que funciona en Android, pero no en iOS, es “VbjuEs70E3E”.

Actualmente estoy atascado desde hace un par de semanas, pero ya he intentado lo siguiente:

Configurar enablejsapi como 1 y agregar un origen https://www.youtube.com a playerVars.
Agregar [““, “://.youtube.com/] a server.allowNavigation
Agregar [““, “://.youtube.com/] a cordova.accessOrigins
Agregar NSAllowsArbitraryLoads, etc. a info.plist (ver más abajo)

NSAppTransportSecurity

NSAllowsArbitraryLoads
NSAllowsArbitraryLoadsForMedia
NSAllowsArbitraryLoadsInWebContent

Este es el código para llamar a la API de Youtube

(window).onYouTubeIframeAPIReady = () => {
this.player = new (window).YT.Player(‘ytplayer’, {
playerVars: {
autoplay: 0,
rel: 0,
controls: 0,
color: ‘white’,
enablejsapi: 1,
showinfo: 0,
playsinline: 1,
origin: “https://www.youtube.com”,
iv_load_policy: 3
},
events: {
‘onReady’: () => {
this.initializePlayer();
},
‘onStateChange’: (e: any) => {
this.onPlayerStateChange(e);
},
‘onError’: (e: any) => {
this.showError(e);
}
}
});
};

Estoy utilizando:
– Capacitor 2
– Ionic 5
– Angular 9

¿Es posible que se comporte de manera diferente debido a la transición de Apple de UIWebView a WKWebView?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que tienes un problema con la reproducción de videos incrustados en iOS cuando usas Capacitor en lugar de Cordova. Has intentado varias soluciones, como establecer enablejsapi en 1 y agregar un origen https://www.youtube.com` aplayerVars, agregar[““, “://.youtube.com/]aserver.allowNavigationycordova.accessOrigins, y agregarNSAllowsArbitraryLoadsainfo.plist`. También has proporcionado el código para llamar a la API de Youtube.

    Estás usando Capacitor 2, Ionic 5 y Angular 9. Has preguntado si es posible que el problema se deba a la transición de Apple de UIWebView a WKWebView.

    Es posible que el problema se deba a la transición de UIWebView a WKWebView. Puedes intentar las siguientes soluciones:

    • Revisa la documentación de Capacitor para cualquier configuración adicional que pueda ser necesaria para WKWebView.
    • Revisa la documentación de Cordova para cualquier configuración adicional que pueda ser necesaria para WKWebView.
    • Revisa la documentación de Ionic para cualquier configuración adicional que pueda ser necesaria para WKWebView.
    • Revisa la documentación de Apple para cualquier configuración adicional que pueda ser necesaria para WKWebView.

Comments are closed.