관리-도구
편집 파일: FcmOptions.php
<?php declare(strict_types=1); namespace Kreait\Firebase\Messaging; use JsonSerializable; /** * @see https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#fcmoptions * * @phpstan-type FcmOptionsShape array{ * analytics_label?: string * } */ final class FcmOptions implements JsonSerializable { /** * @param FcmOptionsShape $data */ private function __construct(private array $data) { } public static function create(): self { return new self([]); } /** * @param FcmOptionsShape $data */ public static function fromArray(array $data): self { return new self($data); } public function withAnalyticsLabel(string $label): self { $options = clone $this; $options->data['analytics_label'] = $label; return $options; } public function jsonSerialize(): array { return $this->data; } }