...
BuzzAdPop Sdk는 maven 을 통해 다운받으실 수 있습니다. 다음 코드를 build.gradle
에 추가해 주십시오.
Code Block |
---|
repositories { maven { url "https://dl.bintray.com/buzzvil/maven/" } } dependencies { implementation "com.buzzvil:buzzad-benefit-pop:2.35.+" } |
Note: BuzzAdPop은 BuzzAdBenefit SDK 에 통합되어 배포되고 있습니다.
...
BuzzAdPop은 BuzzAdBenefit SDK에 통합되어 관리되고 있기 때문에 팝을 초기화 하기 위해서 BuzzAdBenefit을 초기화 해주어야 합니다. AndroidManifest.xml 에 App ID 를 설정하고, 팝을 실행하기 전BuzzAdBenefit.init()
을 호출하여 BuzzAdPop SDK 를 초기화 합니다. 이때 팝을 커스텀 할 수 있는 옵션들과 발급받은 unit id, app id 등을 인자로 넘겨주게 됩니다. 자세한 사항은 초기화 페이지를 참고해 주십시오. 초기화 코드는 앱 실행시 한번만 실행하면 됩니다. 아래 코드는 init()
함수를 Application에서 호출해 주는 코드의 예시입니다.
PopConfig 를 통해 Unit ID 를 설정합니다.
Code Block | ||
---|---|---|
| ||
package ... import ... import com.buzzvil.buzzad.benefit.BuzzAdBenefit; import com.buzzvil.buzzad.benefit.BuzzAdBenefitConfig; import com.buzzvil.buzzad.benefit.presentation.pop.PopConfig; public class App extends Application { @Override public void onCreate() { super.onCreate(); final PopConfig popConfig = new PopConfig.Builder(getApplicationContext(), "POP_UNIT_ID_HERE") .build(); final BuzzAdBenefitConfig buzzAdBenefitConfig = new BuzzAdBenefitConfig.Builder("BENEFIT_APP_ID_HERE"((getApplicationContext()) .add(popConfig) .build(); BuzzAdBenefit.init(this, buzzAdBenefitConfig); } } |
...
userId : 매체사 서비스 유저를 unique 하게 구분할 수 있는 식별값
매체사 서비스에서 유니크하다고 판단되는 유저에 대하여, userId 값이 복수 개 연동되거나 변경될 가능성이 있을 경우 사전에 BD 매니저와 논의해야 합니다.
예: 매체사 앱 삭제 후 재설치 시 userId 값이 변경되는 경우
gender
UserProfile.Gender.MALE
: 남성UserProfile.Gender.FEMALE
: 여성
birthYear: 출생년도
Code Block |
---|
final UserProfile.Builder builder = new UserProfile.Builder(BuzzAdBenefit.getUserProfile()); final UserProfile userProfile = builder .userId("Your_Service_User_ID") .gender(UserProfile.Gender.MALE) .birthYear(1985) .build(); BuzzAdBenefit.setUserProfile(userProfile); |
...
Pop을 권한 설정을 해 줄 Activity에 BuzzAdPop 클래스를 변수로 추가합니다.
Code Block private BuzzAdPop buzzAdPop;
Activity의 onCreate에서 Pop의 unit id를 이용해 BuzzAdPop의 인스턴스를 만들어 줍니다.
Code Block this.buzzAdPop = new BuzzAdPop(context, "POP_UNIT_ID");
다음은 앱이 필요한 권한이 있는지 확인하고 없다면 권한을 얻도록 유도하는 코드입니다.
Code Block public static final int REQUEST_CODE_SHOW_POP = 1024; public void enablePopshowPopOrRequestPermissionWithDialog() { BuzzAdPop buzzAdPop = new BuzzAdPop(context, "POP_UNIT_ID"); if (buzzAdPop.hasPermission(context)) { // Show pop } else { buzzAdPop.requestPermissionWithDialog((Activity) context, new PopOverlayPermissionConfig.Builder(R.string.pop_name) .settingsIntent(OverlayPermission.createIntentToRequestOverlayPermission(context)) .requestCode(REQUEST_CODE_SHOW_POP) .build() ); } }
사용자가 설정에서
다른 앱 위에 그리기
권한을 주고 나면 원래 Activity로 돌아오게 됩니다. 이 때 Intent로 result 값이 넘어오게 되는데 이 값을 읽어서 설정에서 권한을 받았다는 것을 알 수 있습니다.Code Block 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) { // Permission granted } } }
Step 5. 실행
팝을 활성화 하기 위해서buzzAdPopBuzzAdPop.showPoppreloadAndShowPop()
함수를 호출해 줍니다. 한번 한 번 활성화 하면 foreground service가 켜지면서 화면을 껐다켤때마다 팝이 지속적으로 화면에 보이게 됩니다. 팝의 원활한 실행을 위해 광고를 미리 로드한 상태에서 로드하고 Pop 이 화면에 보이도록 BuzzAdPop.
showPoppreloadAndShowPop()
을 실행시킵니다.
Code Block |
---|
BuzzAdPop buzzAdPop = new BuzzAdPop(context, "POP_UNIT_ID"); buzzAdPop.preload(new BuzzAdPop.PopPreloadListener() { @Override public void onPreloaded(int adsSize, int articlesSize) { buzzAdPop.showPop(context, true); } @Override public void onError(AdError error) { buzzAdPop.showPop(context, false); } }preloadAndShowPop(context); |
...
Customize
Customize 페이지 에서 CTA Color 변경, 말풍선 (MessagePreview) 기능 등 Customize 가능 한 기능들을 확인할 수 있습니다.
...