code: private function getGcmJson(): string
      {
          return json_encode([
              'collapse_key' => $this->collapseKey,
              'time_to_live' => $this->ttl,
              'delay_while_idle' => $this->delayWhileIdle,
              'priority' => $this->priority,
              'data' => $this->getTrimmedJson([$this, 'getGcmJsonInner'], static::GCM_MAX_LENGTH, 'You message for GCM is too long'),
          ], JSON_UNESCAPED_UNICODE);
      }
docs: Get the json to send via Google Cloud Messaging
  For GCM the max length is for the data field only.
  
  @throws MessageTooLongException