$this->getOAuth2Credential(), self::$DEVELOPER_TOKEN_KEY => '', self::$TRANSPORT_KEY => 'rest', 'libName' => Constants::LIBRARY_NAME, 'libVersion' => Constants::LIBRARY_VERSION, ]; if ( ! empty( $this->getEndpoint() ) ) { $clientOptions += [ self::$SERVICE_ADDRESS_KEY => $this->getEndpoint() ]; } if ( isset( $this->httpClient ) ) { $clientOptions['transportConfig'] = [ 'rest' => [ 'httpHandler' => $this->buildHttpHandler(), ], ]; } return $clientOptions; } /** * @return AccountLinkServiceClient */ public function getAccountLinkServiceClient(): AccountLinkServiceClient { return new AccountLinkServiceClient( $this->getGoogleAdsClientOptions() ); } /** * @return AdGroupAdLabelServiceClient */ public function getAdGroupAdLabelServiceClient(): AdGroupAdLabelServiceClient { return new AdGroupAdLabelServiceClient( $this->getGoogleAdsClientOptions() ); } /** * @return AdGroupAdServiceClient */ public function getAdGroupAdServiceClient(): AdGroupAdServiceClient { return new AdGroupAdServiceClient( $this->getGoogleAdsClientOptions() ); } /** * @return AdGroupCriterionServiceClient */ public function getAdGroupCriterionServiceClient(): AdGroupCriterionServiceClient { return new AdGroupCriterionServiceClient( $this->getGoogleAdsClientOptions() ); } /** * @return AdGroupServiceClient */ public function getAdGroupServiceClient(): AdGroupServiceClient { return new AdGroupServiceClient( $this->getGoogleAdsClientOptions() ); } /** * @return AdServiceClient */ public function getAdServiceClient(): AdServiceClient { return new AdServiceClient( $this->getGoogleAdsClientOptions() ); } /** * @return AssetGroupListingGroupFilterServiceClient */ public function getAssetGroupListingGroupFilterServiceClient(): AssetGroupListingGroupFilterServiceClient { return new AssetGroupListingGroupFilterServiceClient( $this->getGoogleAdsClientOptions() ); } /** * @return AssetGroupServiceClient */ public function getAssetGroupServiceClient(): AssetGroupServiceClient { return new AssetGroupServiceClient( $this->getGoogleAdsClientOptions() ); } /** * @return BillingSetupServiceClient */ public function getBillingSetupServiceClient(): BillingSetupServiceClient { return new BillingSetupServiceClient( $this->getGoogleAdsClientOptions() ); } /** * @return CampaignBudgetServiceClient */ public function getCampaignBudgetServiceClient(): CampaignBudgetServiceClient { return new CampaignBudgetServiceClient( $this->getGoogleAdsClientOptions() ); } /** * @return CampaignCriterionServiceClient */ public function getCampaignCriterionServiceClient(): CampaignCriterionServiceClient { return new CampaignCriterionServiceClient( $this->getGoogleAdsClientOptions() ); } /** * @return CampaignServiceClient */ public function getCampaignServiceClient(): CampaignServiceClient { return new CampaignServiceClient( $this->getGoogleAdsClientOptions() ); } /** * @return ConversionActionServiceClient */ public function getConversionActionServiceClient(): ConversionActionServiceClient { return new ConversionActionServiceClient( $this->getGoogleAdsClientOptions() ); } /** * @return CustomerServiceClient */ public function getCustomerServiceClient(): CustomerServiceClient { return new CustomerServiceClient( $this->getGoogleAdsClientOptions() ); } /** * @return CustomerUserAccessServiceClient */ public function getCustomerUserAccessServiceClient(): CustomerUserAccessServiceClient { return new CustomerUserAccessServiceClient( $this->getGoogleAdsClientOptions() ); } /** * @return GeoTargetConstantServiceClient */ public function getGeoTargetConstantServiceClient(): GeoTargetConstantServiceClient { return new GeoTargetConstantServiceClient( $this->getGoogleAdsClientOptions() ); } /** * @return GoogleAdsServiceClient */ public function getGoogleAdsServiceClient(): GoogleAdsServiceClient { return new GoogleAdsServiceClient( $this->getGoogleAdsClientOptions() ); } /** * @return ProductLinkInvitationServiceClient */ public function getProductLinkInvitationServiceClient(): ProductLinkInvitationServiceClient { return new ProductLinkInvitationServiceClient( $this->getGoogleAdsClientOptions() ); } }