כדי לספק למשתמשים סביבה עסקית בטוחה ומהימנה לפרסום מודעות, וכדי לפעול בהתאם לתקנות החדשות, Google דורשת עכשיו מהמפרסמים להשלים תוכנית אימות אחת או יותר.
אם אתם נדרשים להשלים תוכנית אימות, יכול להיות שייקבע תאריך יעד לתהליך האימות. אם המועד האחרון יחלוף בלי שהאימות יושלם, יכול להיות שהחשבון יושהה.
אתם יכולים גם לבצע אימות באופן יזום, גם אם לא נדרשת מכם לעשות זאת. ב-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.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; }
אם חשבון הלקוח רשום בתוכנית החובה לאימות הזהות של המפרסם, השירות מחזיר תגובה לא ריקה שמכילה רשימה של אובייקטים מסוג 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.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); }
הקריאה תצליח רק אם אין סשן אימות אחר בתהליך. אחרי שמתחילים סשן אימות, קריאות חוזרות ל-GetIdentityVerification
יחזירו את כתובת ה-URL של הפעולה שבה המשתמש צריך להשלים את תהליך האימות ואת זמן התפוגה של כתובת ה-URL של הפעולה.
אחרי שפג תוקף הזמן, אפשר לבצע שוב קריאה ל-StartIdentityVerification
כדי להתחיל סשן אימות חדש.