def METHOD_NAME(src_obj_metadata,
                                 progress=0,
                                 user_project=None):
  """Returns download serialization data.
  There are five entries:
    auto_transfer: JSON-specific field, always False.
    progress: How much of the download has already been completed.
    total_size: Total object size.
    url: Implementation-specific field used for saving a metadata get call.
         For JSON, this the download URL of the object.
         For XML, this is a pickled boto key.
    user_project: Project to be billed to, added as query param.
  Args:
    src_obj_metadata: Object to be downloaded.
    progress: See above.
    user_project: User project to add to query string.
  Returns:
    Serialization data for use with Cloud API GetObjectMedia.
  """
  url = src_obj_metadata.mediaLink
  if user_project:
    url = AddQueryParamToUrl(url, 'userProject', user_project)
  if six.PY3:
    if isinstance(url, bytes):
      url = url.decode('ascii')
  serialization_dict = {
      'auto_transfer': 'False',
      'progress': progress,
      'total_size': src_obj_metadata.size,
      'url': url
  }
  return json.dumps(serialization_dict)