درستی‌سنجی هویت آگهی‌دهنده

برای ارائه بوم‌سازگان آگهی امن و قابل‌اعتماد به کاربران و برای رعایت مقررات نوظهور، 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 API فقط از برنامه 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 تماس بگیرید تا جلسه درستی‌سنجی جدیدی را شروع کنید.