Te dejo saber mis pensamientos

lunes, 5 de octubre de 2020

Obtener Player ID de OneSignal y enviar la variable a PHP

01:09 lunes, 5 de octubre de 2020 Publicado por Daniel , , No hay comentarios




El siguiente código les servirá para enviar el Player ID de un dispositivo hacia PHP usando POST mediante Ajax. 

El código llama la función getUserId de OneSignal la cual responde con el Player ID, el código revisa si la variable playerid en localstorage es nula o literal es igual a "null", esto para no enviar el POST cada vez que el usuario recargue la página, después declaramos la variable userdata que es la que se va a enviar mediante POST a tu PHP handler y le asignamos el nombre playerid y el valor será la variable userId (esta última es la que contiene el Player ID), en mi código de paso le asignó una etiqueta al Player ID que se va a guardar, en mi caso es el ID de la sesión en PHP del usuario que está conectado en el sistema, por último se envía la información mediante ajax a playerids.php, de aquí lo guardo a mi base de datos.

<script>
OneSignal.push(function() {
  OneSignal.getUserId().then(function(userId) {
  if (localStorage.getItem("playerid") === null || localStorage.getItem("playerid") == "null") {
var userdata = {'playerid':userId};
localStorage.setItem('playerid', userId);
OneSignal.sendTag("user_id", "<?php echo $_SESSION["id"]; ?>");
    $.ajax({
            type: "POST",
            url: "playerids.php",
            data:userdata, 
            success: function(data){
                console.log(data);
            }
            });
};
  });
});
</script>

Si desean que publique el código de playerids.php háganmelo saber en los comentarios.

Mi explicación es algo revuelta, si tienen alguna duda pueden contactarme por el formulario de contacto o enviadme un correo electrónico. Saludos.





0 comments:

Publicar un comentario