data; $data['iosBundleId'] = $bundleId; return new self($data); } /** * The link to open when the app isn't installed. Specify this to do something other than install your app from the * App Store when the app isn't installed, such as open the mobile web version of the content, or display a * promotional page for your app. * * @param non-empty-string $fallbackLink */ public function withFallbackLink(string $fallbackLink): self { $data = $this->data; $data['iosFallbackLink'] = $fallbackLink; return new self($data); } /** * Your app's custom URL scheme, if defined to be something other than your app's bundle ID. * * @param non-empty-string $customScheme */ public function withCustomScheme(string $customScheme): self { $data = $this->data; $data['iosCustomScheme'] = $customScheme; return new self($data); } /** * The link to open on iPads when the app isn't installed. Specify this to do something other than install your * app from the App Store when the app isn't installed, such as open the web version of the content, or * display a promotional page for your app. * * @param non-empty-string $ipadFallbackLink */ public function withIPadFallbackLink(string $ipadFallbackLink): self { $data = $this->data; $data['iosIpadFallbackLink'] = $ipadFallbackLink; return new self($data); } /** * The bundle ID of the iOS app to use on iPads to open the link. The app must be connected to your project from * the Overview page of the Firebase console. * * @param non-empty-string $iPadBundleId */ public function withIPadBundleId(string $iPadBundleId): self { $data = $this->data; $data['iosIpadBundleId'] = $iPadBundleId; return new self($data); } /** * Your app's App Store ID, used to send users to the App Store when the app isn't installed. * * @param non-empty-string $appStoreId */ public function withAppStoreId(string $appStoreId): self { $data = $this->data; $data['iosAppStoreId'] = $appStoreId; return new self($data); } public function jsonSerialize(): array { return $this->data; } }