برای ارائه بومسازگان آگهی امن و قابلاعتماد به کاربران و برای رعایت مقررات نوظهور، Google اکنون از تبلیغکنندگان میخواهد یک یا چند برنامه درستیسنجی را تکمیل کنند.
اگر ملزم به تکمیل برنامه درستیسنجی باشید، ممکن است برای فرایند درستیسنجی مهلت تعیین شود. اگر مهلت مقرر پیشاز تکمیل درستیسنجی بهپایان برسد، حسابتان ممکن است موقتاً متوقف شود.
همچنین میتوانید بدون اینکه ملزم به انجام این کار باشید، بهطور پیشگیرانه درستیسنجی را انجام دهید.
IdentityVerificationService
روشهایی برای انجام کارهای زیر ارائه میدهد:
- بازیابی وضعیت فرایند درستیسنجی برای حساب مشتری، ازجمله هرگونه مهلت زمانی
- شروع فرایند درستیسنجی
بازیابی وضعیت درستیسنجی
برای بازیابی وضعیت فرایند درستیسنجی هویت تبلیغکننده برای حساب مشتری، روش GetIdentityVerification را فراخوانی کنید:
جاوا
private IdentityVerification getIdentityVerification( long customerId, IdentityVerificationServiceClient identityVerificationServiceClient) { GetIdentityVerificationResponse response = identityVerificationServiceClient.getIdentityVerification(Long.toString(customerId)); if (response.getIdentityVerificationCount() == 0) { return null; } IdentityVerification identityVerification = response.getIdentityVerification(0); String deadline = identityVerification .getIdentityVerificationRequirement() .getVerificationCompletionDeadlineTime(); IdentityVerificationProgress progress = identityVerification.getVerificationProgress(); System.out.printf( "Account %d has a verification completion deadline of '%s' and status '%s' for advertiser" + " identity verification.%n", customerId, deadline, progress.getProgramStatus()); return identityVerification; }
C#
private static IdentityVerification GetIdentityVerification( GoogleAdsClient client, long customerId) { IdentityVerificationServiceClient identityVerificationService = client.GetService(Services.V26.IdentityVerificationService); try { GetIdentityVerificationResponse response = identityVerificationService.GetIdentityVerification( new GetIdentityVerificationRequest() { CustomerId = customerId.ToString() } ); if (response.IdentityVerification.Count == 0) { return null; } IdentityVerification identityVerification = response.IdentityVerification[0]; string deadline = identityVerification.IdentityVerificationRequirement.VerificationCompletionDeadlineTime; IdentityVerificationProgress identityVerificationProgress = identityVerification.VerificationProgress; Console.WriteLine($"Account {customerId} has a verification completion " + $"deadline of {deadline} and status " + $"{identityVerificationProgress.ProgramStatus} for advertiser identity " + "verification."); return identityVerification; } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
private static function getIdentityVerification( int $customerId, IdentityVerificationServiceClient $identityVerificationServiceClient ) { // Gets an identity verification response. $response = $identityVerificationServiceClient->getIdentityVerification( GetIdentityVerificationRequest::build($customerId) ); if (empty($response->getIdentityVerification())) { return null; } // Prints some details about the retrieved identity verification. /** @var IdentityVerification $identityVerification */ $identityVerification = $response->getIdentityVerification()->getIterator()->current(); $deadline = $identityVerification->getIdentityVerificationRequirement() ->getVerificationCompletionDeadlineTime(); $progress = $identityVerification->getVerificationProgress(); printf( "Account %d has a verification completion deadline of '%s' and status '%s' for" . " advertiser identity verification.%s", $customerId, $deadline, IdentityVerificationProgramStatus::name($progress->getProgramStatus()), PHP_EOL ); return $identityVerification; }
Python
def get_identity_verification( client: GoogleAdsClient, customer_id: str ) -> Optional[IdentityVerification]: """Retrieves the status of the advertiser identity verification process. Args: client: An initialized GoogleAdsClient instance. customer_id: The client customer ID str. Returns: either an IdentityVerification instance, or None """ service: IdentityVerificationServiceClient = client.get_service( "IdentityVerificationService" ) response: GetIdentityVerificationResponse = ( service.get_identity_verification(customer_id=customer_id) ) # Check if the response contains any indentity verifications. If not, then # None will be returned. if response.identity_verification: identity_verification_data: IdentityVerification = ( response.identity_verification[0] ) deadline: str = ( identity_verification_data.identity_verification_requirement.verification_completion_deadline_time ) # progress is an enum member progress: ( IdentityVerificationProgramStatusEnum.IdentityVerificationProgramStatus ) = identity_verification_data.verification_progress.program_status print( f"Account {customer_id} has a verification completion deadline " "of {deadline} and status {progress.name} for advertiser identity " # Use .name for string representation of enum "verification." ) return identity_verification_data
Ruby
def get_identity_verification(client, customer_id) response = client.service.identity_verification.get_identity_verification( customer_id: customer_id ) return nil if response.nil? || response.identity_verification.empty? identity_verification = response.identity_verification.first deadline = identity_verification. identity_verification_requirement. verification_completion_deadline_time progress = identity_verification.verification_progress puts "Account #{customer_id} has a verification completion deadline " \ "of #{deadline} and status #{progress.program_status} for advertiser " \ "identity verification." identity_verification end
پرل
sub get_identity_verification { my ($api_client, $customer_id) = @_; my $response = $api_client->IdentityVerificationService()->get({ customerId => $customer_id }); if (!defined $response->{identityVerification}) { printf "Account %s does not require advertiser identity verification.", $customer_id; return; } my $identity_verification = $response->{identityVerification}[0]; my $deadline = $identity_verification->{identityVerificationRequirement} {verificationCompletionDeadlineTime}; my $identity_verification_progress = $identity_verification->{verificationProgress}; printf "Account %s has a verification completion deadline of %s and status " . "%s for advertiser identity verification.", $customer_id, $deadline, $identity_verification_progress->{programStatus}; return $identity_verification; }
curl
اگر حساب مشتری در برنامه اجباری درستیسنجی هویت آگهیدهنده ثبتنام شده باشد، سرویس پاسخی غیرخالی حاوی فهرستی از اشیاء IdentityVerification برمیگرداند. پاسخ خالی نشان میدهد که
حساب مشتری ملزم به گذراندن درستیسنجی هویت آگهیدهنده
نیست.
«میانای برنامهسازی کاربردی Google Ads» فقط از ADVERTISER_IDENTITY_VERIFICATION
برنامه پشتیبانی میکند، بنابراین این برنامه تنها مورد در فهرست خواهد بود.
شیء IdentityVerification شامل داراییهای زیر است:
IdentityVerificationRequirementکه مهلتهای شروع و تکمیل فرایند درستیسنجی را شرح میدهدIdentityVerificationProgressکه وضعیت فعلی فرایند درستیسنجی را شرح میدهد: این میتواند شامل نشانی وب کنش برای کاربر برای تکمیل فرایند درستیسنجی نیز باشد.
شروع کردن فرایند درستیسنجی
اگر حساب مشتری در برنامه درستیسنجی اجباری هویت تبلیغکننده ثبت شده باشد (یعنی GetIdentityVerification پاسخ غیرخالی با مهلت تکمیل فرایند درستیسنجی برگردانده باشد)، یا اگر میخواهید وقتی GetIdentityVerification پاسخ خالی برمیگرداند درستیسنجی پیشگیرانه انجام دهید، میتوانید با فراخواندن StartIdentityVerification جلسه درستیسنجی را شروع کنید:
جاوا
private void startIdentityVerification( long customerId, IdentityVerificationServiceClient identityVerificationServiceClient) { // Sends a request to start the identity verification process. identityVerificationServiceClient.startIdentityVerification( Long.toString(customerId), IdentityVerificationProgram.ADVERTISER_IDENTITY_VERIFICATION); }
C#
private static void StartIdentityVerification(GoogleAdsClient client, long customerId) { IdentityVerificationServiceClient identityVerificationService = client.GetService(Services.V26.IdentityVerificationService); StartIdentityVerificationRequest request = new StartIdentityVerificationRequest() { CustomerId = customerId.ToString(), VerificationProgram = IdentityVerificationProgram.AdvertiserIdentityVerification }; try { identityVerificationService.StartIdentityVerification(request); } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
private static function startIdentityVerification( int $customerId, IdentityVerificationServiceClient $identityVerificationServiceClient ): void { // Sends a request to start the identity verification process. $identityVerificationServiceClient->startIdentityVerification( StartIdentityVerificationRequest::build( $customerId, IdentityVerificationProgram::ADVERTISER_IDENTITY_VERIFICATION ) ); }
Python
def start_identity_verification( client: GoogleAdsClient, customer_id: str ) -> None: """Starts the identity verification process. Args: client: An initialized GoogleAdsClient instance. customer_id: The client customer ID str. """ service: IdentityVerificationServiceClient = client.get_service( "IdentityVerificationService" ) # Sends a request to start the identity verification process. # The verification_program argument expects an IdentityVerificationProgramEnum value (int). service.start_identity_verification( customer_id=customer_id, verification_program=client.enums.IdentityVerificationProgramEnum.ADVERTISER_IDENTITY_VERIFICATION.value, )
Ruby
def start_identity_verification(client, customer_id) client.service.identity_verification.start_identity_verification( customer_id: customer_id, verification_program: :ADVERTISER_IDENTITY_VERIFICATION, ) end
پرل
sub start_identity_verification { my ($api_client, $customer_id) = @_; my $request = Google::Ads::GoogleAds::V26::Services::IdentityVerificationService::StartIdentityVerificationRequest ->new({ customerId => $customer_id, verificationProgram => ADVERTISER_IDENTITY_VERIFICATION }); $api_client->AdvertiserIdentityVerificationService() ->start_identity_verification($request); }
curl
این کار تنها درصورتی موفقیتآمیز خواهد بود که جلسه درستیسنجی دیگری درحال انجام نباشد.
اگر جلسهای درحال انجام باشد، تماس خطای
IdentityVerificationError.VERIFICATION_ALREADY_STARTED برمیگرداند.
پساز شروع جلسه درستیسنجی، تماسهای بعدی با
GetIdentityVerification نشانی وب کنش را برای کاربر برمیگرداند تا
فرایند درستیسنجی و زمان انقضای نشانی وب کنش را تکمیل کند.
پساز گذشتن از زمان انقضا، میتوانید دوباره با StartIdentityVerification
تماس بگیرید تا جلسه درستیسنجی جدیدی را شروع کنید.