code: func (a *APS) Validate() error {
  	if a == nil {
  		return ErrIncomplete
  	}
  
  	// must have a body or a badge (or custom data)
  	if len(a.Alert.Body) == 0 && a.Badge == badge.Preserve {
  		return ErrIncomplete
  	}
  	return nil
  }
docs: // Validate that a payload has the correct fields.