Verifikasi identitas pengiklan

Untuk menyediakan ekosistem iklan yang aman dan tepercaya bagi pengguna serta mematuhi peraturan yang baru muncul, Google kini mewajibkan pengiklan untuk menyelesaikan satu atau beberapa program verifikasi.

Jika Anda diwajibkan untuk menyelesaikan program verifikasi, batas waktu mungkin ditetapkan untuk proses verifikasi. Jika batas waktu terlewati tanpa verifikasi selesai, akun Anda dapat dijeda.

Anda juga dapat melakukan verifikasi secara proaktif tanpa diwajibkan untuk melakukannya. IdentityVerificationService menawarkan metode untuk melakukan hal berikut:

  • Mengambil status proses verifikasi untuk akun pelanggan, termasuk tenggat waktu
  • Memulai proses verifikasi

Mengambil status verifikasi

Untuk mengambil status proses verifikasi identitas pengiklan untuk akun pelanggan, panggil metode 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;
}
      

Jika akun pelanggan terdaftar dalam program verifikasi identitas pengiklan wajib, layanan akan menampilkan respons yang tidak kosong yang berisi daftar objek IdentityVerification. Respons kosong menunjukkan bahwa akun pelanggan tidak diwajibkan menjalani verifikasi identitas pengiklan.

Google Ads API hanya mendukung program ADVERTISER_IDENTITY_VERIFICATION sehingga program tersebut akan menjadi satu-satunya item dalam daftar.

Objek IdentityVerification berisi properti berikut:

Mulai proses verifikasi

Jika akun pelanggan terdaftar dalam program verifikasi identitas pengiklan wajib —GetIdentityVerification menampilkan respons yang tidak kosong dengan batas waktu penyelesaian proses verifikasi, Anda dapat memulai sesi verifikasi dengan memanggil 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);
}
      

Tindakan ini hanya akan berhasil jika tidak ada sesi verifikasi lain yang sedang berlangsung; setelah Anda memulai sesi verifikasi, panggilan berikutnya ke GetIdentityVerification akan menampilkan URL tindakan bagi pengguna untuk menyelesaikan proses verifikasi dan waktu habis masa berlaku URL tindakan.

Setelah waktu habis masa berlaku, Anda dapat memanggil StartIdentityVerification lagi untuk memulai sesi verifikasi baru.