보상형 광고 (유니티)

now.gg 유니티용 보상형 광고 모듈을 통해 유니티 게임 내에서 인앱 보상형 광고를 사용하실 수 있습니다.

방법:

  1. now.gg 보상형 광고 유니티 모듈을 다운로드하고 임포트합니다.
  2. 필수 종속성을 추가합니다.
  3. 프로젝트에 now.gg 보상형 광고를 적용합니다.

모듈 다운로드 및 임포트

now.gg 보상형 광고 유니티 모듈은 유니티 패키지 파일 nowgg-rewarded-ads.unitypackage에 포함되어 있습니다.

방법:

  1. 최신 버전의 now.gg 유니티용 보상형 광고 모듈이 포함된 패키지를 다운로드합니다.
  2. 모듈을 다운로드한 후 프로젝트에 임포트합니다.
    순서:

    • 아래와 같이 에셋 > 패키지 임포트 > 커스텀 패키지를 클릭합니다.
    • 이전에 다운로드한 nowgg-rewarded-ads.unitypackage를 선택합니다.
    • 나열된 파일을 모두 선택하고 임포트를 클릭합니다.

임포트 후 ‘NowGGSdk‘라는 폴더가 프로젝트에 추가되며 해당 폴더는 에셋 폴더 최상위 루트에서 확인하실 수 있습니다.

중요: NowGGSdk 폴더에는 now.gg 유틸리티 모듈과 관련된 모든 에셋이 포함되어 있으므로 수정하지 않습니다.

필수 종속성 추가

유니티 외부 종속성 관리자를 사용하여 프로젝트의 Assets/Plugins/Android 폴더에 필요한 모든 종속성을 다운로드하고 추가합니다.

방법:

  • 에셋 > 외부 종속성 관리자 > 안드로이드 리졸버 > 리졸브를 클릭합니다.

now.gg 보상형 광고 적용

다음은 유니티 앱/게임용 now.gg 보상형 광고의 샘플 코드입니다.

now.gg 보상형 광고 모듈을 임포트하고 종속성이 추가되면 앱/게임에 now.gg 보상형 광고 모듈을 적용하실 수 있습니다.

1. 초기화

앱에서 광고를 표시하려면 먼저 모듈을 초기화해야 합니다.

아래와 같이 now.gg 보상형 광고 로직을 포함하는 클래스를 생성하고 모듈을 초기화하는 데 사용할 수 있는 게임 오브젝트에 추가합니다.

void Start()
   {
       NowGGAdsManager.Instance.OnInitSuccess += OnInitSuccess;
       NowGGAdsManager.Instance.OnInitFailed += OnInitFailed;
       NowGGAdsManager.Instance.OnNowGGRewardedAdDismissed += OnAdDismissed;
       NowGGAdsManager.Instance.OnNowGGRewardedAdFailedToLoad += OnAdFailedToLoad;
       NowGGAdsManager.Instance.OnNowGGRewardedAdShownToUser += OnAdShownToUser;
       NowGGAdsManager.Instance.OnUserEarnedReward += OnUserEarnedReward;
      
       NowGGAdsManager.Instance.Initialize();
   }

중요:

  • SDK 모듈은 실행 시 한 번만 초기화합니다.
  • NowGGAdsManager 클래스의 Initialize()를 호출하여 보상형 광고를 초기화합니다.
  • 모듈의 응답 메시지는 위에 설명된 대로 콜백 함수를 사용하여 처리됩니다.

2. 보상형 광고 표시

모듈이 성공적으로 초기화되면 인앱 보상형 광고를 표시하실 수 있습니다.

이때 NowGGAdsManager.Instance.ShowRewardedAd()를 호출하여 앱에 보상형 광고를 표시합니다.

now.gg 보상형 광고는 다음 콜백 함수를 활용하여 앱에 보상형 광고 요청 상태를 알립니다.

  • void OnAdShownToUser(); – 유저 화면에 광고가 표시됩니다.
  • void OnAdFailedToLoad(String error); – 광고를 로드하지 못했습니다.
  • void OnAdDismissed(bool rewardEarned); – 유저가 광고를 닫았습니다. 진행되던 앱 프로세스로 돌아옵니다.
    • 사용자가 광고를 조기에 닫은 경우 rewardEarnedFalse가 됩니다.
    • 광고가 보상을 획득하는 데 필요한 재생 시간을 완료하면 rewardEarnedTrue가 됩니다.
  • void OnUserEarnedReward(); – 유저가 보상을 받았습니다.

중요:

  • 콜백 함수는 메인 스레드에서 호출되지 않습니다. 모든 UI 작업이 메인 스레드에서 수행되는지 확인해 주시기 바랍니다.

다음 코드는 위에 나열된 콜백 함수의 예입니다.

public class RewardsSDKDemo : MonoBehaviour
{
   
// 광고 표시   
   public void ShowAd()
   {
       NowGGAdsManager.Instance.ShowRewardedAd()();
   }

// 초기화 성공
   private void OnInitSuccess()
   {
       Debug.Log("OnInitSuccess");
   }

// 초기화 실패
   private void OnInitFailed(string error)
   {
       Debug.Log("OnInitFailed.. " + error);
   }

// 유저 화면에 광고가 표시됩니다.
   private void OnAdShownToUser()
   {
       Debug.Log("OnAdShownToUser");
   }

// 광고를 로드하지 못했습니다.
   private void OnAdFailedToLoad(string error)
   {
       Debug.Log("OnAdFailedToLoad.." + error);
   }

// 유저가 광고를 닫았습니다. 진행되던 앱 프로세스로 돌아옵니다.
   private void OnAdDismissed(bool rewardEarned)
   {
       Debug.Log("OnAdDismissed.." + rewardEarned);
   }

// 유저가 보상을 받았습니다.
   private void OnUserEarnedReward()
      {
          Debug.Log("OnUserEarnedReward");
      }
}

중요

  • 적용 테스트를 하시려면 여기를 확인해 주시기 바랍니다.
  • 또한 여기에서 보상형 광고의 데모 프로젝트를 확인해 보실 수도 있습니다.
×
클립보드에 복사된 텍스트
copyLinkText
질문이 있으신가요? 다음 주소로 문의하세요. dev-support@now.gg