คู่มือนี้แสดงวิธีดูสินค้าคงคลังรวมถึงสินค้าแบบเป็นโปรแกรม เช่น แอปและหน่วยโฆษณาของคุณ
ข้อกำหนดเบื้องต้น
รายละเอียดแอป
คุณสามารถดูรายละเอียดและการตั้งค่าของแอปแบบเป็นโปรแกรมได้ผ่าน AdMob
API เช่น รหัสแอป รหัส App Store และแพลตฟอร์ม สำหรับข้อมูลเพิ่มเติม โปรดดู
accounts.apps.list
หน่วยโฆษณา
หน่วยโฆษณาคือชุดของโฆษณาที่แสดงเนื่องมาจากโฆษณา AdMob 1 ชิ้น
โค้ด สำหรับข้อมูลเพิ่มเติม
ดูข้อมูลได้ที่ accounts.adUnits.list
ส่งคำขอ
คุณส่งคำขอแรกได้หลายวิธีดังนี้
ไลบรารีของไคลเอ็นต์ Java
คำขอที่ใช้ไลบรารีไคลเอ็นต์ Java
โหลดไฟล์รหัสลับไคลเอ็นต์และสร้างข้อมูลเข้าสู่ระบบการให้สิทธิ์
ครั้งแรกที่คุณทำขั้นตอนนี้ ระบบจะขอให้คุณยอมรับ ข้อความแจ้งการให้สิทธิ์ในเบราว์เซอร์ของคุณ ก่อนยอมรับ โปรดตรวจสอบว่าคุณได้ ลงชื่อเข้าใช้ด้วยบัญชี Google ที่มีสิทธิ์เข้าถึง AdMob API บัญชี แอปพลิเคชันจะได้รับอนุญาตให้เข้าถึงข้อมูลในนามของบัญชีใดก็ตาม ลงชื่อเข้าใช้อยู่ในขณะนี้
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");
สร้างลูกค้า AdMob ที่ได้รับอนุญาต
// Create an AdMob client instance. AdMob admob = new AdMob.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential) .setApplicationName("admobapi-java-samples") .build();
แสดงรายการแอป
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());
แสดงรายการหน่วยโฆษณา
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());
ไลบรารีของไคลเอ็นต์ PHP
คำขอที่ใช้ไลบรารีไคลเอ็นต์ PHP
โหลดไฟล์รหัสลับไคลเอ็นต์และสร้างไคลเอ็นต์ AdMob ที่ได้รับอนุญาต
ครั้งแรกที่คุณทำขั้นตอนนี้ ระบบจะขอให้คุณยอมรับ ข้อความแจ้งการให้สิทธิ์ในเบราว์เซอร์ของคุณ ก่อนยอมรับ โปรดตรวจสอบว่าคุณได้ ลงชื่อเข้าใช้ด้วยบัญชี Google ที่มีสิทธิ์เข้าถึง AdMob API บัญชี แอปพลิเคชันจะได้รับอนุญาตให้เข้าถึงข้อมูลในนามของบัญชีใดก็ตาม ลงชื่อเข้าใช้อยู่ในขณะนี้
// 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();
สร้างออบเจ็กต์บริการ AdMob
// Create an AdMob service object on which to run the requests. $service = new Google_Service_AdMob($client);
แสดงรายการแอป
// 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);
แสดงรายการหน่วยโฆษณา
// 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);
ไลบรารีของไคลเอ็นต์ Python
คำขอที่ใช้ไลบรารีของไคลเอ็นต์ Python
โหลดไฟล์รหัสลับไคลเอ็นต์และสร้างข้อมูลเข้าสู่ระบบการให้สิทธิ์
ครั้งแรกที่คุณทำขั้นตอนนี้ ระบบจะขอให้คุณยอมรับ ข้อความแจ้งการให้สิทธิ์ในเบราว์เซอร์ของคุณ ก่อนยอมรับ โปรดตรวจสอบว่าคุณได้ ลงชื่อเข้าใช้ด้วยบัญชี Google ที่มีสิทธิ์เข้าถึง AdMob API บัญชี แอปพลิเคชันจะได้รับอนุญาตให้เข้าถึงข้อมูลในนามของบัญชีใดก็ตาม ลงชื่อเข้าใช้อยู่ในขณะนี้
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
สร้างออบเจ็กต์บริการ AdMob
// Create an AdMob service object on which to run the requests. admob = build('admob', 'v1', credentials=credentials)
แสดงรายการแอป
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']
แสดงรายการหน่วยโฆษณา
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 (บรรทัดคำสั่ง)
คำขอที่ใช้ curl
โหลดไฟล์รหัสลับไคลเอ็นต์และสร้างข้อมูลเข้าสู่ระบบการให้สิทธิ์
ครั้งแรกที่คุณทำขั้นตอนนี้ ระบบจะขอให้คุณยอมรับ ข้อความแจ้งการให้สิทธิ์ในเบราว์เซอร์ของคุณ ก่อนยอมรับ โปรดตรวจสอบว่าคุณได้ ลงชื่อเข้าใช้ด้วยบัญชี Google ที่มีสิทธิ์เข้าถึง AdMob API บัญชี แอปพลิเคชันจะได้รับอนุญาตให้เข้าถึงข้อมูลในนามของ ลงชื่อเข้าใช้บัญชีอยู่ในขณะนี้
สำหรับการตรวจสอบสิทธิ์และการให้สิทธิ์ เราขอแนะนำให้ใช้ oauth2l ซึ่งเป็นเครื่องมือบรรทัดคำสั่งที่เรียบง่ายสำหรับ การทำงานกับ Google OAuth 2.0 ติดตั้ง oauth2l และเรียกใช้ ด้านล่าง โดยแทนที่ path_to_credentials_json ด้วยเส้นทาง ลงในไฟล์
credentials.json
ที่คุณดาวน์โหลดเมื่อลงทะเบียน แอปพลิเคชันระบบคลาวด์ สำหรับการเรียกใช้ครั้งแรก คำสั่งจะแนะนำคุณตลอดขั้นตอน ขั้นตอนการให้สิทธิ์ OAuth 2.0 การเรียกใช้ครั้งต่อๆ ไปจะรีเฟรชโทเค็น โดยอัตโนมัติoauth2l header --json path_to_credentials_json \ --scope admob.readonly
แสดงรายการแอป
curl -X GET https://admob.googleapis.com/v1/accounts/pub-XXXXXXXXXXXXXXXX/apps \ -H "$(oauth2l header --json path_to_credentials_json \ --scope admob.readonly)"
ตัวอย่างคำตอบ
{ "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", } } ] }
แสดงรายการหน่วยโฆษณา
curl -X GET https://admob.googleapis.com/v1/accounts/pub-XXXXXXXXXXXXXXXX/adUnits \ -H "$(oauth2l header --json path_to_credentials_json \ --scope admob.readonly)"
ตัวอย่างคำตอบ
{ "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"], } ] }