Una marca de tiempo (como un valor time_t de cuatro bytes) que indica cuando APNs determinaron que la aplicación ya no existe en el dispositivo. Este valor, que está en orden de red, representa los segundos desde las 12:00 de la medianoche el 1 de enero de 1970 UTC.
se puede comparar con el último tiempo de inserción de la mesa y luego retire el token no válido de db, en mi caso estoy usando MySQL y PHP para el lado del servidor
$sql="SELECT insert_time from device_tokens ORDER BY insert_time DESC LIMIT 1";
le proporcione al día por último momento de db y luego me acaba de convertirlo en marca de tiempo mediante el uso de época
$sql1="SELECT UNIX_TIMESTAMP(' $timestamp')";
y finalmente acabo de comparo con APNs marca de tiempo de realimentación como esto
if($inactive_Timestamp>$dbTime_stamp)
{
foreach ($apnsfeedback_tokens as $key => $value) {
# code...
$inactive_Token=$value['devtoken'];
$sql= "DELETE FROM device_tokens WHERE device_token='$inactive_Token'";
if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
}
La retroalimentación APNS devuelve tokens de dispositivo si la entrega de la notificación ha fallado. Esto no significa que la aplicación se haya desinstalado del dispositivo, simplemente puede ser que el usuario no tenga una conexión wifi persistente en este momento. – Mladen
Eso no es lo que dice la documentación. "Si un proveedor intenta entregar una notificación push a una aplicación, pero la aplicación ya no existe en el dispositivo, el dispositivo informa de ello al Servicio de notificaciones push de Apple. Esta situación suele ocurrir cuando el usuario ha desinstalado la aplicación. un dispositivo informa intentos fallidos de entrega para una aplicación, APNs necesita informar al proveedor para que se abstenga de enviar notificaciones a ese dispositivo ". – Lee
@Mladen. Incorrecto. Si el dispositivo no tiene wifi o conexión 3/4G, Apple enviará la notificación de inserción más tarde cuando tenga conexión. – midspace