...
PopConfig를 통해 Pop의 기능을 설정할 수 있습니다. 6.2.1 기본 설정 에서의 기본 Pop 설정과는 다른 기능이나 UI를 적용하고 싶을 때, 혹은 Default Feed와 다른 Unit ID를 사용하고 싶을 때는 사용합니다.
다음은 PopConfig
를 BuzzAdBenefitConfig
에 추가하는 예시입니다.
Code Block | ||
---|---|---|
| ||
PopConfigfinal FeedConfig popConfigpopFeedConfig = new PopConfigFeedConfig.Builder(getApplicationContext(), "YOUR_POP_UNIT_ID") .build(); final PopConfig popConfig = new PopConfig.Builder(getApplicationContext(), popFeedConfig) .build(); final BuzzAdBenefitConfig buzzAdBenefitConfig = new BuzzAdBenefitConfig.Builder(context) .setPopConfig(popConfig)..생략... .buildsetPopConfig(popConfig); .build(); BuzzAdBenefit.init(this, buzzAdBenefitConfig); |
...
Code Block | ||
---|---|---|
| ||
PopConfig popConfig = new PopConfig.Builder(getApplicationContext(), "YOUR_POP_UNIT_ID"popFeedConfig) .articlesEnabled(false) // 컨텐츠 비활성화 .build(); |
...
PopConfig를 설정하지 않고, FeedConfig를 아래와 같이 설정한 경우
Code Block FeedConfig feedConfig = new FeedConfig.Builder(getApplicationContext(), "YOUR_FEEDPOP_UNIT_ID") .optInFeatureList(Collections.singletonList(OptInFeature.Pop)) .build();
PopConfig를 설정한 경우
Code Block language java PopConfigFeedConfig popConfigfeedConfig = new PopConfigFeedConfig.Builder(getApplicationContext(), "YOUR_POP_UNIT_ID") .build(); PopConfig popConfig = new PopConfig.Builder(getApplicationContext(), feedConfig) .build(); final BuzzAdBenefitConfig buzzAdBenefitConfig = new BuzzAdBenefitConfig.Builder(context) .setPopConfig(popConfig) // PopConfig 설정 .build(); BuzzAdBenefit.init(this, buzzAdBenefitConfig);
...
Code Block | ||
---|---|---|
| ||
final FeedConfig feedConfig = new FeedConfig.Builder(context, "YOUR_FEEDPOP_UNIT_ID") .optInAndShowPopButtonHandlerClass(null) // Pop 활성화 버튼 숨김 .build(); |
...
Code Block | ||
---|---|---|
| ||
final PopNotificationConfig popNotificationConfig = new PopNotificationConfig.Builder(getApplicationContext()) .notificationId(NOTIFICATION_ID) .build(); final PopConfigFeedConfig popConfigpopFeedConfig = new PopConfigFeedConfig.Builder(getApplicationContext(), "YOUR_POP_UNIT_ID_POP) ").build(); final PopConfig popConfig = new PopConfig.Builder(getApplicationContext(), popFeedConfig) .popNotificationConfig(popNotificationConfig) .controlService(YourControlService.class) .build(); final BuzzAdBenefitConfig buzzAdBenefitConfig = new BuzzAdBenefitConfig.Builder(context) .setPopConfig(popConfig) .build(); |
Code Block | ||
---|---|---|
| ||
// AndroidManifest.xml
<application
...생략...
<service android:name=".java.YourControlService" />
...생략...
</application> |
...
Code Block | ||
---|---|---|
| ||
class YourPopToolbarHolder extends DefaultPopToolbarHolder { @Override public View getView(Activity activity, @NonNull final String unitId) { toolbar = new PopToolbar(activity); // PopToolbar 에서 제공하는 기본 Template 사용 toolbar.setTitle("TemplatePopToolbarHolder"); // 툴바 타이틀 문구를 변경합니다. toolbar.setIconResource(R.mipmap.ic_launcher); // 툴바 좌측 아이콘을 변경합니다. toolbar.setBackgroundColor(Color.LTGRAY); // 툴바 배경색을 변경합니다. addInquiryMenuItemViewaddSettingsMenuItemView(activity, unitId); // 문의하기메뉴 버튼은버튼 이추가 함수를(메뉴 통해안에 간단하게문의하기 추가버튼이 가능합니다.있습니다) // addRightMenuItemView1addInquiryMenuItemView(activity, unitId); // custom문의하기 버튼 추가버튼은 이 함수를 통해 간단하게 추가 가능합니다. addRightMenuItemView(activity, unitId); // custom 버튼 추가 return toolbar; } // custom 버튼 추가는 toolbar.buildPopMenuItemView 를 사용하여 PopMenuImageView 를 생성하고 // toolbar.addRightMenuButton 를 사용하여 toolbar 에 추가합니다. private void addRightMenuItemView1addRightMenuItemView(@NonNull final Activity activity, @NonNull final String unitId) { PopMenuImageView menuItemView = toolbar.buildPopMenuItemView(activity, R.mipmap.ic_launcher); menuItemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showInquiry(activity, unitId); // 문의하기 페이지로 연결합니다. } }); toolbar.addRightMenuButton(menuItemView); } } |
FeedConfig에 YourPopToolbarHolder
를 설정합니다.
Code Block | ||
---|---|---|
| ||
final FeedConfig popFeedConfig = new PopConfigFeedConfig.Builder(getApplicationContext(), "YOUR"YOUR_POP_UNIT_ID") ...생략... .feedToolbarHolderClass(YourPopToolbarHolder.class) .build(); new PopConfig.Builder(getApplicationContext(), popFeedConfig) ...생략... .build(); |
Custom View를 직접 구현하여 UI를 변경
...
DefaultPopToolbarHolder
의 상속 클래스는 구현하여 툴바를 변경합니다. SDK에서 제공하는 PopToolbar
를 사용하지 않고 직접 구성한 레이아웃을 사용합니다. 그리고 DefaultPopToolbarHolder
를 상속해 새로운 클래스를 구현하고, 구현한 상속 클래스는 PopConfig
에 설정합니다.
다음은 레이아웃을 직접 구성하여 구현하는 예제입니다.
Code Block | language | java
---|
public class YourPopToolbarHolder extends DefaultPopToolbarHolder {
@Override
public View getView(Activity activity, @NonNull final String unitId) {
// 직접 구성한 layout 을 사용합니다
ViewGroup root = (ViewGroup) activity.getLayoutInflater().inflate(R.layout.your_pop_custom_toolbar_layout, null);
View buttonInquiry = root.findViewById(R.id.yourInquiryButton);
buttonInquiry.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 문의하기 페이지 열기
showInquiry(activity, unitId);
}
});
return root;
}
} |
Code Block | ||
---|---|---|
| ||
final FeedConfig popFeedConfig = new PopConfigFeedConfig.Builder(getApplicationContext(), "YOUR_POP_UNIT_ID") ...생략... .feedToolbarHolderClass(YourPopToolbarHolder.class) .build(); new PopConfig.Builder(getApplicationContext(), popFeedConfig) ...생략... .build(); |
유틸리티 영역 UI 변경
...
유틸리티 영역을 활용하여 사용자에게 편리한 기능을 제공합니다.
...