تتحكّم ميزانيات الحساب في المبلغ الذي يمكن للحساب إنفاقه خلال فترة زمنية معيّنة، وذلك من خلال تحديد سمات الميزانية، مثل حدّ الإنفاق ووقت البدء ووقت الانتهاء. يجب أن تشير إلى أحد إعدادات الفوترة للحساب، للإشارة إلى حساب الدفعات الذي سيتمّ إرسال الفواتير إليه. يمكنك إنشاء علامة
AccountBudget
وتعديلها وإزالتها من خلال إرسال عناصر
AccountBudgetProposal
.
تمثّل عناصر AccountBudget
النتيجة النهائية
لتطبيق الاقتراحات. بعد الموافقة على الاقتراح، ستؤدي التغييرات التي أجريتها عليه (مع مراعاة أي تعديلات) إلى إنشاء ميزانية حساب جديدة أو تعديل ميزانية حالية. يعتمد ذلك على
proposal_type
المحدّد في الطلب.
AccountBudgetProposalType |
الوصف |
---|---|
CREATE |
تُنشئ ميزانية حساب جديدة، ويجب الموافقة عليها قبل استخدامها. |
UPDATE |
تعديل ميزانية حساب حالية |
END |
ضبط وقت انتهاء ميزانية الحساب على الوقت الحالي |
REMOVE |
تزيل ميزانية حساب قبل وقت بدؤها. |
توضّح الأقسام التالية سلوك كل نوع من أنواع الاقتراحات.
إنشاء اقتراح ميزانية حساب
يتيح لك إنشاء ميزانية حساب جديدة التحكّم في سلوك العميل المتعلّق بالإنفاق. استخدِم الرمز
AccountBudgetProposalService
لإنشاء رمز
AccountBudgetProposal
جديد. يجب ضبط
proposal_type
على
CREATE
لتحديد أنّه يجب إنشاء ميزانية جديدة. يُرجى الرجوع إلى قسم
الإدارة في هذا الدليل لمعرفة العمليات الأخرى.
تذكَّر استخدام إعداد الفوترة مع حساب دفعات لديك إذن بالكتابة فيه. يُرجى الرجوع إلى دليل إعداد الفوترة للاطّلاع على التفاصيل.
يوضّح المثال التالي كيفية إنشاء اقتراح ميزانية جديد.
Java
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.V18.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, customer_id, billing_setup_id): 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::V18::Resources::AccountBudgetProposal->new({ billingSetup => Google::Ads::GoogleAds::V18::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::V18::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; }
في طلبات اقتراحات ميزانية الحساب، تكون proposed_start_date_time
وproposed_end_date_time
دائمًا في المنطقة الزمنية لحساب العميل، ولا يمكنك تحديد منطقة زمنية.
يتم دائمًا قياس
الحدّ الأقصى المقترَح للإنفاق
بعملة الحساب، ويمكنك تحديده باستخدام وحدات "الميكرو"،
وبذلك يكون دولار أمريكي واحد = 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::V18::Services::AccountBudgetProposalService::AccountBudgetProposalOperation ->new({ remove => Google::Ads::GoogleAds::V18::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::V18::Resources::AccountBudgetProposal->new({ proposalType => UPDATE, accountBudget => $account_budget->{resourceName}, proposedSpendingLimitMicros => $account_budget->{proposedSpendingLimitMicros} + $increaseAmount}); my $account_budget_proposal_operation = Google::Ads::GoogleAds::V18::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::V18::Resources::AccountBudgetProposal->new({ billingSetup => Google::Ads::GoogleAds::V18::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::V18::Resources::AccountBudgetProposal->new({ billingSetup => Google::Ads::GoogleAds::V18::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::V18::Resources::AccountBudgetProposal->new({ billingSetup => Google::Ads::GoogleAds::V18::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::V18::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::V18::Resources::AccountBudgetProposal->new({ proposalType => REMOVE, accountBudget => $account_budget->{resourceName}); # Send request to Google Ads API (not shown).