Versions Compared

Key

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

...

BuzzAd Benefit에서 제공하는 광고지면의 CTA 테마를 변경할 수 있습니다. 이 단계는 선택사항이긴 하지만 원하는 색상, 아이콘을 적용하는 단계이므로 적용하는 것을 권장합니다. 앱에서 사용중인 application theme에 Buzzvil에서 제공하는 attribute를 정의하여 간편하게 BuzzAd Benefit SDK의 CTA UI를 커스터마이징 할 수 있습니다.

attribute (type)

child attribute (type)

커스터마이징 되는 UI

buzzvilRewardIcon (reference)

N/A

  • [All] cta view 리워드 아이콘

  • [Feed] profile banner 리워드 아이콘

  • [Feed] pop opt-in 버튼 아이콘

  • [Pedometer] pop icon 리워드 아이콘

  • [Pedometer] header banner 리워드 아이콘

  • [Pedometer] milestone 리워드 아이콘

  • [Pedometer] notification 리워드 아이콘

  • [Push] notification 리워드 아이콘

  • [Bridge Point] appCurrencyIcon

buzzvilCtaViewStyle
(reference)

buzzvilCtaBackground
(reference) Cta 배경 설정
buzzvilCtaParticipatedIcon
(reference) 광고 참여 후 아이콘 설정
buzzvilCtaTextColor
(color|reference) Cta 텍스트 색상
buzzvilCtaTextSize
(dimension) Cta 텍스트 크기

  • [All] cta view

buzzvilColorPrimaryDark(reference|color)

N/A

[Feed] Tab UI, Filter UI, Pop FAB 배경색 등

[Interstitial] Feed 진입 경로 텍스트 색상

[Pop] Pop 아이콘 배경색, Toolbar UI, 다른 앱 위에 그리기 권한 다이얼로그 UI 등

[Push] 구독 다이얼로그 UI

[Ext. Auth] 바텀싯 UI

buzzvilColorPrimary (reference|color)

buzzvilColorPrimaryLight
(reference|color)

buzzvilColorPrimaryLighter (reference|color)

buzzvilColorPrimaryLightest (reference|color)


PrimaryColor 변경

BuzzAd SDK 에서 제공하는 UI 중 Dialog의 버튼 색상, Bottom sheet UI의 확인 버튼을 포함하한 일부 UI 의 색상을 아래와 같이 Theme 에서 설정할 수 있습니다.

...

Code Block
languagexml
<!-- your_background.xml -->
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <shape>
            <solid android:color="@color/colorPrimaryDark"/>
            <corners android:radius="4dp"/>
        </shape>
    </item>
    <item android:state_enabled="false">
        <shape>
            <solid android:color="@color/gray"/>
            <corners android:radius="4dp"/>
        </shape>
    </item>
    <item>
        <shape>
            <solid android:color="@color/colorPrimary"/>
            <corners android:radius="4dp"/>
        </shape>
    </item>
</selector>

커스텀

...

런쳐 설정

Custom In-App Browser 사용법

...

Code Block
languagejava
public class MyLauncher implements Serializable, Launcher {

    @Override
    public void launch(@NonNull Context context, @NonNull LaunchInfo launchInfo) {
        launch(context, launchInfo, null);
    }

    @Override
    public void launch(@NonNull final Context context, @NonNull final LaunchInfo launchInfo, @Nullable final LauncherEventListener listener) {
        launch(context, launchInfo, listener, null);
    }

    @Override
    public void launch(@NonNull final Context context, @NonNull final LaunchInfo launchInfo, @Nullable final LauncherEventListener listener, @Nullable List<Class<? extends BuzzAdJavascriptInterface>> javascriptInterfaces) {
                 
        // Custom Browser 실행
        final Intent intent = new Intent(context, CustomBrowserActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.putExtra(CustomBrowserActivity.KEY_URL, launchInfo.getUri().toString()); // URI는 변경 하면 안 됨
        context.startActivity(intent);
    }
}

...

Code Block
languagejava
public class MyLauncher implements Serializable, Launcher {
    @Override
    public void launch(@NonNull final Context context, @NonNull final LaunchInfo launchInfo, @Nullable final LauncherEventListener listener, @Nullable List<Class<? extends BuzzAdJavascriptInterface>> javascriptInterfaces) {
        if (launchInfo.getArticle() != null) {
            String sourceUrl = launchInfo.getArticle().getSourceUrl();
        }
    }
}

...

Code Block
languagejava
public class MyLauncher implements Serializable, Launcher {
    ...
    @Override
    public void launch(@NonNull final Context context, @NonNull final LaunchInfo launchInfo, @Nullable final LauncherEventListener listener, @Nullable List<Class<? extends BuzzAdJavascriptInterface>> javascriptInterfaces) {
        
        // 광고 또는 컨텐츠인지 미리 판단하고 싶을 경우, 다음을 이용하여 확인
        if (launchInfo.getAd() != null) {
            // 광고
        } else if (launchInfo.getArticle() != null) {
            // 컨텐츠
        } 
          
        ...// Custom Browser 실행
    }
}