Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

개요

Pop은 스크린 최상단에 뜨는 UI를 통해 사용자를 광고 지면으로 유도합니다. Pop을 활성화하면 화면을 껐다 켤 때마다 팝이 화면에 보이게 됩니다.

준비 사항

Pop 준비

FeedConfig을 설정을 하면 Pop을 이용할 수 있습니다.

FeedConfig feedConfig = new FeedConfig.Builder(getApplicationContext(), "YOUR_POP_UNIT_ID")
        ... 생략 ...
        .optInFeatureList(Collections.singletonList(OptInFeature.Pop))
        .build();
final BuzzAdBenefitConfig buzzAdBenefitConfig = new BuzzAdBenefitConfig.Builder(context)
        ... 생략 ...
        .setFeedConfig(feedConfig)
        .build();
BuzzAdBenefit.init(this, buzzAdBenefitConfig);

위 스텝을 진행한 이후에는 Feed 지면에 Pop 활성화 버튼이 노출됩니다. 자세한 사항은 https://buzzvil.atlassian.net/wiki/spaces/BDG/pages/1993082505/3.3.#Pop-%ED%99%9C%EC%84%B1%ED%99%94-%EB%B2%84%ED%8A%BC-%EC%BB%A4%EC%8A%A4%ED%84%B0%EB%A7%88%EC%9D%B4%EC%A7%95 에서 확인할 수 있습니다.

Pop 초기화 및 활성화

마시멜로(Android API 23) 이상 버전에서 Pop을 실행시키기 위해서 다른 앱 위에 그리기 권한이 필요합니다. 원활한 권한 획득을 위해 BuzzAd Android SDK는 사용자가 권한을 활성화하도록 유도하는 기능을 제공하고 있습니다. 다음 가이드에 따라 다른 앱위에 그리기 권한을 받고 Pop 을 활성화 할 수 있습니다.

Activity에 BuzzAdPop 클래스를 멤버 변수로 추가합니다.

private BuzzAdPop buzzAdPop;

 Activity의 onCreate에서 BuzzAdPop의 인스턴스를 만들어 줍니다.

this.buzzAdPop = new BuzzAdPop(context, "YOUR_POP_UNIT_ID");

Pop 실행 전, 다른 앱 위에 그리기 권한을 얻어야 합니다. requestPermissionWithDialog를 호출하여 유저에게 다른 앱 위에 그리기 권한을 부여하도록 유도할 수 있습니다.

public static final int REQUEST_CODE_SHOW_POP = 1024;

public void showPopOrRequestPermissionWithDialog() {
    // 권한 확인
    if (BuzzAdPop.hasPermission(context) || Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
        // Pop 실행
        buzzAdPop.preloadAndShowPop();
    } else {
        // 권한 요청
        BuzzAdPop.requestPermissionWithDialog((Activity) context,
            new PopOverlayPermissionConfig.Builder(R.string.pop_name)
                .settingsIntent(OverlayPermission.createIntentToRequestOverlayPermission(context))
                .requestCode(REQUEST_CODE_SHOW_POP)
                .build()
        );
    }
}

다른 앱 위에 그리기 권한이 부여되면 자동으로 Activity로 돌아오며, Intent를 통해 결과를 확인합니다. 권한 획득이 확인되면 preloadAndShowPop을 호출하여 Pop을 실행합니다.

import static com.buzzvil.lib.buzzsettingsmonitor.SettingsMonitor.KEY_SETTINGS_REQUEST_CODE;
import static com.buzzvil.lib.buzzsettingsmonitor.SettingsMonitor.KEY_SETTINGS_RESULT;

public class MainActivity extends AppCompatActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
		
        if (getIntent().getBooleanExtra(KEY_SETTINGS_RESULT, false)
                && getIntent().getIntExtra(KEY_SETTINGS_REQUEST_CODE, 0) == REQUEST_CODE_SHOW_POP) {
            // 권한 획득 확인 후 pop 실행
            buzzAdPop.preloadAndShowPop();
        }
    }
}

Pop 비활성화

buzzAdPop.removePop(Context) 을 호출하여 Pop을 비활성화 할 수 있습니다.

buzzAdPop.removePop(context);

Pop 기능 추가

(ver 2.25.x) 6.2.2. 고급 설정에 따라 Pop 지면 커스터마이징하여 활용할 수 있습니다.

Pop 디자인 변경

(ver 2.25.x) 6.2.3. 커스터마이징에 따라 Pop 지면의 UI를 변경할 수 있습니다.

  • No labels