W trosce o zapewnienie użytkownikom bezpiecznego i opartego na zaufaniu ekosystemu reklamowego oraz zapewnienie zgodności z nowymi przepisami Google wymaga od reklamodawców przejścia co najmniej 1 procesu weryfikacji.
Jeśli musisz przejść proces weryfikacji, może zostać wyznaczony termin jego zakończenia. Jeśli nie przejdziesz weryfikacji w wyznaczonym terminie, Twoje konto może zostać wstrzymane.
Możesz też przejść weryfikację, nawet jeśli nie jest ona wymagana.
IdentityVerificationService
oferuje metody umożliwiające:
- sprawdzać stan procesu weryfikacji konta klienta, w tym terminy;
- Rozpoczęcie procesu weryfikacji
Pobieranie stanu weryfikacji
Aby pobrać stan procesu weryfikacji tożsamości reklamodawcy na koncie klienta, wywołaj metodę 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.V18.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, customer_id): """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 = client.get_service("IdentityVerificationService") response = 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 = response.identity_verification[0] deadline = ( identity_verification.identity_verification_requirement.verification_completion_deadline_time ) progress = identity_verification.verification_progress.program_status print( f"Account {customer_id} has a verification completion deadline " f"of {deadline} and status {progress} for advertiser identity " "verification." ) return identity_verification
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; }
Jeśli konto klienta jest zarejestrowane w obowiązkowym programie weryfikacji tożsamości reklamodawcy, usługa zwraca niepustą odpowiedź zawierającą listę obiektów IdentityVerification
. Pusty tekst oznacza, że konto klienta nie musi przechodzić weryfikacji tożsamości reklamodawcy.
Interfejs Google Ads API obsługuje tylko program ADVERTISER_IDENTITY_VERIFICATION
, więc będzie to jedyny element na liście.
Obiekt IdentityVerification
zawiera te właściwości:
IdentityVerificationRequirement
opisujący terminy rozpoczęcia i ukończenia procesu weryfikacji.IdentityVerificationProgress
opisujący bieżący stan procesu weryfikacji. Może on też zawierać adres URL czynności, którą użytkownik musi wykonać, aby dokończyć proces weryfikacji.
Rozpocznij proces weryfikacji
Jeśli konto klienta jest zarejestrowane w obowiązkowym programie weryfikacji tożsamości reklamodawcy,GetIdentityVerification
zwróciło niepustą odpowiedź z terminem zakończenia procesu weryfikacji, możesz rozpocząć sesję weryfikacji, wywołując funkcję 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.V18.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, customer_id): """Starts the identity verification process. Args: client: An initialized GoogleAdsClient instance. customer_id: The client customer ID str. """ service = client.get_service("IdentityVerificationService") # Sends a request to start the identity verification process. service.start_identity_verification( customer_id=customer_id, verification_program=client.enums.IdentityVerificationProgramEnum.ADVERTISER_IDENTITY_VERIFICATION, )
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::V18::Services::IdentityVerificationService::StartIdentityVerificationRequest ->new({ customerId => $customer_id, verificationProgram => ADVERTISER_IDENTITY_VERIFICATION }); $api_client->AdvertiserIdentityVerificationService() ->start_identity_verification($request); }
Ta metoda zadziała tylko wtedy, gdy nie jest prowadzona inna sesja weryfikacji. Po rozpoczęciu sesji weryfikacji kolejne wywołania funkcji GetIdentityVerification
zwracają adres URL akcji, który użytkownik musi podać, aby dokończyć proces weryfikacji, oraz czas jego ważności.
Po upływie czasu ważności możesz ponownie zadzwonić pod numer StartIdentityVerification
, aby rozpocząć nową sesję weryfikacji.