Fix shared push API and GCM push implementation