code: @PUT
      @Path("/pushMessage/{id: .*}")
      @Consumes(MediaType.APPLICATION_JSON)
      @Produces(MediaType.APPLICATION_JSON)
      public Response increasePushMessageReadCounter(@PathParam("id") String pushMessageId,
                             @Context HttpServletRequest request) {
  
          // find the matching variation:
          final Variant variant = loadVariantWhenAuthorized(request);
          if (variant == null) {
              return create401Response(request);
          }
  
          //let's do update the analytics
          if (pushMessageId != null) {
              logger.trace("Push Notification '{}' was used to open the application on the device", pushMessageId);
              metricsService.updateAnalytics(pushMessageId);
          }
  
          return Response.ok(EmptyJSON.STRING).build();
      }
docs: RESTful API for Push Notification metrics registration.
  The Endpoint is protected using <code>HTTP Basic</code> (credentials <code>VariantID:secret</code>).
  
  <pre>
  curl -u "variantID:secret"
  -v -H "Accept: application/json" -H "Content-type: application/json" -H "aerogear-push-id: someid"
  -X PUT
  https://SERVER:PORT/context/rest/registry/device/pushMessage/{pushMessageId}
  </pre>
  
  @param pushMessageId push message identifier
  @param request the request
  @return              empty JSON body
  
  @responseheader WWW-Authenticate Basic realm="AeroGear UnifiedPush Server" (only for 401 response)
  
  @statuscode 200 Successful storage of the device metadata
  @statuscode 401 The request requires authentication