2016년 3월 4일 금요일

[안드로이드] Android 애드몹 (전면 광고) 달기 [2]









애드몹 전면 광고 예제입니다.




일단 Admob의 전면광고에는 제약사항이 따르는데요,


이 제약사항을 잘 준수하면서 광고를 게재해야, 나중에 App 출시 이후에도


제재를 안 받을 수 있습니다.


제약사항에 대한 원본은

https://support.google.com/admob/answer/6201362?hl=ko&ref_topic=2745287

에서 확인할 수 있습니다.



1) 앱을 로드할 때, 광고 동작

























2) 앱이 종료 시, 광고 동작

























두 상황은 제재를 받을만한 상황압니다.


흠.. 정확히는 잘 모르겟지만,


전문은 이렇습니다.



'광고가 연결 또는 구현되어 있는 애플리케이션을 사용자가 명

확하게 알 수 있어야 합니다.'




아마 광고가 어플리케이션과 구분되어있는지를 확인 할 수 있어야 한다는 것 같네요



App의 기능중 알고 클릭하는 것을 막고자 하는 제재 인 것 같습니다.













3) 삽입 광고 반복 게재



























중복으로 등장 함으로 인한, 잘못된 광고 클릭을 제재 하기 위함으로 보입니다.




4) 탐색에 영향을 주는 광고
































메뉴마다 광고가 뜨면, 확실히 짜증나겠더라구요


그런 상황을 제재하기 위한 것으로 보입니다.




5) 예기치 않게 실행되는 삽입 광고












홈 스크린에서, 메뉴버튼을 누를려는 순간 광고가 떠서, 잘못된 클릭을

막을려는 것으로 보입니다.




6) 페이지 로드 후 삽입 광고 실행



























5번과 마찬가지로, 화면 전환 후, 버튼을 누를려는데 광고가 뜸으로,

잘못된 클릭을 막을려는 것으로 보입니다.





다음으로, 권장하는 광고 게재 법입니다.






























시작 화면에 광고를 넣을 경우, 로딩 중이라는 표시가 들어간 것이 필요하다고 하네요



스플래쉬 화면이 들어간다면 나쁘지 않을 것 같습니다. 그 후 광고가 뜨고..

































다음은

메뉴 클릭시, 화면이 뜨기 전에, 광고가 먼저 뜬다면 상관 없을 것으로


보이는 군요






이런 사항들을 준수 하셔야 제재를 받지 않을 수 있습니다.





전면 광고 구현방법 입니다.





Admob 배너를 포스팅 했던 곳에서, 버튼과 Activity만 추가하여


진행할 예정입니다.


AndroidManifest 설정은 [1] 을 참고해주세요







public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    InterstitialAd main_inter;
    AdView main_Banner_AdView;

    Button btn_test;
    AdRequest adRequest;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        main_inter = new InterstitialAd(this);
        main_inter.setAdUnitId("Admob - 전면광고 ID");
        adRequest = new AdRequest.Builder()
                .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
                .addTestDevice("기기 ID")
                .build();

        main_inter.setAdListener(new AdListener() {
            @Override
            public void onAdLoaded() {
                main_inter.show();  // Load 된 광고를 출력
            }

            @Override
            public void onAdFailedToLoad(int errorCode) {

            }
        });
        main_Banner_AdView = (AdView)findViewById(R.id.av_main_down);
        AdRequest adRequest1 = new AdRequest.Builder()
                .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
                .addTestDevice("기기ID")
                .build();
        main_Banner_AdView.loadAd(adRequest1);


        btn_test = (Button)findViewById(R.id.test);
        btn_test.setOnClickListener(this);
    }

    public boolean displayInterstitial() {
        main_inter.loadAd(adRequest);
        return true;
    }

    @Override
    public void onClick(View v) {
        Intent intent = new Intent(this,testActivity.class);

        displayInterstitial();
        startActivity(intent);

    }
}



일단 위 코드는, 제재를 받을 만한 상황일 겁니다.


결과화면을 보게된다면, Activity 전환이 이루어지고, 바로 광고가 뜨기 때문이죠.


아마 로딩과 같은 문구를 넣어줘야 할 듯 싶네요.



그리고 전면 광고는 java코드에서만 설정해 두면 되기에, xml은 따로 게재 하지 않겠습니다.


































이런식으로, 광고가 게재 된 화면이 나오게 됩니다~



Admob에서 설정한 카테고리에서 랜덤으로 뜨기 때문에, 카테고리 설정도


해두셔야 할 듯 싶네요~~






댓글 1개:

  1. 탭레이아웃 에서 탭이동할때도 애드몹 광고삽입이 가능한가요?

    답글삭제