Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Pop Notification 을 수정하기 위해서는 PopControlService 의 상속 클래스를 구현합니다. 필요에 따라 notificationChannel 을 생성하거나 View 를 등록할 수 있습니다. NotificationId는 PopNotificationConfig에서 설정할 수 있습니다. 구현한 상속 클래스는 Manifest 에 등록해야합니다Manifest에 등록해야 합니다.

PopControlService몇가지 몇 가지 편리한 기능을 제공합니다. 필요에 따라 사용할 수 있습니다.

...

Code Block
languagejava
// AndroidManifest.xml

<application
    ...생략...
    
    <service android:name=".java.YourControlService" />
    
    ...생략...
</application>

툴바 영역 View 자체 구현

<< Pop 툴바 영역 >>

툴바 영역에 직접 구현한 View를 등록하여 UI를 변경할 수 있습니다. Buzzvil Android SDK가 제공하는 UI을 이용하여 변경하는 방법과 사용하지 않고 변경하는 방법이 있습니다.

  1. SDK가 제공하는 UI를 이용하여 변경
    기본으로 제공되는 UI를 이용하여 변경하는 방법입니다. 간단하지만 제약이 있습니다.

  2. UI를 직접 구현하여 변경
    Notification의 동작, UI 레이아웃까지 직접 구현하여 변경하는 방법입니다.

1. SDK가 제공하는 UI를 이용하여 변경

...

DefaultPopToolbarHolder의 상속 클래스는 구현하여 툴바를 변경합니다. SDK에서 제공하는 PopToolbar 를 이용하여 정해진 레이아웃에서 변경합니다. 상속 클래스는 PopConfig의 feedToolbarHolderClass에 설정합니다.

다음은 SDK가 제공하는 UI를 이용하여 구현하는 예시입니다.

Code Block
languagejava
public 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); // 툴바 배경색을 변경합니다.

        addInquiryMenuItemView(activity, unitId); // 문의하기 버튼은 이 함수를 통해 간단하게 추가 가능합니다.
        addRightMenuItemView1(activity, unitId); // custom 버튼 추가
        return toolbar;
    }

    // custom 버튼 추가는 toolbar.buildPopMenuItemView 를 사용하여 PopMenuImageView 를 생성하고
    // toolbar.addRightMenuButton 를 사용하여 toolbar 에 추가합니다.
    private void addRightMenuItemView1(@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);
    }
}
Code Block
languagejava
new PopConfig.Builder(getApplicationContext(), "YOUR_POP_UNIT_ID")
      .feedToolbarHolderClass(YourPopToolbarHolder.class)
      .build();

2. UI를 직접 구현하여 변경

...

DefaultPopToolbarHolder의 상속 클래스는 구현하여 툴바를 변경합니다. SDK에서 제공하는 PopToolbar를 사용하지 않고 직접 구성한 레이아웃을 사용합니다. 상속 클래스는 PopConfig의 feedToolbarHolderClass에 설정합니다.

다음은 레이아웃을 직접 구성하여 구현하는 예제입니다.

Code Block
languagejava
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
languagejava
new PopConfig.Builder(getApplicationContext(), "YOUR_POP_UNIT_ID")
      .feedToolbarHolderClass(YourPopToolbarHolder.class)
      .build();

Interstitial 광고 지면 추가

...

popExitUnitId를 설정하면 사용자가 Pop 지면에서 이탈을 할 때, Interstitial 광고를 노출합니다. Interstitial 지면의 unit id 발급을 원하시는 경우에는 버즈빌 매니저에게 문의하시기 바랍니다.

...