send_push can now handles nil device and message