APS 연동 (legacy)
APS 계정을 구성하고 아이언소스와의 통합을 설정하여 Amazon 퍼블리셔 서비스 (APS)를 Unity 레벨플레이와 통합할 수 있습니다.
읽는 시간 6분최근 업데이트: 8시간 전
필수 조건
Amazon 퍼블리셔 서비스(APS)는 초대만 프로그램입니다. APS를 통합하려면 레벨플레이 SDK와 APS SDK를 모두 통합하고 초기화해야 합니다. 아래에 설명된 대로 전체 연동 플로를 수행하여 애플리케이션 APS 광고를 표시해야 합니다.
1단계. APS 계정 생성
- 앱 계정을 설정하려면 APS에 도달률. APS 계정을 생성하려면 APS 웹사이트로 이동하여 ** 문의하기**를 선택하고 요청을 엽니다.
- APS 요청이 승인되면 APS에 가입하고 계정을 만드는 초대 링크가 표시됩니다.
- 레벨플레이 APS를 설정하려면 위 단계를 완료해야 합니다.
2단계. APS 네트워크에서 슬롯 설정
- 앱 메뉴에서 올바른 애플리케이션을 선택하고 설정을 선택합니다.
- 수익화 서비스 설정 메뉴로 IronSource 레벨플레이를 선택합니다.
- 각 슬롯에 슬롯을 추가하고 정의합니다.
- Name
- 광고 크기
- 가격 지점 (자동/매뉴얼)
- 모든 슬롯을 추가하고 자격 증명을 수집합니다.
- 앱 ID 가져오기
- 가격대 CSV 파일 다운로드
3단계. APS 네트워크 활성화
Ironsource 플랫폼 내에서 SDK 네트워크 설정에 액세스, 접근 레벨플레이 계정에 APS 파라미터를 설정.
- 위에서 언급한 자격 증명을 보유한 후 레벨플레이 계정에 로그인하고 수익화 > 설정 > SDK 네트워크로 이동합니다.
- 사용 가능한 네트워크 표에서 APS를 선택하고 활성화를 선택합니다.

- 광고 네트워크 목록에서 APS를 선택하고 설정을 선택합니다.

- APS 앱 ID를 입력하고 CSV 파일을 그대로 업로드합니다.

4단계. 빌드 APS 어댑터 추가
Gradle
-
앱 모듈의 Gradle다음 Maven URL이 있는지 확인합니다.repositories { mavenCentral()}
-
어댑터 Maven 이름을 앱 모듈의 Gradle추가합니다.dependencies {implementation 'com.unity3d.ads-mediation:aps-adapter:4.3.17'implementation 'com.amazon.android:aps-sdk:11.0.0+'implementation 'com.iabtcf:iabtcf-decoder:2.0.10'}
5단계 AndroidManifest.xml 업데이트
매니페스트 사용 권한:
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
매니페스트 활동:
<activity android:name="com.amazon.device.ads.DTBInterstitialActivity"/><activity android:name="com.amazon.device.ads.DTBAdActivity"/>
ProGuard 사용자 전용
ProGuard를 APS 어댑터와 함께 사용하는 경우 다음 코드를 ProGuard 파일에 추가해야 합니다.
-keep class com.amazon.device.ads.** { *; }
6단계. Init APS SDK
APS 네트워크를 사용하려면 APS 광고를 표시하려면 Ironsource 및 APS SDK를 모두 초기화해야 합니다.
애플리케이션 열리자마자 그리고 레벨플레이 SDK를 초기화하기 전에 APS SDK를 초기화합니다. APS 설정 2단계에 정의된 APS 앱 ID를 사용합니다.
AdRegistration.getInstance(APS_APP_ID, this);//Where 'this' is an activity context.
7단계 광고당 레벨플레이 Mediation 함께 APS 단가 정보를 공유합니다.
각 광고를 로드하기 전에 APS API 호출 레벨플레이 SDK가 광고를 로드하는 데 필요한 로드 정보를 가져옵니다.
다음은 필수 단계입니다.
- 각 Ironsource 광고 유닛 로드 전에 APS 광고 요청을 로드합니다.
- SetNetworkData를 호출 APS 단가 정보를 Ironsource 공유합니다.
- 레벨플레이 Mediation API를 사용하여 관련 광고 유닛을 로드합니다.
배너/MREC 광고 로드
-
각 Ironsource 광고 유닛 로드 전에 APS 배너 광고 요청을 호출. 로드 광고 요청을 생성할 때 Slot UUID를 사용합니다.
-
APS Android SDK 10.0.0+:DTBAdNetworkInfo adNetworkInfo = new DTBAdNetworkInfo(DTBAdNetwork.UNITY_LEVELPLAY); final DTBAdRequest loader = new DTBAdRequest(adNetworkInfo);loader.setSizes(new DTBAdSize(SLOT_WIDTH, SLOT_HEIGHT, "Your_Slot_UUID"));loader.loadAd(new DTBAdCallback());
-
APS Android SDK 10.0.0 미만:최종 DTBAdRequest 로더 = 새로운 DTBAdRequest();loader.setSizes(new DTBAdSize(SLOT_WIDTH, SLOT_HEIGHT, "Your_Slot_UUID"));loader.loadAd(new DTBAdCallback());
-
-
APS 광고가 성공적으로 로드되면 광고 데이터를 Ironsource 공유합니다. 여기에는 다음 파라미터가 포함되어야 합니다.
- 단가 정보: Amazon 광고 표시에 필요한 정보
- 가격대 인코딩: APS에서 반환된 낙찰 광고 가격
- UUID: 슬롯 고유 식별자
- 너비: 배너 너비
- 높이: 배너 높이
public void onSuccess(DTBAdResponse dtbAdResponse) { // Append the APS bid parameters to LevelPlay mediation to add APS to the next ad request JSONObject apsDataJsonBN = new JSONObject(); apsDataJsonBN.put("bidInfo", SDKUtilities.getBidInfo(dtbAdResponse)); apsDataJsonBN.put("pricePointEncoded", SDKUtilities.getPricePoint(dtbAdResponse)); apsDataJsonBN.put("uuid", slotUUID); apsDataJsonBN.put("width", dtbAdResponse.getDTBAds().get(0).getWidth()); apsDataJsonBN.put("height", dtbAdResponse.getDTBAds().get(0).getHeight()); // Define APS data per interstitial ad unit JSONObject apsDataJson = new JSONObject(); apsDataJson.put(IronSource.AD_UNIT.BANNER.toString(), apsDataJsonBN); IronSource.setNetworkData("APS", apsDataJson);}APS가 보여줄 광고 없음(no fill) 반환하면 레벨플레이 loadBanner()를 호출. -
Ironsource 배너 광고를 로드합니다. 자세히 알아보기 여기.
인터스티셜 광고 로드
-
각 Ironsource 광고 유닛 로드 전에 APS 인터스티셜 광고 요청 호출 로드 광고 요청을 생성할 때 Slot UUID를 사용합니다.
-
APS Android SDK 10.0.0+:DTBAdNetworkInfo adNetworkInfo = new DTBAdNetworkInfo(DTBAdNetwork.UNITY_LEVELPLAY); final DTBAdRequest loader = new DTBAdRequest(adNetworkInfo);loader.setSizes(new DTBAdSize.DTBInterstitialAdSize(YOUR_INTERSTITIAL_UUID));loader.loadAd(new DTBAdCallback());
-
APS Android SDK 10.0.0 미만:최종 DTBAdRequest 로더 = 새로운 DTBAdRequest();loader.setSizes(new DTBAdSize.DTBInterstitialAdSize(YOUR_INTERSTITIAL_UUID));loader.loadAd(new DTBAdCallback());
-
-
레벨플레이 APS 어댑터 4.3.3부터 APS 인터스티셜 광고 비디오 광고를 지원합니다. 인터스티셜 광고 비디오를 로드하려면 앱이 세로 모드인 경우 다음 메서드를 호출.
-
APS Android SDK 10.0.0+:DTBAdNetworkInfo adNetworkInfo = new DTBAdNetworkInfo(DTBAdNetwork.UNITY_LEVELPLAY); final DTBAdRequest loader = new DTBAdRequest(adNetworkInfo);loader.setSizes(new DTBAdSize.DTBVideo(320, 480, YOUR_INTERSTITIAL_VIDEO_UUID)); loader.loadAd(new DTBAdCallback());
-
APS Android SDK 10.0.0 미만:최종 DTBAdRequest 로더 = 새로운 DTBAdRequest();loader.setSizes(new DTBAdSize.DTBVideo(320, 480, YOUR_INTERSTITIAL_VIDEO_UUID));loader.loadAd(new DTBAdCallback());
앱이 랜드스케이프 모드인 경우:-
APS Android SDK 10.0.0+:DTBAdNetworkInfo adNetworkInfo = new DTBAdNetworkInfo(DTBAdNetwork.UNITY_LEVELPLAY); final DTBAdRequest loader = new DTBAdRequest(adNetworkInfo);loader.setSizes(new DTBAdSize.DTBVideo(480, 320, YOUR_INTERSTITIAL_VIDEO_UUID));loader.loadAd(new DTBAdCallback());
-
APS Android SDK 10.0.0 미만:최종 DTBAdRequest 로더 = 새로운 DTBAdRequest();loader.setSizes(new DTBAdSize.DTBVideo(480, 320, YOUR_INTERSTITIAL_VIDEO_UUID));loader.loadAd(new DTBAdCallback());
-
-
APS 광고가 성공적으로 로드되면 광고 데이터를 Ironsource 공유합니다. 여기에는 다음 파라미터가 포함되어야 합니다.
- 단가 정보: Amazon 광고 표시에 필요한 정보
- 가격대 인코딩: APS에서 반환된 낙찰 광고 가격
- UUID: 슬롯 고유 식별자
public void onSuccess(DTBAdResponse dtbAdResponse) { // Append the APS bid parameters to LevelPlay mediation to add APS to the next ad request JSONObject apsDataJsonIS = new JSONObject(); apsDataJsonIS.put("bidInfo", SDKUtilities.getBidInfo(dtbAdResponse)); apsDataJsonIS.put("pricePointEncoded", SDKUtilities.getPricePoint(dtbAdResponse)); apsDataJsonIS.put("uuid", slotUUID); // Define APS data per interstitial ad unit JSONObject apsDataJson = new JSONObject(); apsDataJson.put(IronSource.AD_UNIT.INTERSTITIAL.toString(), apsDataJsonIS); IronSource.setNetworkData("APS", apsDataJson); }APS가 보여줄 광고 없음(no fill) 반환하면 레벨플레이 loadInterstitial()을 호출. -
로드 ironSource 인터스티셜 광고. 자세히 알아보기 여기.
보상형 광고
APS 통합은 앱에서 구현하는 보상형 광고 작업 모드에 따라 다릅니다.
- 매뉴얼 로딩 모드: APS와 연동하는 데 권장되는 설정입니다. 이렇게 하면 각 보상형 광고 로드 전에 APS 광고 요청을 호출 합니다.
- 보상형 광고 기본 모드(자동): 보상형 광고 광고를 표시하기 위해 레벨플레이 기본 모드를 사용하는 경우, 레벨플레이 SDK를 초기화하기 전에 APS SDK를 초기화한 후 첫 번째 APS 광고를 로드해야 합니다. 또한 각 쇼 전에 다음 APS 로드 요청을 호출하여 다음 워터폴 요청에 영향을 줄 것을 권장합니다.
보상형 광고 로드
- 각 Ironsource 광고 유닛 로드 전에(또는 자동 모드에서 쇼 전에) APS 보상형 광고 광고 요청을 호출. 로드 광고 요청을 생성할 때 Slot UUID를 사용합니다. 앱이 세로 모드인 경우 다음을 수행합니다.
-
APS Android SDK 10.0.0+:DTBAdNetworkInfo adNetworkInfo = new DTBAdNetworkInfo(DTBAdNetwork.UNITY_LEVELPLAY); final DTBAdRequest loader = new DTBAdRequest(adNetworkInfo);loader.setSizes(new DTBAdSize.DTBVideo(320, 480, YOUR_REWARDED_VIDEO_UUID)); loader.loadAd(new DTBAdCallback());
-
APS Android SDK 10.0.0 미만:최종 DTBAdRequest 로더 = 새로운 DTBAdRequest();loader.setSizes(new DTBAdSize.DTBVideo(320, 480, YOUR_REWARDED_VIDEO_UUID));loader.loadAd(new DTBAdCallback());
-
앱이 랜드스케이프 모드인 경우:
-
-
APS Android SDK 10.0.0+:DTBAdNetworkInfo adNetworkInfo = new DTBAdNetworkInfo(DTBAdNetwork.UNITY_LEVELPLAY); final DTBAdRequest loader = new DTBAdRequest(adNetworkInfo);loader.setSizes(new DTBAdSize.DTBVideo(480, 320, YOUR_REWARDED_VIDEO_UUID)); loader.loadAd(new DTBAdCallback());
-
APS Android SDK 10.0.0 미만:최종 DTBAdRequest 로더 = 새로운 DTBAdRequest();loader.setSizes(new DTBAdSize.DTBVideo(480, 320, YOUR_REWARDED_VIDEO_UUID));loader.loadAd(new DTBAdCallback());
-
-
APS 광고가 성공적으로 로드되면 광고 데이터를 Ironsource 공유합니다. 여기에는 다음 파라미터가 포함되어야 합니다.
-
단가 정보: Amazon 광고 표시에 필요한 정보
-
가격대 인코딩: APS에서 반환된 낙찰 광고 가격
-
UUID: 슬롯 고유 식별자public void onSuccess(DTBAdResponse dtbAdResponse) { // Append the APS bid parameters to LevelPlay mediation to add APS to the next ad request JSONObject apsDataJsonRV = new JSONObject(); apsDataJsonRV.put("bidInfo", SDKUtilities.getBidInfo(dtbAdResponse)); apsDataJsonRV.put("pricePointEncoded", SDKUtilities.getPricePoint(dtbAdResponse)); apsDataJsonRV.put("uuid", slotUUID); // Define APS data per rewarded ad unit JSONObject apsDataJson = new JSONObject(); apsDataJson.put(IronSource.AD_UNIT.REWARDED_VIDEO.toString(), apsDataJsonRV); IronSource.setNetworkData("APS", apsDataJson); }APS가 보여줄 광고 없음(no fill) 반환하면 레벨플레이 loadManualRewardedVideo()를 호출.
-