لتوفير منظومة إعلانية متكاملة وآمنة وموثوقة للمستخدمين، والالتزام باللوائح التنظيمية الناشئة، ستطلب 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
program، لذا سيكون هذا هو العنصر الوحيد في القائمة.
يحتوي عنصر 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
مرة أخرى لبدء جلسة إثبات ملكية جديدة.