Yeah most tutorials on the web are describing the pushservice for “coldstart” wrong.
if you restart your app -> you have to first reregister the device to connect the onNotificationCallback correctly again.
If not the coldstart will destroy your push notification handling, because if you restart your app the pushplugin does not know anything about your earlier connected notification callback.
The problem is, that the pushplugin fires outside of the ionic/angular context -> that means, if you are in coldstart your app is maybe not ready when the event fires.
In my controller i check if there is a apn/gcm id on the scope -> if not i know it was a coldstart -> unregister and register the device.