تتحكّم ميزانيات الحساب في المبلغ الذي يمكن أن ينفقه الحساب خلال فترة زمنية معيّنة من خلال تحديد خصائص الميزانية، مثل حدّ الإنفاق ووقت البدء ووقت الانتهاء. ويجب أن تشير إلى إحدى إعدادات الفوترة في الحساب لتحديد حساب الدفعات المحدّد الذي ستتم فوترته. يمكنك إنشاء وتعديل وإزالة الـ
AccountBudget عن طريق إرسال كائنات الـ
AccountBudgetProposal.
AccountBudget تمثّل كائنات النتيجة النهائية
لتطبيق الاقتراحات. بعد الموافقة على اقتراح، ستؤدي التغييرات التي تم إجراؤها (مع مراعاة أي تعديلات) إلى إنشاء ميزانية حساب جديدة أو تعديل ميزانية حالية. ويعتمد ذلك على الـ
proposal_type
المحدّد في الطلب.
AccountBudgetProposalType |
الوصف |
|---|---|
CREATE |
إنشاء ميزانية حساب جديدة يجب الموافقة عليها قبل استخدامها |
UPDATE |
تعديل ميزانية حساب حالية |
END |
ضبط وقت انتهاء ميزانية الحساب على الوقت الحالي |
REMOVE |
إزالة ميزانية حساب قبل وقت بدئها |
تصف الأقسام التالية سلوك كل نوع من أنواع الاقتراحات.
إنشاء اقتراح ميزانية حساب
يتيح لك إنشاء ميزانية حساب جديدة التحكّم في سلوك إنفاق العميل. استخدِم الـ
AccountBudgetProposalService
لإنشاء
AccountBudgetProposalجديد. عليك ضبط
proposal_type على
CREATE
لتحديد أنّه يجب إنشاء ميزانية جديدة. يُرجى الرجوع إلى قسم الـ
إدارة في هذا الدليل للاطّلاع على العمليات الأخرى.
تذكَّر استخدام إعداد فوترة مع حساب دفعات لديك إذن الكتابة إليه. يُرجى الرجوع إلى دليل إعداد الفوترة للحصول على التفاصيل.
يوضّح المثال التالي كيفية إنشاء اقتراح ميزانية جديد.
جافا
private void runExample(GoogleAdsClient googleAdsClient, long customerId, long billingSetupId) { // Creates an AccountBudgetProposal. This will be reviewed offline by Google Ads, and if // approved will become an AccountBudget. AccountBudgetProposal proposal = AccountBudgetProposal.newBuilder() .setBillingSetup(ResourceNames.billingSetup(customerId, billingSetupId)) .setProposalType(AccountBudgetProposalType.CREATE) .setProposedName("Account Budget (example)") // Specifies the account budget starts immediately. .setProposedStartTimeType(TimeType.NOW) // Alternatively you can specify a specific start time. Refer to the // AccountBudgetProposal // resource documentation for allowed formats. // // .setProposedStartDateTime("2020-01-02 03:04:05") // Specifies that the budget runs forever. .setProposedEndTimeType(TimeType.FOREVER) // Alternatively you can specify a specific end time. Allowed formats are as above. // .setProposedEndDateTime("2021-02-03 04:05:06") // Optional: sets notes for the budget. These are free text and do not effect budget // delivery. // .setProposedNotes("Received prepayment of $0.01") // Sets the spending limit to 0.01, measured in the Google Ads account currency. .setProposedSpendingLimitMicros(10_000) // Optional: sets PO number for record keeping. This value is at the user's // discretion, and has no effect on Google Billing & Payments. // .setProposedPurchaseOrderNumber("PO number 12345") .build(); // Creates an operation which will add the new AccountBudgetProposal. AccountBudgetProposalOperation operation = AccountBudgetProposalOperation.newBuilder().setCreate(proposal).build(); try (AccountBudgetProposalServiceClient accountBudgetProposalServiceClient = googleAdsClient.getLatestVersion().createAccountBudgetProposalServiceClient()) { // Sends the request to the Account Budget Proposal Service. MutateAccountBudgetProposalResponse response = accountBudgetProposalServiceClient.mutateAccountBudgetProposal( String.valueOf(customerId), operation); System.out.printf( "Account budget proposal created: %s.%n", response.getResult().getResourceName()); } }
#C
public void Run(GoogleAdsClient client, long customerId, long billingSetupId) { // Get the AccountBudgetProposalServiceClient. AccountBudgetProposalServiceClient proposalService = client.GetService(Services.V25.AccountBudgetProposalService); // Create an AccountBudgetProposal. The proposal will be reviewed offline by Google Ads, // and if approved will become an AccountBudget. AccountBudgetProposal proposal = new AccountBudgetProposal() { BillingSetup = ResourceNames.BillingSetup(customerId, billingSetupId), ProposalType = AccountBudgetProposalType.Create, ProposedName = "Account Budget (example)", // Specify the account budget starts immediately ProposedStartTimeType = TimeType.Now, // Alternatively, you can specify a specific start time. Refer to the // AccountBudgetProposal resource documentation for allowed formats. // //ProposedStartDateTime = "2020-01-02 03:04:05", // Specify that the budget runs forever. ProposedEndTimeType = TimeType.Forever, // Alternatively you can specify a specific end time. Allowed formats are as above. //ProposedEndDateTime = "2021-02-03 04:05:06", // Optional: set notes for the budget. These are free text and do not effect budget // delivery. //ProposedNotes = "Received prepayment of $0.01", // Set the spending limit to 0.01, measured in the Google Ads account currency. ProposedSpendingLimitMicros = 10_000 // Optional: set PO number for record keeping. This value is at the user's // discretion, and has no effect on Google Billing & Payments. //ProposedPurchaseOrderNumber = "PO number 12345" }; // Create an operation which will add the new AccountBudgetProposal AccountBudgetProposalOperation operation = new AccountBudgetProposalOperation() { Create = proposal }; try { // Send the request to the Account Budget Proposal Service. MutateAccountBudgetProposalResponse response = proposalService. MutateAccountBudgetProposal(customerId.ToString(), operation); // Display the results. Console.WriteLine($"Account budget proposal '{response.Result.ResourceName}' " + "was created."); } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
public static function runExample( GoogleAdsClient $googleAdsClient, int $customerId, int $billingSetupId ) { // Constructs an account budget proposal. $accountBudgetProposal = new AccountBudgetProposal([ 'billing_setup' => ResourceNames::forBillingSetup($customerId, $billingSetupId), 'proposal_type' => AccountBudgetProposalType::CREATE, 'proposed_name' => 'Account Budget (example)', // Specifies the account budget starts immediately. 'proposed_start_time_type' => TimeType::NOW, // Alternatively you can specify a specific start time. Refer to the // AccountBudgetProposal class for allowed formats. // // 'proposed_start_date_time' => '2020-01-02 03:04:05', // Specify that the budget runs forever. 'proposed_end_time_type' => TimeType::FOREVER, // Alternatively you can specify a specific end time. Allowed formats are as above. // 'proposed_end_date_time' => '2021-02-03 04:05:06', // Optional: set notes for the budget. These are free text and do not effect budget // delivery. // 'proposed_notes' => 'Received prepayment of $0.01', // Optional: set PO number for record keeping. This value is at the user's // discretion, and has no effect on Google Billing & Payments. // 'proposed_purchase_order_number' => 'PO number 12345', // Set the spending limit to 0.01, measured in the Google Ads account currency. 'proposed_spending_limit_micros' => 10000 ]); $accountBudgetProposalOperation = new AccountBudgetProposalOperation(); $accountBudgetProposalOperation->setCreate($accountBudgetProposal); // Issues a mutate request to add the account budget proposal. $accountBudgetProposalServiceClient = $googleAdsClient->getAccountBudgetProposalServiceClient(); $response = $accountBudgetProposalServiceClient->mutateAccountBudgetProposal( MutateAccountBudgetProposalRequest::build($customerId, $accountBudgetProposalOperation) ); printf( "Added an account budget proposal with resource name '%s'.%s", $response->getResult()->getResourceName(), PHP_EOL ); }
Python
def main(client: GoogleAdsClient, customer_id: str, billing_setup_id: str): account_budget_proposal_service = client.get_service( "AccountBudgetProposalService" ) billing_setup_service = client.get_service("BillingSetupService") account_budget_proposal_operation = client.get_type( "AccountBudgetProposalOperation" ) proposal = account_budget_proposal_operation.create proposal.proposal_type = client.enums.AccountBudgetProposalTypeEnum.CREATE proposal.billing_setup = billing_setup_service.billing_setup_path( customer_id, billing_setup_id ) proposal.proposed_name = "Account Budget Proposal (example)" # Specify the account budget starts immediately proposal.proposed_start_time_type = client.enums.TimeTypeEnum.NOW # Alternatively you can specify a specific start time. Refer to the # AccountBudgetProposal resource documentation for allowed formats. # # proposal.proposed_start_date_time = '2020-01-02 03:04:05' # Specify that the budget runs forever proposal.proposed_end_time_type = client.enums.TimeTypeEnum.FOREVER # Alternatively you can specify a specific end time. Allowed formats are as # above. # # proposal.proposed_end_date_time = '2021-01-02 03:04:05' # Optional: set notes for the budget. These are free text and do not effect # budget delivery. # # proposal.proposed_notes = 'Received prepayment of $0.01' proposal.proposed_spending_limit_micros = 10000 account_budget_proposal_response = ( account_budget_proposal_service.mutate_account_budget_proposal( customer_id=customer_id, operation=account_budget_proposal_operation, ) ) print( "Created account budget proposal " f'"{account_budget_proposal_response.result.resource_name}".' )
Ruby
def add_account_budget_proposal(customer_id, billing_setup_id) # GoogleAdsClient will read a config file from # ENV['HOME']/google_ads_config.rb when called without parameters client = Google::Ads::GoogleAds::GoogleAdsClient.new operation = client.operation.create_resource.account_budget_proposal do |proposal| proposal.billing_setup = client.path.billing_setup(customer_id, billing_setup_id) proposal.proposal_type = :CREATE proposal.proposed_name = 'Account Budget (example)' # Specify the account budget starts immediately proposal.proposed_start_time_type = :NOW # Alternatively you can specify a specific start time. Refer to the # AccountBudgetProposal resource documentation for allowed formats. # # proposal.proposed_start_date_time = '2020-01-02 03:04:05' # Specify that the budget runs forever. proposal.proposed_end_time_type = :FOREVER # Alternatively you can specify a specific end time. Allowed formats are as # above. # # proposal.proposed_end_date_time = '2021-01-02 03:04:05' # Optional: set notes for the budget. These are free text and do not affect # budget delivery. # # proposal.proposed_notes = 'Received prepayment of $0.01' # Set the spending limit to 0.01, measured in the Google Ads account currency. proposal.proposed_spending_limit_micros = 10_000 end account_budget_proposal_service = client.service.account_budget_proposal # Add budget proposal. response = account_budget_proposal_service.mutate_account_budget_proposal( customer_id: customer_id, operation: operation, ) puts sprintf("Created budget proposal %s.", response.results.first.resource_name) end
Perl
sub add_account_budget_proposal { my ($api_client, $customer_id, $billing_setup_id) = @_; # Create an account budget proposal. my $account_budget_proposal = Google::Ads::GoogleAds::V25::Resources::AccountBudgetProposal->new({ billingSetup => Google::Ads::GoogleAds::V25::Utils::ResourceNames::billing_setup( $customer_id, $billing_setup_id ), proposalType => CREATE, proposedName => "Account Budget (example)", # Specify that the account budget starts immediately. proposedStartTimeType => NOW, # Alternatively you can specify a specific start time. Refer to the # AccountBudgetProposal class for allowed formats. # # proposedStartDateTime => "2020-01-02 03:04:05", # Specify that the account budget runs forever. proposedEndDateTime => FOREVER, # Alternatively you can specify a specific end time. Allowed formats are as below. # proposedEndDateTime => "2021-02-03 04:05:06", # Optional: set notes for the budget. These are free text and do not effect budget # delivery. # proposedNotes => "Received prepayment of $0.01", # Optional: set PO number for record keeping. This value is at the user's # discretion, and has no effect on Google Billing & Payments. # proposedPurchaseOrderNumber => "PO number 12345", # Set the spending limit to 0.01, measured in the Google Ads account currency. proposedSpendingLimitMicros => 10000 }); # Create an account budget proposal operation. my $account_budget_proposal_operation = Google::Ads::GoogleAds::V25::Services::AccountBudgetProposalService::AccountBudgetProposalOperation ->new({ create => $account_budget_proposal }); # Add the account budget proposal. my $account_budget_proposal_response = $api_client->AccountBudgetProposalService()->mutate({ customerId => $customer_id, operation => $account_budget_proposal_operation }); printf "Created account budget proposal '%s'.\n", $account_budget_proposal_response->{result}{resourceName}; return 1; }
curl
في طلبات اقتراح ميزانية الحساب،
proposed_start_date_time
و
proposed_end_date_time
يكونان دائمًا بتوقيت منطقة حساب العميل، ولا يمكنك تحديد منطقة زمنية.
يتم قياس
حدّ الإنفاق المقترَح
دائمًا بعملة الحساب، ويتم تحديد ذلك باستخدام وحدات "ميكرو"،
لذا فإنّ 1.00 دولار أمريكي = 1,000,000 ميكرو.
يمكنك اختياريًا تضمين رقم طلب شراء سيظهر بجانب هذه الرسوم في الفاتورة. ولن يكون لذلك أي تأثير في عرض الميزانية.
إزالة اقتراح ميزانية حساب معلّق
يمكنك إزالة اقتراح ميزانية معلّق بالكامل عن طريق إرسال
AccountBudgetProposalOperation Remove
طلب مع اسم مورد اقتراح ميزانية الحساب. ومع ذلك، يُرجى العِلم أنّ اقتراحات الميزانية يتم تطبيقها عادةً في غضون دقائق.
AccountBudgetProposalOperation operation = AccountBudgetProposalOperation.newBuilder() .setRemove(StringValue.of(ResourceNames.accountBudgetProposal(customerId, accountBudgetProposalId))) .build(); // Send request to Google Ads API (not shown).
AccountBudgetProposalOperation operation = new AccountBudgetProposalOperation()
{
Remove = ResourceNames.AccountBudgetProposal(customerId, accountBudgetProposalId)
};
// Send request to Google Ads API (not shown).$accountBudgetProposalOperation = new AccountBudgetProposalOperation(); $accountBudgetProposalOperation->setRemove(ResourceNames::forAccountBudgetProposal($customerId, $accountBudgetProposalId)); // Send request to Google Ads API (not shown).
account_budget_proposal_service = client.get_service('AccountBudgetProposalService') account_budget_proposal_operation = client.get_type('AccountBudgetProposalOperation') proposal = account_budget_proposal_operation.remove proposal.resource_name = account_budget_proposal_service.account_budget_proposal_path(customer_id, account_budget_proposal_id): # Send request to Google Ads API (not shown).
operation = client.operation.remove_resource.account_budget_proposal(client.path.account_budget_proposal(customer_id, account_budget_proposal_id))
# Send request to Google Ads API (not shown).my $account_budget_proposal_operation = Google::Ads::GoogleAds::V25::Services::AccountBudgetProposalService::AccountBudgetProposalOperation ->new({ remove => Google::Ads::GoogleAds::V25::Utils::ResourceNames::billing_setup( $customer_id, $account_budget_proposal_id ) }); # Send request to Google Ads API (not shown).
إذا ارتكبت خطأً في الاقتراح الأصلي، يمكنك إعادة إرساله كعملية UPDATE. يُرجى الرجوع إلى
مقالة تعديل ميزانية حساب حالية.
استرداد ميزانيات الحسابات الحالية
يسترد طلب بحث GAQL التالي جميع ميزانيات الحسابات الحالية في حساب معيّن:
SELECT
account_budget.status,
account_budget.billing_setup,
account_budget.approved_spending_limit_micros,
account_budget.approved_spending_limit_type,
account_budget.proposed_spending_limit_micros,
account_budget.proposed_spending_limit_type,
account_budget.adjusted_spending_limit_micros,
account_budget.adjusted_spending_limit_type,
account_budget.approved_start_date_time,
account_budget.proposed_start_date_time,
account_budget.approved_end_date_time,
account_budget.approved_end_time_type,
account_budget.proposed_end_date_time,
account_budget.proposed_end_time_type
FROM
account_budget
تحتوي الحقول التي تتضمّن وقت بدء ميزانية الحساب ووقت انتهائها وحدّ الإنفاق على أشكال متعدّدة مع بادئات مثل proposed وapproved تسمح بمقارنة القيم التي تم اقتراحها في البداية بالقيم التي تمت الموافقة عليها. يحتوي حدّ الإنفاق على حقول إضافية مع البادئة adjusted للإشارة إلى حدّ الإنفاق الحالي الساري بعد تطبيق أي تعديلات على المبلغ الذي تمت الموافقة عليه.
يمكن تعديل حدّ الإنفاق الذي تمت الموافقة عليه لميزانية الحساب بمرور الوقت ليعكس أرصدة مختلفة لعوامل مثل العرض الزائد للميزانية ونشاط النقرات غير الصالح والقسائم الترويجية. يمكنك العثور على مزيد من المعلومات عن ميزانيات الحسابات و أرصدة الحسابات والتعديلات في مركز مساعدة "إعلانات Google".
ستحتوي أيضًا أي ميزانيات حسابات جديدة في انتظار الموافقة عليها، بالإضافة إلى أي ميزانيات حسابات حالية
في انتظار التعديلات، على
pending_proposal حقل
يمكن اختياره. سيحتوي هذا الحقل على
رقم تعريف المورد
لكائن AccountBudgetProposal
المرتبط.
إدارة ميزانيات الحسابات الحالية
بعد إنشاء ميزانية حساب لأحد العملاء، يمكنك استخدام الـ
AccountBudgetProposalService لـ
إدارة مَعلمات الميزانية. إنّ عمليات الإدارة الأكثر شيوعًا هي تعديل الحقلَين spending_limit وend_date_time. للاطّلاع على قائمة كاملة بـ
الحقول القابلة للتعديل، يُرجى الرجوع إلى
AccountBudgetProposal
المستند.
لديك خيار تعديل ميزانية حساب حالية أو إنشاء ميزانية جديدة تمامًا، وكلاهما موضّح هنا.
تعديل ميزانية حساب حالية
يمكنك تعديل حقول ميزانية الحساب الحالية عن طريق إرسال
AccountBudgetProposal كائنات مع
AccountBudgetProposalType
ضبطها على UPDATE. يُرجى العِلم أنّه يجب أيضًا الإشارة إلى الحقول التي يتم تعديلها في وسيطة UpdateMask للعملية.
يوضّح المقتطف التالي كيفية تعديل حدّ الإنفاق المقترَح لميزانية حساب حالية.
AccountBudgetProposal proposal = AccountBudgetProposal.newBuilder()
.setProposalType(AccountBudgetProposalType.UPDATE)
.setAccountBudget(accountBudget.getResourceName())
.setProposedSpendingLimitMicros(
accountBudget.getProposedSpendingLimitMicros().getValue() + increaseAmount)
.build();
AccountBudgetProposalOperation operation = AccountBudgetProposalOperation.newBuilder()
.setCreate(proposal)
.setUpdateMask(
FieldMask.newBuilder().addAllPaths(Arrays.asList("proposed_spending_limit")).build())
.build();
// Send request to Google Ads API (not shown).AccountBudgetProposal proposal = new AccountBudgetProposal()
{
ProposalType = AccountBudgetProposalType.Update,
AccountBudget = accountBudget.ResourceName,
ProposedSpendingLimitMicros = accountBudget.ProposedSpendingLimitMicros + increaseAmount
};
AccountBudgetProposalOperation operation = new AccountBudgetProposalOperation()
{
Create = proposal,
UpdateMask = new FieldMask()
{
Paths = { "proposed_spending_limit" }
}
};
// Send request to Google Ads API (not shown).$accountBudgetProposal = new AccountBudgetProposal([ 'proposal_type' => AccountBudgetProposalType::UPDATE, 'account_budget' => $accountBudget->getResourceName(), 'proposed_spending_limit_micros' => $accountBudget->getProposedSpendingLimitMicros() + $increaseAmount]) $accountBudgetProposalOperation = new AccountBudgetProposalOperation(); $accountBudgetProposalOperation->setCreate($accountBudgetProposal); $accountBudgetProposalOperation->setUpdateMask( FieldMasks::allSetFieldsOf($accountBudgetProposal) ); // Send request to Google Ads API (not shown).
account_budget_proposal_operation = client.get_type('AccountBudgetProposalOperation') proposal = account_budget_proposal_operation.create proposal.proposal_type = client.get_type('AccountBudgetProposalTypeEnum').UPDATE proposal.account_budget = account_budget proposal.proposed_spending_limit_micros = account_budget.proposed_spending_limit_micros + increase_amount field_mask = protobuf_helpers.field_mask(None, proposal) account_budget_proposal_operation.update_mask.CopyFrom(field_mask) # Send request to Google Ads API (not shown).
proposal = client.resource.account_budget_proposal proposal.proposal_type = :UPDATE mask = client.field_mask.with proposal do proposal.account_budget = account_budget.resource_name proposal.proposed_spending_limit_micros = account_budget.proposed_spending_limit_micros + increase_amount end operation = client.operation.account_budget_proposal do |op| op.create = proposal op.update_mask = mask end # Send request to Google Ads API (not shown).
my $account_budget_proposal = Google::Ads::GoogleAds::V25::Resources::AccountBudgetProposal->new({ proposalType => UPDATE, accountBudget => $account_budget->{resourceName}, proposedSpendingLimitMicros => $account_budget->{proposedSpendingLimitMicros} + $increaseAmount}); my $account_budget_proposal_operation = Google::Ads::GoogleAds::V25::Services::AccountBudgetProposalService::AccountBudgetProposalOperation ->new({ create => $account_budget_proposal, updateMask => all_set_fields_of($account_budget_proposal)}); # Send request to Google Ads API (not shown).
ربط ميزانيات الحسابات
كبديل لتعديل الميزانية الحالية، يتيح لك "إعلانات Google" ربط ميزانيات حسابات متعدّدة لعرضها على التوالي. في المثال التالي، يكون لدى العميل حدود إنفاق مختلفة كل شهر.
يمكن تحقيق ذلك عن طريق إنشاء ثلاثة
AccountBudgetProposal كائنات و
إرسالها إلى
AccountBudgetProposalService.
يوضّح المقتطف التالي كيفية إنشاء سلسلة من هذا النوع باستخدام إعداد فوترة حالي.
AccountBudgetProposal proposalMay = AccountBudgetProposal.newBuilder()
.setBillingSetup(ResourceNames.billingSetup(customerId, billingSetupId))
.setProposalType(AccountBudgetProposalType.CREATE)
.setProposedName("May budget")
.setProposedStartDateTime("2018-05-01")
.setProposedEndDateTime("2018-06-01")
.setProposedSpendingLimitMicros(1_000_000_000L)
.build();
AccountBudgetProposal proposalJune = AccountBudgetProposal.newBuilder()
.setBillingSetup(ResourceNames.billingSetup(customerId, billingSetupId))
.setProposalType(AccountBudgetProposalType.CREATE)
.setProposedName("June budget")
.setProposedStartDateTime("2018-06-01")
.setProposedEndDateTime("2018-07-01")
.setProposedSpendingLimitMicros(5_000_000_000L)
.build();
AccountBudgetProposal proposalJuly = AccountBudgetProposal.newBuilder()
.setBillingSetup(ResourceNames.billingSetup(customerId, billingSetupId))
.setProposalType(AccountBudgetProposalType.CREATE)
.setProposedName("July budget")
.setProposedStartDateTime("2018-07-01")
.setProposedEndDateTime("2018-08-01")
.setProposedSpendingLimitMicros(1_000_000_000L)
.build();
// Send request to Google Ads API (not shown).AccountBudgetProposal proposalMay = new AccountBudgetProposal()
{
BillingSetup = ResourceNames.BillingSetup(customerId, billingSetupId),
ProposalType = AccountBudgetProposalType.Create,
ProposedName = "May budget",
ProposedStartDateTime = "2018-05-01",
ProposedEndDateTime = "2018-06-01",
ProposedSpendingLimitMicros = 1_000_000_000
}
AccountBudgetProposal proposalJune = new AccountBudgetProposal()
{
BillingSetup = ResourceNames.BillingSetup(customerId, billingSetupId),
ProposalType = AccountBudgetProposalType.Create,
ProposedName = "June budget",
ProposedStartDateTime = "2018-06-01",
ProposedEndDateTime = "2018-07-01",
ProposedSpendingLimitMicros = 5_000_000_000
}
AccountBudgetProposal proposalJuly = new AccountBudgetProposal()
{
BillingSetup = ResourceNames.BillingSetup(customerId, billingSetupId),
ProposalType = AccountBudgetProposalType.Create,
ProposedName = "July budget",
ProposedStartDateTime = "2018-07-01",
ProposedEndDateTime = "2018-08-01",
ProposedSpendingLimitMicros = 1_000_000_000
}
// Send request to Google Ads API (not shown).$proposalMay = new AccountBudgetProposal([ 'billing_setup' => ResourceNames::forBillingSetup($customerId, $billingSetupId), 'proposal_type' => AccountBudgetProposalType::CREATE, 'proposed_name' => 'May budget', 'proposed_start_date_time' => '2018-05-01', 'proposed_end_date_time' => '2018-06-01', 'proposed_spending_limit_micros' => 1000000000 ]); $proposalJune = new AccountBudgetProposal([ 'billing_setup' => ResourceNames::forBillingSetup($customerId, $billingSetupId), 'proposal_type' => AccountBudgetProposalType::CREATE, 'proposed_name' => 'June budget', 'proposed_start_date_time' => '2018-06-01', 'proposed_end_date_time' => '2018-07-01', 'proposed_spending_limit_micros' => 5000000000 ]); $proposalJuly = new AccountBudgetProposal([ 'billing_setup' => ResourceNames::forBillingSetup($customerId, $billingSetupId), 'proposal_type' => AccountBudgetProposalType::CREATE, 'proposed_name' => 'July budget', 'proposed_start_date_time' => '2018-07-01', 'proposed_end_date_time' => '2018-08-01', 'proposed_spending_limit_micros' => 1000000000 ]); // Send request to Google Ads API (not shown).
may_account_budget_proposal_operation = client.get_type('AccountBudgetProposalOperation') proposalMay = may_account_budget_proposal_operation.create proposalMay.proposal_type = client.get_type('AccountBudgetProposalTypeEnum').CREATE proposalMay.billing_setup = billing_setup_service.billing_setup_path(customer_id, billing_setup_id) proposalMay.proposed_name = 'May budget' proposalMay.proposed_start_date_time = '2018-05-01' proposalMay.proposed_end_date_time = '2018-06-01' proposalMay.proposed_spending_limit_micros = 1000000000 june_account_budget_proposal_operation = client.get_type('AccountBudgetProposalOperation') proposalJune = may_account_budget_proposal_operation.create proposalJune.proposal_type = client.get_type('AccountBudgetProposalTypeEnum').CREATE proposalJune.billing_setup = billing_setup_service.billing_setup_path(customer_id, billing_setup_id) proposalJune.proposed_name = 'June budget' proposalJune.proposed_start_date_time = '2018-06-01' proposalJune.proposed_end_date_time = '2018-07-01' proposalJune.proposed_spending_limit_micros = 5000000000 july_account_budget_proposal_operation = client.get_type('AccountBudgetProposalOperation') proposalJuly = may_account_budget_proposal_operation.create proposalJuly.proposal_type = client.get_type('AccountBudgetProposalTypeEnum').CREATE proposalJuly.billing_setup = billing_setup_service.billing_setup_path(customer_id, billing_setup_id) proposalJuly.proposed_name = 'July budget' proposalJuly.proposed_start_date_time = '2018-07-01' proposalJuly.proposed_end_date_time = '2018-08-01' proposalJuly.proposed_spending_limit_micros = 1000000000 # Send request to Google Ads API (not shown).
proposal_may = client.operation.create_resource.account_budget_proposal do |proposal| proposal.billing_setup = client.path.billing_setup(customer_id, billing_setup_id) proposal.proposal_type = :CREATE proposal.proposed_name = 'May budget' proposal.proposed_start_date_time = '2018-05-01' proposal.proposed_end_date_time = '2018-06-01' proposal.proposed_spending_limit_micros = 1_000_000_000 end proposal_june = client.operation.create_resource.account_budget_proposal do |proposal| proposal.billing_setup = client.path.billing_setup(customer_id, billing_setup_id) proposal.proposal_type = :CREATE proposal.proposed_name = 'June budget' proposal.proposed_start_date_time = '2018-06-01' proposal.proposed_end_date_time = '2018-07-01' proposal.proposed_spending_limit_micros = 5_000_000_000 end proposal_july = client.operation.create_resource.account_budget_proposal do |proposal| proposal.billing_setup = client.path.billing_setup(customer_id, billing_setup_id) proposal.proposal_type = :CREATE proposal.proposed_name = 'July budget' proposal.proposed_start_date_time = '2018-07-01' proposal.proposed_end_date_time = '2018-08-01' proposal.proposed_spending_limit_micros = 1_000_000_000 end # Send request to Google Ads API (not shown).
my $may_proposal = Google::Ads::GoogleAds::V25::Resources::AccountBudgetProposal->new({ billingSetup => Google::Ads::GoogleAds::V25::Utils::ResourceNames::billing_setup( $customer_id, $billing_setup_id ), proposalType => CREATE, proposedName => "May budget", proposedStartDateTime => "2018-05-01", proposedEndDateTime => "2018-06-01", proposedSpendingLimitMicros => 1000000000 }); my $june_proposal = Google::Ads::GoogleAds::V25::Resources::AccountBudgetProposal->new({ billingSetup => Google::Ads::GoogleAds::V25::Utils::ResourceNames::billing_setup( $customer_id, $billing_setup_id ), proposalType => CREATE, proposedName => "June budget", proposedStartDateTime => "2018-06-01", proposedEndDateTime => "2018-07-01", proposedSpendingLimitMicros => 5000000000 }); my $july_proposal = Google::Ads::GoogleAds::V25::Resources::AccountBudgetProposal->new({ billingSetup => Google::Ads::GoogleAds::V25::Utils::ResourceNames::billing_setup( $customer_id, $billing_setup_id ), proposalType => CREATE, proposedName => "July budget", proposedStartDateTime => "2018-07-01", proposedEndDateTime => "2018-08-01", proposedSpendingLimitMicros => 1000000000 }); # Send request to Google Ads API (not shown).
يُرجى العِلم باستخدام
AccountBudgetProposalType.CREATE
في كل اقتراح. سيؤدي ذلك إلى إنشاء ثلاث ميزانيات مختلفة، بدلاً من تعديل الميزانية نفسها ثلاث مرات.
إنهاء ميزانيات الحسابات
يمكن إنهاء ميزانيات الحسابات أثناء نشاطها، وإزالتها بالكامل قبل بدئها أو أثناء انتظار الموافقة عليها.
إنهاء ميزانية الحساب النشطة
لا يمكن إزالة ميزانية الحساب النشطة. ومع ذلك، يمكنك ضبط وقت الانتهاء على الوقت الحالي. أسهل طريقة لتحقيق ذلك هي إرسال اقتراح باستخدام
AccountBudgetProposalType.END.
يوضّح المقتطف التالي كيفية إنهاء ميزانية حساب حالية.
AccountBudgetProposal.newBuilder() .setProposalType(AccountBudgetProposalType.END) .setAccountBudget(accountBudget.getResourceName()) .build(); // Send request to Google Ads API (not shown).
AccountBudgetProposal proposal = new AccountBudgetProposal()
{
ProposalType = AccountBudgetProposalType.End,
AccountBudget = accountBudget.ResourceName
};
// Send request to Google Ads API (not shown).$accountBudgetProposal = new AccountBudgetProposal([ 'proposal_type' => AccountBudgetProposalType::END, 'account_budget' => $accountBudget->getResourceName() ]) // Send request to Google Ads API (not shown).
account_budget_proposal_operation = client.get_type('AccountBudgetProposalOperation') proposal = account_budget_proposal_operation.create proposal.proposal_type = client.get_type('AccountBudgetProposalTypeEnum').END proposal.account_budget = account_budget # Send request to Google Ads API (not shown).
proposal = client.resource.account_budget_proposal proposal.proposal_type = :END proposal.account_budget = account_budget.resource_name # Send request to Google Ads API (not shown).
my $account_budget_proposal = Google::Ads::GoogleAds::V25::Resources::AccountBudgetProposal->new({ proposalType => END, accountBudget => $account_budget->{resourceName}); # Send request to Google Ads API (not shown).
يعادل ذلك تعديل ميزانية حساب عن طريق ضبط وقت انتهاء
التاريخ على TimeType.NOW.
إزالة ميزانية حساب تمت الموافقة عليها قبل وقت بدئها
إذا اقترحت ميزانية حساب ستبدأ في المستقبل، يمكنك إزالة هذا
بالكامل قبل وقت البدء عن طريق إرسال
AccountBudgetProposalType.REMOVE
نوع اقتراح.
يوضّح المقتطف التالي إزالة ميزانية حساب حالية مستقبلية.
AccountBudgetProposal.newBuilder() .setProposalType(AccountBudgetProposalType.REMOVE) .setAccountBudget(accountBudget.getResourceName()) .build(); // Send request to Google Ads API (not shown).
AccountBudgetProposal proposal = new AccountBudgetProposal()
{
ProposalType = AccountBudgetProposalType.Remove,
AccountBudget = accountBudget.ResourceName
};
// Send request to Google Ads API (not shown).$accountBudgetProposal = new AccountBudgetProposal([ 'proposal_type' => AccountBudgetProposalType::REMOVE, 'account_budget' => $accountBudget->getResourceName() ]) // Send request to Google Ads API (not shown).
account_budget_proposal_operation = client.get_type('AccountBudgetProposalOperation') proposal = account_budget_proposal_operation.create proposal.proposal_type = client.get_type('AccountBudgetProposalTypeEnum').REMOVE proposal.account_budget = account_budget # Send request to Google Ads API (not shown).
proposal = client.resource.account_budget_proposal proposal.proposal_type = :REMOVE proposal.account_budget = account_budget.resource_name # Send request to Google Ads API (not shown).
my $account_budget_proposal = Google::Ads::GoogleAds::V25::Resources::AccountBudgetProposal->new({ proposalType => REMOVE, accountBudget => $account_budget->{resourceName}); # Send request to Google Ads API (not shown).