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)
Este es el código para llamar a la API de Youtube
(
this.player = new (
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?
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
en1
y agregar un origenhttps://www.youtube.com` a
playerVars, agregar
[““, “://.youtube.com/]a
server.allowNavigationy
cordova.accessOrigins, y agregar
NSAllowsArbitraryLoadsa
info.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: