Mengambil unit iklan dan detail aplikasi

Panduan ini menunjukkan cara melihat inventaris secara terprogram, termasuk item seperti aplikasi dan unit iklan.

Prasyarat

Detail aplikasi

Anda dapat melihat detail dan setelan aplikasi secara terprogram melalui AdMob API, seperti ID aplikasi, ID app store, dan platform. Untuk informasi tambahan, lihat accounts.apps.list

Unit Iklan

Unit iklan adalah kumpulan iklan yang ditampilkan sebagai hasil dari satu bagian iklan AdMob pada kode sumber. Untuk tambahan informasi selengkapnya, lihat accounts.adUnits.list.

Buat permintaan

Ada beberapa cara untuk membuat permintaan pertama Anda:

Library klien Java

Permintaan yang menggunakan library klien Java

  1. Muat file rahasia klien dan buat kredensial otorisasi.

    Saat pertama kali Anda melakukan langkah ini, Anda akan diminta untuk menyetujui prompt otorisasi di browser Anda. Sebelum menerima, pastikan Anda login dengan Akun Google yang memiliki akses ke AdMob API. Nama aplikasi akan diberi otorisasi untuk mengakses data atas nama akun mana pun saat ini sedang login.

    import com.google.api.client.auth.oauth2.Credential;
    import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp;
    import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver;
    import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow;
    import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets;
    import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
    import com.google.api.client.googleapis.util.Utils;
    import com.google.api.client.http.HttpTransport;
    import com.google.api.client.json.JsonFactory;
    import com.google.api.client.util.store.DataStoreFactory;
    import com.google.api.client.util.store.FileDataStoreFactory;
    import com.google.api.services.admob.v1.AdMob;
    
    ...
    
    /** Directory to store user credentials. */
    private static final java.io.File DATA_STORE_DIR =
        new java.io.File(System.getProperty("user.home"), ".store/admobapi_sample");
    
    private static final HttpTransport HTTP_TRANSPORT = Utils.getDefaultTransport();
    private static final JsonFactory JSON_FACTORY = Utils.getDefaultJsonFactory();
    
    // Load client secrets JSON file.
    String pathToClientSecretsFile = "INSERT_PATH_TO_CLIENT_SECRETS";
    GoogleClientSecrets clientSecrets =
        GoogleClientSecrets.load(
            JSON_FACTORY,
            Files.newBufferedReader(Paths.get(pathToClientSecretsFile), UTF_8)
        );
    
    // Set up the authorization code flow.
    //
    // Note: providing a DataStoreFactory allows auth credentials to be cached,
    // so they survive multiple runs of the program. This avoids prompting the
    // user for authorization every time the access token expires, by remembering
    // the refresh token.
    ImmutableSet<String> READONLY_SCOPE =
        ImmutableSet.of("https://www.googleapis.com/auth/admob.readonly");
    GoogleAuthorizationCodeFlow flow =
        new GoogleAuthorizationCodeFlow.Builder(
             HTTP_TRANSPORT, JSON_FACTORY, clientSecrets, READONLY_SCOPE)
            .setDataStoreFactory(dataStoreFactory)
            .build();
    
    // Build installed application credential.
    Credential credential =
        new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
    
  2. Buat klien AdMob resmi.

    // Create an AdMob client instance.
    AdMob admob =
        new AdMob.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential)
            .setApplicationName("admobapi-java-samples")
            .build();
    
  3. Mencantumkan aplikasi.

     ListAppsResponse response;
     String nextPageToken = null;
    
     do {
       // Create and execute the apps list request.
       response =
           adMob
               .accounts()
               .apps()
               .list(ACCOUNT_NAME)
               .setPageSize(PAGE_SIZE)
               .setPageToken(nextPageToken)
               .execute();
    
       // Display apps.
       List<App> apps = response.getApps();
    
       for (App app : apps) {
         AppLinkedAppInfo linkedAppInfo = app.getLinkedAppInfo();
    
         System.out.printf(
             "App Name: %s, "
                 + "App ID: %s, "
                 + "App Platform: %s, "
                 + "App Store ID: %s, "
                 + "App Store Display Name: %s, "
                 + "App Manual Info: %s%n",
             app.getName(),
             app.getAppId(),
             app.getPlatform(),
             linkedAppInfo == null ? "" : linkedAppInfo.getAppStoreId(),
             linkedAppInfo == null ? "" : linkedAppInfo.getDisplayName(),
             app.getManualAppInfo().getDisplayName());
       }
    
       // Update the next page token.
       nextPageToken = response.getNextPageToken();
     } while (nextPageToken != null && !nextPageToken.isEmpty());
    
  4. Cantumkan unit iklan.

     ListAdUnitsResponse response;
     String nextPageToken = null;
    
     do {
       // Create and execute the ad units list request.
       response =
           adMob
               .accounts()
               .adUnits()
               .list(ACCOUNT_NAME)
               .setPageSize(PAGE_SIZE)
               .setPageToken(nextPageToken)
               .execute();
    
       // Display ad units.
       List<AdUnit> adUnits = response.getAdUnits();
       for (AdUnit adUnit : adUnits) {
         System.out.printf(
             "Ad Unit Display Name: %s, "
                 + "Ad Unit Name: %s, "
                 + "Ad Unit ID: %s, "
                 + "Ad Unit Format: %s, "
                 + "Ad Unit App ID: %s, "
                 + "Ad Unit Ad Types: %s%n",
             adUnit.getDisplayName(),
             adUnit.getName(),
             adUnit.getAdUnitId(),
             adUnit.getAdFormat(),
             adUnit.getAppId(),
             adUnit.getAdTypes());
       }
    
       // Update the next page token.
       nextPageToken = response.getNextPageToken();
     } while (nextPageToken != null && !nextPageToken.isEmpty());
    

Library klien PHP

Permintaan yang menggunakan library klien PHP

  1. Muat file secret klien dan buat klien AdMob resmi.

    Saat pertama kali Anda melakukan langkah ini, Anda akan diminta untuk menyetujui prompt otorisasi di browser Anda. Sebelum menerima, pastikan Anda login dengan Akun Google yang memiliki akses ke AdMob API. Nama aplikasi akan diberi otorisasi untuk mengakses data atas nama akun mana pun saat ini sedang login.

    // Create an AdMob Client.
    $client = new Google_Client();
    $client->addScope('https://www.googleapis.com/auth/admob.readonly');
    $client->setApplicationName('AdMob API PHP Quickstart');
    $client->setAccessType('offline');
    
    // Be sure to replace the contents of client_secrets.json with your developer
    // credentials.
    $client->setAuthConfig('client_secrets.json');
    
    // Create the URL for the authorization prompt.
    $authUrl = $client->createAuthUrl();
    
    // Once the authorization prompt has been accepted, exchange the
    // authorization code for an access and refresh token.
    $client->authenticate($_GET['code']);
    $client->getAccessToken();
    
  2. Buat objek layanan AdMob.

    // Create an AdMob service object on which to run the requests.
    $service = new Google_Service_AdMob($client);
    
  3. Mencantumkan aplikasi.

     // Create the page token variable.
     $pageToken = '';
    
     $optParams['pageSize'] = $maxPageSize;
    
     do {
         $optParams['pageToken'] = $pageToken;
         // Get list of apps.
         $response = $service->accounts_apps->listAccountsApps($accountName, $optParams);
         $apps = $response->getApps();
    
         // Print list of apps.
         if (!empty($apps)) {
             foreach ($apps as $app) {
                 if(!empty($app->getLinkedAppInfo)){
                     $appStoreId = $app->getLinkedAppInfo()->getAppStoreId();
                     $displayName = $app->getLinkedAppInfo()->getDisplayName();
                 } else {
                     $appStoreId = '';
                     $displayName = '';
                 }
                 printf(
                   "App Name: '%s' \n"
                   ."App ID: '%s' \n"
                   ."App Platform: '%s' \n"
                   ."App Store ID: '%s' \n"
                   ."App Store Display Name: '%s' \n"
                   ."App Display Name: '%s' \n\n",
                   $app->getName(),
                   $app->getAppId(),
                   $app->getPlatform(),
                   $appStoreId,
                   $displayName,
                   $app->getManualAppInfo()->getDisplayName(),
                 );
             }
         }
         $pageToken = $response->getNextPageToken();
     } while ($pageToken);
    
  4. Cantumkan unit iklan.

     // Create the page token variable.
     $pageToken = '';
    
     $optParams['pageSize'] = $maxPageSize;
    
     do {
         $optParams['pageToken'] = $pageToken;
         // Get list of ad units.
         $response = $service->accounts_adUnits->listAccountsAdUnits($accountName, $optParams);
         $adUnits = $response->adUnits;
    
         // Print list of ad units.
         if (!empty($adUnits)) {
             foreach ($adUnits as $adUnit) {
                 printf(
                   "Ad Unit Display Name: '%s' \n"
                   ."Ad Unit Name: '%s' \n"
                   ."Ad Unit ID: '%s' \n"
                   ."Ad Unit Format: '%s' \n"
                   ."Ad Unit App ID: '%s' \n"
                   ."Ad Unit Ad Types: '%s' \n\n",
                   $adUnit->getDisplayName(),
                   $adUnit->getName(),
                   $adUnit->getAdUnitId(),
                   $adUnit->getAdFormat(),
                   $adUnit->getAppId(),
                   json_encode($adUnit->getAdTypes()),
                     );
             }
         }
         $pageToken = $response->getNextPageToken();
     } while ($pageToken);
    

Library klien Python

Permintaan yang menggunakan library klien Python

  1. Muat file rahasia klien dan buat kredensial otorisasi.

    Saat pertama kali Anda melakukan langkah ini, Anda akan diminta untuk menyetujui prompt otorisasi di browser Anda. Sebelum menerima, pastikan Anda login dengan Akun Google yang memiliki akses ke AdMob API. Nama aplikasi akan diberi otorisasi untuk mengakses data atas nama akun mana pun saat ini sedang login.

    import os
    
    from google_auth_oauthlib.flow import Flow
    from googleapiclient.discovery import build
    from google.auth.transport.requests import Request
    
    ...
    
    # Authenticate using the client_secrets file.
    client_secrets = os.path.join(
        os.path.dirname(__file__), 'client_secrets.json')
    flow = Flow.from_client_secrets_file(
        client_secrets,
        scopes=['https://www.googleapis.com/auth/admob.readonly'],
        redirect_uri='urn:ietf:wg:oauth:2.0:oob')
    
    # Redirect the user to auth_url on your platform.
    auth_url, _ = flow.authorization_url()
    print('Please go to this URL: {}\n'.format(auth_url))
    
    # The user will get an authorization code. This code is used to get the
    # access token.
    code = input('Enter the authorization code: ')
    flow.fetch_token(code=code)
    credentials = flow.credentials
    
  2. Buat objek layanan AdMob.

    // Create an AdMob service object on which to run the requests.
    admob = build('admob', 'v1', credentials=credentials)
    
  3. Mencantumkan aplikasi.

    next_page_token = ''
    while True:
      # Execute the request.
      response = service.accounts().apps().list(
          pageSize=PAGE_SIZE,
          pageToken=next_page_token,
          parent='accounts/{}'.format(publisher_id)).execute()
    
      # Check if the response is empty.
      if not response:
        break
    
      # Print the result.
      apps = response['apps']
      for app in apps:
        print('App ID: ' + app['appId'])
        print('App Platform: ' + app['platform'])
        print('App Name: ' + app['name'])
    
        if 'linkedAppInfo' in app:
          linked_app_info = app['linkedAppInfo']
          print('App Store ID: ' + linked_app_info['appStoreId'])
          print('App Store Display Name: ' + linked_app_info['displayName'])
    
        if 'manualAppInfo' in app:
          manual_app_info = app['manualAppInfo']
          print('App Manual Info: ' + manual_app_info['displayName'])
    
      if 'nextPageToken' not in response:
        break
    
      # Update the next page token.
      next_page_token = response['nextPageToken']
    
  4. Cantumkan unit iklan.

    next_page_token = ''
    while True:
      # Execute the request.
      response = service.accounts().adUnits().list(
          pageSize=PAGE_SIZE,
          pageToken=next_page_token,
          parent='accounts/{}'.format(publisher_id)).execute()
    
      # Check if the response is empty.
      if not response:
        break
    
      # Print the result.
      ad_units = response['adUnits']
      for ad_unit in ad_units:
        print('Ad Unit Display Name: ' + ad_unit['displayName'])
        print('Ad Unit Name: ' + ad_unit['name'])
        print('Ad Unit ID: ' + ad_unit['adUnitId'])
        print('Ad Unit Format: ' + ad_unit['adFormat'])
        print('Ad Unit App ID: ' + ad_unit['appId'])
        print('Ad Unit Format: ' + ', '.join(ad_unit['adTypes']))
    
      if 'nextPageToken' not in response:
        break
      # Update the next page token.
      next_page_token = response['nextPageToken']
    

curl (baris perintah)

Permintaan yang menggunakan curl

  1. Muat file rahasia klien dan buat kredensial otorisasi.

    Saat pertama kali Anda melakukan langkah ini, Anda akan diminta untuk menyetujui prompt otorisasi di browser Anda. Sebelum menerima, pastikan Anda login dengan Akun Google yang memiliki akses ke AdMob API. Nama aplikasi akan diberi otorisasi untuk mengakses data atas nama mana pun akun Anda saat ini masuk.

    Untuk autentikasi dan otorisasi, sebaiknya gunakan oauth2l, alat command line sederhana untuk bekerja dengan Google OAuth 2.0. Instal oauth2l dan jalankan di bawah, mengganti path_to_credentials_json dengan jalur ke file credentials.json yang Anda download saat mendaftarkan aplikasi cloud kita. Untuk proses pertama, perintah memandu Anda melalui alur otorisasi OAuth 2.0. Operasi berikutnya akan memuat ulang token secara otomatis.

    oauth2l header --json path_to_credentials_json \
    --scope admob.readonly
    
  2. Mencantumkan aplikasi.

    curl -X GET https://admob.googleapis.com/v1/accounts/pub-XXXXXXXXXXXXXXXX/apps \
     -H "$(oauth2l header --json path_to_credentials_json \
     --scope admob.readonly)"
    

    Contoh respons:

    {
     "app": [
       {
         "name": "accounts/pub-XXXXXXXXXXXXXXXX/apps/XXXXXXXXXX",
         "appId": "ca-app-pub-XXXXXXXXXXXXXXXX~XXXXXXXXXX",
         "platform": "ANDROID",
         "manualAppInfo": {
           "displayName": "Example App"
         },
         "linkedAppInfo": {
           "appStoreId": "com.example.myApp",
           "displayName": "Example App",
         }
       }
     ]
    }
    
  3. Cantumkan unit iklan.

    curl -X GET https://admob.googleapis.com/v1/accounts/pub-XXXXXXXXXXXXXXXX/adUnits \
    -H "$(oauth2l header --json path_to_credentials_json \
    --scope admob.readonly)"
    

    Contoh respons:

    {
     "adUnit": [
       {
         "name": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/XXXXXXXXXX",
         "adUnitId": "ca-app-pub-XXXXXXXXXXXXXXXX/XXXXXXXXXX",
         "appId": "ca-app-pub-XXXXXXXXXXXXXXXX~XXXXXXXXXX",
         "displayName": "AdMob Rewarded",
         "adFormat": "REWARDED",
    
         "adTypes": ["RICH_MEDIA", "VIDEO"],
       }
     ]
    }