기술 자료

Development

User Acquisition

Monetization

산업 분야

Unity Ads Monetization

Unity Ads Android SDK

Unity Ads iOS SDK

Unity Ads SDK

Unity Ads Monetization

Unity Ads Monetization
​
​
Android 개발자 가이드
  • Android SDK 개요
  • 연동 요구 사항
  • Android용 Unity Ads SDK 설치
  • Android에서 SDK 초기화
  • Android에서 인터스티셜 광고 구현
  • Android에서 보상형 광고 구현
  • Android에서 배너 광고 구현
Android SDK API 레퍼런스
  • Android용 Unity Ads API 레퍼런스 (Java)
  1. 게임 성장
  2. Unity Ads
  3. Android 개발자용 Unity Ads SDK 연동 가이드

Android에서 보상형 광고 구현

Android 앱에서 보상형 광고를 구현합니다. 광고 콘텐츠를 로드하고 Java 코드를 통해 표시하고 리스너를 사용하여 광고 이벤트와 보상 로직을 관리합니다.
읽는 시간 4분
최근 업데이트: 7시간 전

광고를 보는 사용자에게 보상을 제공하면 사용자 참여가 증가하고 더욱 높은 수익으로 이어질 수 있습니다. 예를 들어, 게임 내 재화나 소모품, 추가 생명, 경험치 증가 등의 보상을 게임에서 사용자에게 제공할 수 있습니다. 보상형 광고를 효과적으로 설계하는 방법에 관한 자세한 내용은 수익화 전략 가이드를 참고하십시오.
동영상 광고 시청을 완료한 사용자에게 보상을 제공하려면
IUnityAdsShowListener.onUnityAdsShowComplete
리스너 콜백 메서드의
UnityAdsShowCompletionState
결과를 사용하여 사용자가 광고 시청을 완료했으며 보상이 제공되어야 하는지 확인합니다.
참고
Unity Ads는 현재 실행 중인 작업에 대한 액세스 권한이 필요하므로 다음 예에서는
getApplicationContext()
를 사용합니다. 이는 모든 구현에 적합하지 않을 수 있으므로 일부 커스터마이징이 필요할 수 있습니다(연동에 따라 다름).

보상형 비디오 광고 예제

import android.app.Activity; import android.os.Bundle; import android.util.Log; import androidx.appcompat.app.AppCompatActivity; import com.unity3d.ads.IUnityAdsLoadListener; import com.unity3d.ads.IUnityAdsShowListener; import com.unity3d.ads.UnityAdsShowOptions; import com.unity3d.ads.example.R; import com.unity3d.ads.IUnityAdsInitializationListener; import com.unity3d.ads.UnityAds; public class ShowRewardedAd extends AppCompatActivity implements IUnityAdsInitializationListener { private String unityGameID = "1234567"; private Boolean testMode = true; private String adUnitId = "rewardedVideo"; private IUnityAdsLoadListener loadListener = new IUnityAdsLoadListener() { @Override public void onUnityAdsAdLoaded(String placementId) { UnityAds.show((Activity)getApplicationContext(), adUnitId, new UnityAdsShowOptions(), showListener); } @Override public void onUnityAdsFailedToLoad(String placementId, UnityAds.UnityAdsLoadError error, String message) { Log.e("UnityAdsExample", "Unity Ads failed to load ad for " + placementId + " with error: [" + error + "] " + message); } }; private IUnityAdsShowListener showListener = new IUnityAdsShowListener() { @Override public void onUnityAdsShowFailure(String placementId, UnityAds.UnityAdsShowError error, String message) { Log.e("UnityAdsExample", "Unity Ads failed to show ad for " + placementId + " with error: [" + error + "] " + message); } @Override public void onUnityAdsShowStart(String placementId) { Log.v("UnityAdsExample", "onUnityAdsShowStart: " + placementId); } @Override public void onUnityAdsShowClick(String placementId) { Log.v("UnityAdsExample", "onUnityAdsShowClick: " + placementId); } @Override public void onUnityAdsShowComplete(String placementId, UnityAds.UnityAdsShowCompletionState state) { Log.v("UnityAdsExample", "onUnityAdsShowComplete: " + placementId); if (state.equals(UnityAds.UnityAdsShowCompletionState.COMPLETED)) { // Reward the user for watching the ad to completion } else { // Do not reward the user for skipping the ad } } }; @Override protected void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); // Initialize the SDK: UnityAds.initialize(getApplicationContext(), unityGameID, testMode, this); } @Override public void onInitializationComplete() { DisplayRewardedAd(); } @Override public void onInitializationFailed(UnityAds.UnityAdsInitializationError error, String message) { Log.e("UnityAdsExample", "Unity Ads initialization failed with error: [" + error + "] " + message); } // Implement a function to load a rewarded ad. The ad will start to show after the ad has been loaded. public void DisplayRewardedAd () { UnityAds.load(adUnitId, loadListener); } }

보상형 비디오 광고 버튼

플레이어가 광고 보기를 선택할 수 있는 버튼을 사용하는 것이 보상형 비디오 광고의 일반적인 구현 방식입니다. 다음 예시 코드를 사용하면 보상형 광고 버튼을 생성할 수 있습니다. 광고가 먼저 로드되어야 이 광고 버튼이 눌렸을 때 광고가 표시됩니다. 버튼 구성에 대한 자세한 내용은 버튼에 대한 Android 개발자 기술 자료를 참조하십시오.
버튼을 구현한 후,
showAdButton
이 View에서 구성된 버튼이라는 내용의 다음 코드가 포함된 스크립트를 추가합니다.
참고
Unity Ads는 현재 실행 중인 작업에 대한 액세스 권한이 필요하므로 다음 예에서는
getApplicationContext()
를 사용합니다. 이는 모든 구현에 적합하지 않을 수 있으므로 일부 커스터마이징이 필요할 수 있습니다(연동에 따라 다름).
import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import androidx.appcompat.app.AppCompatActivity; import com.unity3d.ads.IUnityAdsLoadListener; import com.unity3d.ads.IUnityAdsShowListener; import com.unity3d.ads.UnityAdsShowOptions; import com.unity3d.ads.example.R; import com.unity3d.ads.IUnityAdsInitializationListener; import com.unity3d.ads.UnityAds; public class RewardedAdButton extends AppCompatActivity implements IUnityAdsInitializationListener { private String unityGameID = "1234567"; private Boolean testMode = true; private String adUnitId = "rewardedVideo"; private Button rewardedButton; private IUnityAdsLoadListener loadListener = new IUnityAdsLoadListener() { @Override public void onUnityAdsAdLoaded(String placementId) { UnityAds.show((Activity)getApplicationContext(), adUnitId, new UnityAdsShowOptions(), showListener); } @Override public void onUnityAdsFailedToLoad(String placementId, UnityAds.UnityAdsLoadError error, String message) { Log.e("UnityAdsExample", "Unity Ads failed to load ad for " + placementId + " with error: [" + error + "] " + message); } }; private IUnityAdsShowListener showListener = new IUnityAdsShowListener() { @Override public void onUnityAdsShowFailure(String placementId, UnityAds.UnityAdsShowError error, String message) { Log.e("UnityAdsExample", "Unity Ads failed to show ad for " + placementId + " with error: [" + error + "] " + message); // Re-enable the button if the user should be allowed to watch another rewarded ad rewardedButton.setEnabled(true); } @Override public void onUnityAdsShowStart(String placementId) { Log.v("UnityAdsExample", "onUnityAdsShowStart: " + placementId); } @Override public void onUnityAdsShowClick(String placementId) { Log.v("UnityAdsExample", "onUnityAdsShowClick: " + placementId); } @Override public void onUnityAdsShowComplete(String placementId, UnityAds.UnityAdsShowCompletionState state) { Log.v("UnityAdsExample", "onUnityAdsShowComplete: " + placementId); if (state.equals(UnityAds.UnityAdsShowCompletionState.COMPLETED)) { // Reward the user for watching the ad to completion } else { // Do not reward the user for skipping the ad } // Re-enable the button if the user should be allowed to watch another rewarded ad rewardedButton.setEnabled(true); } }; @Override protected void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); // Initialize the SDK: UnityAds.initialize(getApplicationContext(), unityGameID, testMode, this); // Find the button in the view hierarchy and set its click function to load ads: rewardedButton = findViewById (R.id.showAdButton); rewardedButton.setOnClickListener (new View.OnClickListener (){ @Override public void onClick (View v) { DisplayRewardedAd (); rewardedButton.setEnabled(false); } }); } @Override public void onInitializationComplete() { rewardedButton.setEnabled(true); } @Override public void onInitializationFailed(UnityAds.UnityAdsInitializationError error, String message) { Log.e("UnityAdsExample", "Unity Ads initialization failed with error: [" + error + "] " + message); } // Implement a function to load an rewarded ad. The ad will start to show after the ad has been loaded. public void DisplayRewardedAd () { UnityAds.load(adUnitId, loadListener); } }
다음 단계: Android에서 배너 광고 구현을 참조하십시오.

Copyright © 2026 Unity Technologies
법률 정보개인정보 처리방침쿠키Documentation Terms of Use개인 정보 판매 또는 공유 금지개인정보 보호 선택(쿠키 설정)

'Unity', Unity 로고 및 기타 Unity 상표는 미국 및 기타 지역 내 Unity Technologies 또는 그 계열사의 상표 또는 등록상표입니다(자세한 내용은 여기에서 확인하세요). 기타 명칭 또는 브랜드는 해당 소유자의 상표입니다.

일부 페이지는 편의를 위해 기계 번역되었으며 부정확한 내용이 있을 수 있습니다. 정보가 상충되는 경우, 영어 버전을 우선으로 참조하세요.

  • 보고 있는 페이지
    • 보상형 비디오 광고 예제

    • 보상형 비디오 광고 버튼


이 페이지의 문제 보고
​
​