JFIF x x C C " } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w !1AQ aq"2B #3Rbr{
File "GooglePlayAnalytics.php"
Full Path: /home/u735268861/domains/palsarh.in/public_html/vendor/kreait/firebase-php/src/Firebase/DynamicLink/AnalyticsInfo/GooglePlayAnalytics.php
File size: 3.52 KB
MIME-type: text/x-php
Charset: utf-8
<?php
declare(strict_types=1);
namespace Kreait\Firebase\DynamicLink\AnalyticsInfo;
use JsonSerializable;
/**
* @phpstan-type GooglePlayAnalyticsShape array{
* utmSource?: non-empty-string,
* utmMedium?: non-empty-string,
* utmCampaign?: non-empty-string,
* utmTerm?: non-empty-string,
* utmContent?: non-empty-string,
* gclid?: non-empty-string
* }
*/
final class GooglePlayAnalytics implements JsonSerializable
{
/**
* @param GooglePlayAnalyticsShape $data
*/
private function __construct(private readonly array $data)
{
}
/**
* @param GooglePlayAnalyticsShape $data
*/
public static function fromArray(array $data): self
{
return new self($data);
}
public static function new(): self
{
return new self([]);
}
/**
* Identifies the advertiser, site, publication, etc. that is sending traffic to your property,
* for example: google, newsletter4, billboard.
*
* @see https://support.google.com/analytics/answer/1033863#parameters
*
* @param non-empty-string $utmSource
*/
public function withUtmSource(string $utmSource): self
{
$data = $this->data;
$data['utmSource'] = $utmSource;
return new self($data);
}
/**
* The advertising or marketing medium, for example: cpc, banner, email newsletter.
*
* @see https://support.google.com/analytics/answer/1033863#parameters
*
* @param non-empty-string $utmMedium
*/
public function withUtmMedium(string $utmMedium): self
{
$data = $this->data;
$data['utmMedium'] = $utmMedium;
return new self($data);
}
/**
* The individual campaign name, slogan, promo code, etc. for a product.
*
* @see https://support.google.com/analytics/answer/1033863#parameters
*
* @param non-empty-string $utmCampaign
*/
public function withUtmCampaign(string $utmCampaign): self
{
$data = $this->data;
$data['utmCampaign'] = $utmCampaign;
return new self($data);
}
/**
* Identifies paid search keywords. If you're manually tagging paid keyword campaigns, you should also use
* utm_term to specify the keyword.
*
* @see https://support.google.com/analytics/answer/1033863#parameters
*
* @param non-empty-string $utmTerm
*/
public function withUtmTerm(string $utmTerm): self
{
$data = $this->data;
$data['utmTerm'] = $utmTerm;
return new self($data);
}
/**
* Used to differentiate similar content, or links within the same ad. For example, if you have two call-to-action
* links within the same email message, you can use utm_content and set different values for each, so you can tell
* which version is more effective.
*
* @see https://support.google.com/analytics/answer/1033863#parameters
*
* @param non-empty-string $utmContent
*/
public function withUtmContent(string $utmContent): self
{
$data = $this->data;
$data['utmContent'] = $utmContent;
return new self($data);
}
/**
* The Google Click ID.
*
* @see https://support.google.com/analytics/answer/2938246?hl=en
*
* @param non-empty-string $gclid
*/
public function withGclid(string $gclid): self
{
$data = $this->data;
$data['gclid'] = $gclid;
return new self($data);
}
public function jsonSerialize(): array
{
return $this->data;
}
}