pub struct GoogleProvider { /* private fields */ }Expand description
Google Ads marketing provider.
Wraps a GoogleClient and implements MarketingProvider using the
Google Ads REST API: GAQL for reads, :mutate endpoints for writes.
Implementations§
Source§impl GoogleProvider
impl GoogleProvider
Sourcepub const fn new(client: GoogleClient) -> Self
pub const fn new(client: GoogleClient) -> Self
Create a new Google Ads provider.
Trait Implementations§
Source§impl Debug for GoogleProvider
impl Debug for GoogleProvider
Source§impl MarketingProvider for GoogleProvider
impl MarketingProvider for GoogleProvider
Source§fn name(&self) -> &'static str
fn name(&self) -> &'static str
Short lowercase name used in CLI commands:
"meta", "google", "tiktok".Source§fn display_name(&self) -> &'static str
fn display_name(&self) -> &'static str
Human-readable display name:
"Meta (Facebook/Instagram)".Source§fn capabilities(&self) -> ProviderCapabilities
fn capabilities(&self) -> ProviderCapabilities
What this provider can do.
Source§fn list_campaigns(
&self,
filters: &CampaignFilters,
) -> impl Future<Output = Result<Paginated<Campaign>>> + Send
fn list_campaigns( &self, filters: &CampaignFilters, ) -> impl Future<Output = Result<Paginated<Campaign>>> + Send
List campaigns matching the given filters.
Source§fn get_campaign(
&self,
id: &CampaignId,
) -> impl Future<Output = Result<Campaign>> + Send
fn get_campaign( &self, id: &CampaignId, ) -> impl Future<Output = Result<Campaign>> + Send
Get a single campaign by ID.
Source§fn create_campaign(
&self,
input: &CreateCampaignInput,
) -> impl Future<Output = Result<Campaign>> + Send
fn create_campaign( &self, input: &CreateCampaignInput, ) -> impl Future<Output = Result<Campaign>> + Send
Create a new campaign.
Source§fn update_campaign(
&self,
id: &CampaignId,
input: &UpdateCampaignInput,
) -> impl Future<Output = Result<Campaign>> + Send
fn update_campaign( &self, id: &CampaignId, input: &UpdateCampaignInput, ) -> impl Future<Output = Result<Campaign>> + Send
Update an existing campaign.
Source§fn delete_campaign(
&self,
id: &CampaignId,
) -> impl Future<Output = Result<()>> + Send
fn delete_campaign( &self, id: &CampaignId, ) -> impl Future<Output = Result<()>> + Send
Delete a campaign by ID.
Source§fn get_insights(
&self,
query: &InsightsQuery,
) -> impl Future<Output = Result<InsightsReport>> + Send
fn get_insights( &self, query: &InsightsQuery, ) -> impl Future<Output = Result<InsightsReport>> + Send
Query analytics / insights.
Source§async fn health_check(&self) -> Result<ProviderHealth>
async fn health_check(&self) -> Result<ProviderHealth>
Verify that credentials are valid and the API is reachable.
Source§fn list_adsets(
&self,
_campaign_id: &CampaignId,
) -> impl Future<Output = Result<Paginated<AdSet>, MktError>> + Send
fn list_adsets( &self, _campaign_id: &CampaignId, ) -> impl Future<Output = Result<Paginated<AdSet>, MktError>> + Send
List ad sets for a campaign.
Source§fn create_adset(
&self,
_input: &CreateAdSetInput,
) -> impl Future<Output = Result<AdSet, MktError>> + Send
fn create_adset( &self, _input: &CreateAdSetInput, ) -> impl Future<Output = Result<AdSet, MktError>> + Send
Create a new ad set.
Source§fn create_creative(
&self,
_input: &CreateCreativeInput,
) -> impl Future<Output = Result<Creative, MktError>> + Send
fn create_creative( &self, _input: &CreateCreativeInput, ) -> impl Future<Output = Result<Creative, MktError>> + Send
Create an ad creative.
Source§fn create_dark_post(
&self,
_input: &CreateDarkPostInput,
) -> impl Future<Output = Result<Creative, MktError>> + Send
fn create_dark_post( &self, _input: &CreateDarkPostInput, ) -> impl Future<Output = Result<Creative, MktError>> + Send
Create an unpublished (dark) post for use in ads.
Source§fn list_audiences(
&self,
) -> impl Future<Output = Result<Vec<Audience>, MktError>> + Send
fn list_audiences( &self, ) -> impl Future<Output = Result<Vec<Audience>, MktError>> + Send
List all audiences.
Source§fn create_audience(
&self,
_input: &CreateAudienceInput,
) -> impl Future<Output = Result<Audience, MktError>> + Send
fn create_audience( &self, _input: &CreateAudienceInput, ) -> impl Future<Output = Result<Audience, MktError>> + Send
Create a new audience.
Source§fn add_users_to_audience(
&self,
_id: &AudienceId,
_users: &[AudienceUser],
) -> impl Future<Output = Result<AudienceUpdateResult, MktError>> + Send
fn add_users_to_audience( &self, _id: &AudienceId, _users: &[AudienceUser], ) -> impl Future<Output = Result<AudienceUpdateResult, MktError>> + Send
Add users to an existing audience.
Source§fn publish_post(
&self,
_input: &PublishPostInput,
) -> impl Future<Output = Result<Post, MktError>> + Send
fn publish_post( &self, _input: &PublishPostInput, ) -> impl Future<Output = Result<Post, MktError>> + Send
Publish an organic post (Facebook Page, Instagram, etc.).
Source§fn promote_post(
&self,
_post_id: &PostId,
_input: &PromotePostInput,
) -> impl Future<Output = Result<Ad, MktError>> + Send
fn promote_post( &self, _post_id: &PostId, _input: &PromotePostInput, ) -> impl Future<Output = Result<Ad, MktError>> + Send
Promote an existing organic post as an ad.
Source§fn upload_image(
&self,
_input: &UploadImageInput,
) -> impl Future<Output = Result<MediaAsset, MktError>> + Send
fn upload_image( &self, _input: &UploadImageInput, ) -> impl Future<Output = Result<MediaAsset, MktError>> + Send
Upload an image asset.
Source§fn upload_video(
&self,
_input: &UploadVideoInput,
) -> impl Future<Output = Result<MediaAsset, MktError>> + Send
fn upload_video( &self, _input: &UploadVideoInput, ) -> impl Future<Output = Result<MediaAsset, MktError>> + Send
Upload a video asset.
Auto Trait Implementations§
impl !RefUnwindSafe for GoogleProvider
impl !UnwindSafe for GoogleProvider
impl Freeze for GoogleProvider
impl Send for GoogleProvider
impl Sync for GoogleProvider
impl Unpin for GoogleProvider
impl UnsafeUnpin for GoogleProvider
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more