Versions Compared

Key

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

...

  • 팝피드 하단아이콘 참고사항

    • 이미지 사이즈

      • 24*24 dp (mdpi 기준)

      • 96*96 px (xxxhdpi까지 지원, 픽셀기준 최대 4배)

    • 아이콘은 png 와 벡터이미지가 모두 가능합니다.

    • 컬러 아이콘 사용 가능

 

  • 사용법

Code Block
new PopConfig.Builder(getApplicationContext(), "POP_UNIT_ID")
    .popUtilityLayoutHandlerClass(MyPopUtilityLayoutHandler.class)

...

  1. CustomPopToolbarHolder class

    Code Block
    languagejava
    // DefaultPopToolbarHolder 상속
    public class CustomPopToolbarHolder extends DefaultPopToolbarHolder {
        @Override
        public View getView(Activity activity, @NonNull final String unitId) {
            // 직접 구성한 layout 을 사용합니다
            ViewGroup root =  (ViewGroup) activity.getLayoutInflater().inflate(R.layout.view_pop_custom_toolbar, null);
    
            View buttonInquiry = root.findViewById(R.id.buttonInquiry);
            buttonInquiry.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // 문의하기 페이지 열기
                    showInquiry(activity, unitId);
                }
            });
            return root;
        }
    }
  2. CustomPopToolbarHolder에서 사용하는 layout.view_pop_custom_toolbar

    Code Block
    languagexml
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:background="@color/bzv_white_100">
    
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center_vertical"
            android:orientation="horizontal"
            android:paddingLeft="16dp">
    
            <ImageView
                android:id="@+id/imageIcon"
                android:layout_width="154dp"
                android:layout_height="24dp"
                android:src="@drawable/bz_img_buzzvil_logo" />
    
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center_vertical">
    
            <ImageView
                android:id="@+id/buttonInquiry"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginRight="16dp"
                android:src="@drawable/bzv_ic_circle_question"
                android:tint="@color/bzv_gray_light" />
    
        </LinearLayout>
    
    </LinearLayout>

Custom in-app-landing

유틸리티 영역이나 툴바 영역에 버튼을 추가한 경우, 버튼을 클릭했을때 유저를 새로운 activity로 랜딩시키거나 fragment로 랜딩시킬 수 있습니다. (fragment를 이용하는 경우, 보다 자연스러운 UX를 만들 수 있습니다.)

  • activity로 랜딩하는 경우, startActivity를 이용하여 원하는 activity를 열 수 있습니다.

  • fragment로 랜딩하는 경우, 정해신 방식을 따라야 합니다. (아래의 그림은 fragment로 in app landing 시켰을 경우의 예시입니다.)

    • BuzzAd SDK에서는 툴바를 제공하며, SDK 사용자는 fragment 의 내용을 채워넣게 됩니다.

    • toolbar 영역은 제목의 텍스트만 변경가능합니다.

    • contents 영역은 모든 내용을 fragment 로 만들어 넣을 수 있습니다.

...

다음의 클래스가 필요합니다.

  • PopNavigator: pop의 navigation을 담당하는 클래스

  • CustomInAppLandingInfo: 랜딩하게 될 fragment의 내용에 대한 정보를 가지고 있는 클래스

    • fragment: 랜딩되는 화면의 컨텐츠를 담당하는 fragment 객체를 넘겨줍니다.

    • titleResId: 랜딩되는 화면의 타이틀의 resource id를 넘겨줍니다.

예시 코드

Code Block
languagejava
new PopNavigator().launchCustomFragment(
    context,
    new CustomInAppLandingInfo(
        new ExampleFragment(),
        R.stirng.example_title
    )
)

원하는 fragment 를 instantiate하여 (ExampleFragment) CustomInAppLandingInfo 에 넘겨서 화면에 표시하는 코드입니다.