code: static UrlEncodedFormEntity buildPostBody(Event event, String analyticsId, Random random) {
      checkNotNull(event);
      checkNotNull(analyticsId);
      checkNotNull(random);
  
      String virtualPageName = buildVirtualPageName(event.type(),
          event.objectType(), event.name());
      String virtualPageTitle = buildVirtualPageTitle(event.metadata());
      String combinedEventType = buildCombinedType(event.type(), event.objectType());
      return new UrlEncodedFormEntity(buildParameters(
          analyticsId,
          event.clientId(),
          virtualPageName,
          virtualPageTitle,
          combinedEventType,
          event.name(),
          event.isUserSignedIn(),
          event.isUserInternal(),
          event.isUserTrialEligible(),
          event.projectNumberHash(),
          event.billingIdHash(),
          event.clientHostname(),
          random),
          StandardCharsets.UTF_8);
    }
docs: Creates the body of a POST request encoding the metric report for a single {@link Event}.
  
  @param event The event to report.
  @param analyticsId the Google Analytics ID to receive the report.
  @param random Random number generator to use for cache busting.
  @return A URL-encoded POST request body, in the format expected by Google Analytics.