studio notification notificaciones example app push firebase unique identity

push - notification - registration id firebase



Firebase: ¿cómo generar una ID numérica única para la clave? (2)

Como se explicó anteriormente, puede usar la identificación de inserción predeterminada de Firebase.

Si desea algo numérico, puede hacer algo en función de la marca de tiempo para evitar colisiones.

fe algo basado en la fecha, la hora, el segundo, el ms y algún int aleatorio al final

01612061353136799031

Que se traduce a:

016-12-06 13:53:13:679 9031

Todo depende de la precisión que necesite (los números de seguridad social hacen lo mismo con algunos personajes al azar al final de la fecha). Como cuántas transacciones se esperarán durante el día, hora o segundo. Es posible que desee disminuir la precisión para favorecer la facilidad de tipeo.

También puede hacer una transacción que incremente la identificación numérica y, en caso de éxito, tendrá un número único consecutivo para ese usuario. Esto se puede hacer en el lado del cliente o del servidor.

( https://firebase.google.com/docs/database/android/read-and-write )

Necesito ID numéricos para la legibilidad humana. ¿Cómo lo obtengo en Firebase?

Quiero un ID numérico para las claves, por ejemplo, "000000001", "000000002", "00000003", "00000004".

La razón por la que lo necesito es porque estos ID se convertirán en el ID permanente del objeto tanto en línea como fuera de línea. Quiero que los usuarios puedan explorar esa página de objetos simplemente ingresando URL "/ objects / 00000001" sin esfuerzos.

.priority aquí, porque quiero saber si esto se puede hacer sin utilizar .priority , sub-properties, etc. Supongo set método set puede hacerlo de alguna manera. Si no es posible, solo dime que no, puedo aceptar esa respuesta.


Sugiero leer la documentación de Firebase. Específicamente, consulte la porción de Guardar datos de la Guía web de Firebase JavaScript.

De la guía:

Obtener la identificación única generada por push ()

Llamar a push () devolverá una referencia a la nueva ruta de datos, que puede usar para obtener el valor de su ID o establecer los datos en él. El siguiente código dará como resultado los mismos datos que el ejemplo anterior, pero ahora tendremos acceso a la ID de inserción única que se generó

// Generate a reference to a new location and add some data using push() var newPostRef = postsRef.push({ author: "gracehop", title: "Announcing COBOL, a New Programming Language" }); // Get the unique ID generated by push() by accessing its key var postID = newPostRef.key;

Fuente: https://www.firebase.com/docs/web/guide/saving-data.html

  • Una inserción genera una nueva ruta de datos, con una marca de tiempo del servidor como key . Estas teclas se parecen a -JiGh_31GA20JabpZBfa , por lo que no son numéricas.
  • Si quisiera hacer una identificación numérica solamente, la convertiría en un parámetro del objeto para evitar sobrescribir la clave generada.
    • Las claves (las rutas de los nuevos datos) tienen la garantía de ser únicas, por lo que no tiene sentido sobrescribirlas con una clave numérica.
    • En su lugar, puede establecer la ID numérica como elemento secundario del objeto.
    • A continuación, puede consultar objetos por ese hijo de ID mediante Firebase Queries .

De la guía:

En JavaScript, el patrón de llamar a push () y luego llamar a set () es tan común que le permitimos combinarlos simplemente pasando los datos que se configurarán directamente a push () de la siguiente manera. Ambas operaciones de escritura siguientes darán como resultado que se guarden los mismos datos en Firebase:

// These two methods are equivalent postsRef.push().set({ author: "gracehop", title: "Announcing COBOL, a New Programming Language" }); postsRef.push({ author: "gracehop", title: "Announcing COBOL, a New Programming Language" });

Fuente: https://www.firebase.com/docs/web/guide/saving-data.html