Google กำหนดให้ผู้ลงโฆษณาดำเนินการตามโปรแกรมการยืนยันตัวตนอย่างน้อย 1 รายการให้สำเร็จ เพื่อสร้างระบบนิเวศของโฆษณาที่ปลอดภัยและน่าเชื่อถือสำหรับผู้ใช้ และเป็นไปตาม กฎระเบียบใหม่ๆ ที่มีขึ้น
หากคุณต้องเข้าร่วมโปรแกรมการยืนยันให้เสร็จสมบูรณ์ ระบบอาจกำหนดกำหนดเวลาสำหรับกระบวนการยืนยัน หากเลยกำหนดเวลาโดยที่ยังยืนยันตัวตนไม่เสร็จสมบูรณ์ ระบบอาจหยุดให้บริการบัญชีของคุณชั่วคราว
นอกจากนี้ คุณยังสามารถเข้ารับการยืนยันได้โดยไม่ต้องรอให้ระบบขอให้ดำเนินการ
IdentityVerificationService
มีวิธีการดำเนินการต่อไปนี้
- ดึงสถานะของกระบวนการยืนยันตัวตนสำหรับบัญชีลูกค้า รวมถึงกำหนดเวลา
- เริ่มกระบวนการยืนยันตัวตน
เรียกดูสถานะการยืนยัน
หากต้องการดึงข้อมูลสถานะของกระบวนการยืนยันตัวตนของผู้ลงโฆษณาสำหรับบัญชีลูกค้า ให้เรียกใช้เมธอด GetIdentityVerification
Java
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.V21.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
Perl
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; }
หากบัญชีลูกค้าลงทะเบียนในโปรแกรมยืนยันตัวตนผู้ลงโฆษณาภาคบังคับ
บริการจะแสดงการตอบกลับที่ไม่ว่างเปล่าซึ่งมีรายการออบเจ็กต์ IdentityVerification
การตอบกลับที่ว่างเปล่าแสดงว่าบัญชีลูกค้าไม่จำเป็นต้องเข้ารับการ
ยืนยันตัวตนของผู้ลงโฆษณา
Google Ads API รองรับเฉพาะADVERTISER_IDENTITY_VERIFICATION
โปรแกรม ดังนั้นจึงเป็นรายการเดียวในรายการ
ออบเจ็กต์ IdentityVerification
มีพร็อพเพอร์ตี้ต่อไปนี้
IdentityVerificationRequirement
ที่อธิบายกำหนดเวลาในการ เริ่มและดำเนินการตามกระบวนการยืนยันตัวตนให้เสร็จสมบูรณ์IdentityVerificationProgress
ที่อธิบายสถานะปัจจุบันของกระบวนการยืนยัน ซึ่งอาจรวมถึง URL การดำเนินการสำหรับผู้ใช้เพื่อทำกระบวนการยืนยันให้เสร็จสมบูรณ์ด้วย
เริ่มขั้นตอนการยืนยัน
หากบัญชีลูกค้าลงทะเบียนในโปรแกรมการยืนยันตัวตนผู้ลงโฆษณาภาคบังคับ
GetIdentityVerification
ส่งคืนการตอบกลับที่ไม่ว่างเปล่า
พร้อมกำหนดเวลาสำหรับการดำเนินการกระบวนการยืนยันให้เสร็จสมบูรณ์ คุณสามารถเริ่ม
เซสชันการยืนยันได้โดยการเรียกใช้ StartIdentityVerification
ดังนี้
Java
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.V21.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
Perl
sub start_identity_verification { my ($api_client, $customer_id) = @_; my $request = Google::Ads::GoogleAds::V21::Services::IdentityVerificationService::StartIdentityVerificationRequest ->new({ customerId => $customer_id, verificationProgram => ADVERTISER_IDENTITY_VERIFICATION }); $api_client->AdvertiserIdentityVerificationService() ->start_identity_verification($request); }
การดำเนินการนี้จะสำเร็จก็ต่อเมื่อไม่มีเซสชันการยืนยันอื่นที่กำลังดำเนินการอยู่
เมื่อเริ่มเซสชันการยืนยันแล้ว การเรียกใช้ GetIdentityVerification
ในภายหลังจะแสดง URL การดำเนินการเพื่อให้ผู้ใช้ดำเนินการ
กระบวนการยืนยันให้เสร็จสมบูรณ์และเวลาหมดอายุของ URL การดำเนินการ
หลังจากเวลาหมดอายุแล้ว คุณสามารถโทรหา StartIdentityVerification
อีกครั้งเพื่อเริ่มเซสชันการยืนยันใหม่