added additionalInfo and updateSuscription method #5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
LINK DE TICKET:
https://janiscommerce.atlassian.net/browse/APPSRN-315
LINK DE SUBTAREA:
https://janiscommerce.atlassian.net/browse/APPSRN-317
DESCRIPCIÓN DEL REQUERIMIENTO:
Contexto
Contamos con el pkg para administrar las notificaciones en cada app y esta faltando que el mismo, pueda recibir informacion adiciones como tambien canales a usar en las subscripciones. Los canales nos permite poder mostrar las notificaciones cuando la app esta en segundo plano y la informacion adicional, es necesaria para poder enviar las notificaciones segun ciertos criterios.
Por ejemplo, un dato adicional que hay que enviar ante cada suscripcion seria el warehouse activo para que el usuario estando en Palermo, no reciba notificaciones que correspondan a una sesion de Belgrano
Necesidad
Que el provider del pkg, reciba información adicional y canales. En caso de recibirlos, debe subscribirse con dicha informacion
DESCRIPCIÓN DE LA SOLUCIÓN:
Se agregó, en el
NotificationProvider
, una prop más que esadditionalInfo
. Esta prop espera un objeto que se usará dentro del body para la suscripción al servicio de notificaciones.Además, se hizo una nueva util que se puede obtener desde el hook
usePushNotification
que esupdateSuscription
. Esta util le pega a la api de suscripción para actualizar la data y también puede recibir un objeto que se enviará como parte de la información a actualizar (Esto va a servir para, por ejemplo, actualizar la data del lenguaje para las notificaciones que se enviará al usuario).¿CÓMO SE PUEDE PROBAR?
Para facilitar la prueba, esto va a convenir hacerlo en picking porque su evento en beta ya está preparado.
Hay que vincular el package con yalc y después
npm install
(-f
si es necesario)Luego, en la main, hay que agregar al
NotificationProvider
la prop additionalInfo :Esta configuración es la que, cuando se realice la sucripción, back usará para asignar el idioma en que serán enviadas las notificaciones. (En views se puede ver cuáles son los idiomas en los que se puede enviar la notificación https://app.janisdev.in/notification/default-event/edit/6662190b0389e407bb7b7101#translations)
Ahora, hay que asignarse como picker de una sesión y esperar la notificación y validar que llegue en el idioma que fue seleccionado.
CAMBIO DE IDIOMA
Lo otro que habría que probar es cómo impacta el cambio de idioma desde la app en la notificación; Para esto hay que usar la util
updateSuscription
deusePushNotification
.Para esto, agregue en la home lo siguiente:
En el import:
Agregar las siguientes constantes dentro de la home:
También hay que agregar esta función y este useFocusEffect:
Luego de haber hecho todo esto hay que ir al menú de usuario y cambiarse el idioma seleccionado. Una vez hecho esto hay que volver a mandarse una notificación (reasignese la misma sesión que uso en el caso anterior) y corroborar que la notificación llegue en el idioma esperado.
SCREENSHOTS: