Como para casi cualquier cosa, existe un paquete para eso; parse2-kmz, disponible en https://www.npmjs.com/package/parse2-kmz. Utilizarlo es muy simple:

Como para casi cualquier cosa, existe un paquete para eso; parse2-kmz, disponible en https://www.npmjs.com/package/parse2-kmz. Utilizarlo es muy simple:
Este post asume que su programador favorito ya le debe haber compartido el proyecto de Firebase. Debe haberle llegado un correo para que confirme que sí quiere que lo agreguen a ese proyecto. Este paso debe llevarse a cabo antes de que pueda ver el proyecto en su consola de firebase
Para activar el plan pago (Blaze) de su proyecto de Firebase, lo primero es acceder a firebase.google.com. En la parte superior derecha encontrará el botón Go to console (ir a la consola). Haga clic ahí para entrar. Deberá iniciar sesión con el mismo usuario al que le enviaron la confirmación:
Este post asume que usted sabe meterse a la consola SSH de una instancia de VM de Google Cloud y le garantiza que se va a sentir como Neo en la Matrix. Ahí le va:
Cuando es necesario modificar algún parámetro del archivo php.ini, como max_input_time, memory_limit o max_execution_time, basta con entrar a la consola SSH en su instancia de Google Cloud. Allí se puede abrir el archivo en el editor nano (incorporado en la terminal) ejecutando el siguiente comando:
Esta es una de esas cosas que se me olvidan, para variar. El problema es que la busco como no debe ser. Realmente lo que debería buscar es «Firebase Prueba funciones de forma interactiva».
Para ahorrarme la siguiente búsqueda, la documentación oficial de Firebase está aquí: https://firebase.google.com/docs/functions/local-shell?hl=es
Para resumir el asunto, suponiendo que es una función callable, lo que toca hacer, estando en el folder functions, es:
firebase functions:shell nombreDeLaFuncio({'foo': 'bar'})
Pero no me crean a mi. Vayan a ver la documentación oficial!
Creo que las funciones están hechas para lidiar con muchos panoramas, pero que hay 3 casos a destacar:
Me encontré una cosa por ahí, que voy a tesetar, que sugiere utilizar un repositorio de un tercero.
apt-get install ca-certificates apt-transport-https wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add - echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list apt-get update apt-get install php7.3
Creo que esto habrá que revisarlo frente a la documentación oficial de Google: https://cloud.google.com/appengine/docs/standard/php7/php-differences
Ahí les va, envuelto en una función http que pueden llamar desde curl.
export const testGroupCollection = functions.https.onRequest(async (req, res) => { // Load/init admin const admin = await import('firebase-admin'); try { admin.initializeApp() } catch(e) {} const collectionRef = admin.firestore().collectionGroup('cosas'); await collectionRef.get() .then((r) => { console.log(r.docs.length); console.log(r.docs[0].data); // console.log(r.docs); }) .catch((err) => { console.log(err); }); res.status(200).send('ok'); });
Es probable que por asuntos de seguridad, su función no quede pública, así que deban de seguir las indicaciones en este link para poder que la función pueda llamarse sin autenticación: https://cloud.google.com/functions/docs/securing/managing-access-iam#allowing_unauthenticated_function_invocation
Este es un listado de los comandos y las cosas que siempre se me olvidan, por categorías y en orden alfabético. A ver si ya no se me olvidan más:
Este post resuelve el bug Flutter and google_sign_in plugin: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null) que ocurre al testear a la autenticación en local. En caso de que el comando ./gradlew signingReport no funcione, es muy probable que su error esté relacionado con este problema https://stackoverflow.com/questions/61289461/java-lang-noclassdeffounderror-could-not-initialize-class-org-codehaus-groovy-v
En pocas palabras, para resolver el bug, basta con ir al archivo android\gradle\wrapper\gradle-wrapper.properties y reemplazar la línea:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
Por:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip
También es posible que sea mejor correr el comando directamente en gitbash, para evitar esos formatos extraños que a veces genera cuando se usa en vscode.
Ahora sí, este es el post:
Normalmente es suficiente con agregar las firmas de firebase y de google play a la app para poder que funcione. Pero en el caso de las instalaciones directas (un archivo apk), es necesario agregar la firma de release de la app a firebase. El proceso es el siguiente:
Primero tenemos que consultar el listado de firmas o gradlew signinReport (por si alguna vez se había preguntado para que era ese tal archivo gradlew). Para esto hay dos opciones:
A continuación ejecutar el siguiente comando:
./gradlew signingReport
Esto mostrará un largo reporte con todas las firmas y sobretodo con las claves SHA1, que se necesitarán.
La clave requerida en este caso es la que está marcada como release:
... Variant: release Config: release Store: C:\Su Madre\Su App\android\app\key.jks Alias: key MD5: E6:... SHA1: A9:... ....
Esta opción les permitirá agregar la clave a firebase o donde quiera que la necesiten… incluso en una petición a la santísima virgen, si no les funciona.
No olviden descargar y actualizar el archivo google-services.json después de esto. Eso es todo.
Abrir el archivo de configuración en la consola
sudo nano /etc/apache2/sites-enabled/000-default.conf
Comentar las líneas que hacen el redireccionamiento