네이티브 Android를 위한 리워드 광고

now.gg 보상형 광고 모듈을 개발 환경에 적용하는 단계입니다.

먼저 보상형 광고 모듈이 포함된 now.gg SDK 다운로드 패키지를 다운로드한 뒤 개발 환경에 추가합니다.

중요: now.gg SDK 다운로드 패키지에는 보상형 광고 모듈, 데모 앱 및 샘플 코드가 포함되어 있습니다.

SDK 라이브러리 추가

1. now.gg 보상형 광고 모듈의 압축을 풀고 패키지에서 .aar 파일을 확인합니다.

   
 RewardedAds.aar

2. 게임의 build.gradle 파일에 다음 종속성을 추가합니다.

   
 dependencies {
         implementation fileTree(dir: 'libs', include: ['*.aar'])
 }

보상형 광고 모듈 초기화

앱에서 광고를 표시하려면 먼저 앱의 메인 스레드 내 onCreate에서 모듈을 초기화해야 합니다.

NowGGAds.initialize() 함수를 호출해 초기화를 한 뒤 완료되면 해당 함수는 콜백 및 리스터도 생성합니다.

중요: 모듈 초기화는 앱 실행 시 한 번만 합니다.

The following code segment illustrates this implementation:

public class MainActivity extends AppCompatActivity {
 public static final String TAG = "RewardsTest";
 public Button showAdButton;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
     showAdButton = findViewById(R.id.showAd);

     NowGGAds.initialize(this, new OnInitializationCompleteListener() {
         @Override
         public void onInitializationComplete(InitializationStatus initializationStatus) {
             Log.d(TAG, "onInitializationComplete: " + initializationStatus);

             if (initializationStatus.getState().equals(State.NOT_READY)) {
                 Log.d(TAG, "onInitializationComplete: error");
                 // NowGGAd 초기화를 다시 시도합니다.
             }
         }
     });
 }
 }

보상형 광고 표시

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

이때 보상형 광고 모듈의 NowGGAds.showRewardedAd()를 호출하여 앱에 보상형 광고를 표시할 수 있습니다.

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

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

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

 
showAdButton.setOnClickListener(view -> {
    NowGGAds.showRewardedAd(this, new AdStatusListener() {
       
 // 유저 화면에 광고가 표시됩니다.
        @Override
        public void onAdShownToUser() {
            Toast.makeText(getBaseContext(), "Ad is displayed on the user’s screen", Toast.LENGTH_LONG).show();
        }
      
 // 광고를 로드하지 못했습니다.
        @Override
        public void onAdFailedToLoad(String s) {
            Log.d(TAG, "onAdFailedToLoad() called with: s = [" + s + "]");
            Toast.makeText(getBaseContext(), "Ad failed to load", Toast.LENGTH_SHORT).show();
        }

 // 유저가 광고를 닫았습니다. 진행되던 앱 프로세스로 돌아옵니다.
        @Override
        public void onAdDismissed(boolean rewardEarned) {
            if (rewardEarned)
                Toast.makeText(getBaseContext(), "Congrats, you earned a reward", Toast.LENGTH_LONG).show();
            else
                Toast.makeText(getBaseContext(), "Ad was dismissed - No reward this time!", Toast.LENGTH_LONG).show();
        }

 // 유저가 보상을 받았습니다.
        @Override
        public void onUserEarnedReward() {
            Log.d(TAG, "rewardEarned");
        }
    });
 });

중요

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