Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Current »

본 가이드는 기존 연동 돼있던 BuzzAd Benefit의 버전을 2 버전으로 업데이트에 필요한 내용을 담고 있습니다.

Requirement


AndroidX 사용하기 문서를 참조해 프로젝트를 Migration해야 합니다.

Interface Changes


Benefit 2에서는 다음과 같은 변경사항이 있습니다.

공통 적용 항목

다음 항목들은 공통으로 적용이 필요한 항목입니다.

1. CustomLauncher 를 사용할 수 없습니다.

  • BuzzAdBenefit.setLauncher(customLauncher);

2. AppKeyAndroidManifest.xml 을 통해 추가할 수 있도록 변경되었습니다.

  • 다음과 같은 meta_data를 추가

    • app-pub-000000000000의 숫자 부분에 기존에 사용중이던 app_id 삽입

  • 기존의 BuzzAdBenefitConfig.Builder("YOUR_APP_ID")는 deprecated 되었습니다.

<application>
    <meta-data  
      android:name="com.buzzvil.APP_KEY"  
      android:value="app-pub-000000000000" />
</application>

타입별 적용 항목

다음 항목들은 연동 중인 타입에 따라 적용이 필요한 항목입니다. (POP 에만 적용되는 항목은 아래에 따로 정리되어 있습니다.)

1. NativeAdRewardResult 클래스의 이름이 RewardResult 로 변경되었습니다.

  • 적용되는 타입: Native/ Feed Type

private final NativeAdView.OnNativeAdEventListener onNativeAdEventListener = new NativeAdView.OnNativeAdEventListener() {
        // 변경전
        @Override
        public void onRewarded(@NonNull NativeAdView view, @NonNull NativeAd nativeAd, @Nullable NativeAdRewardResult nativeAdRewardResult) {
        }

        // 변경후
        @Override
        public void onRewarded(@NonNull NativeAdView nativeAdView, @NonNull NativeAd nativeAd, @Nullable RewardResult rewardResult) {
        }
};

2.FeedConfig.Builder 생성 시 Context 를 받아오도록 변경되었습니다.

  • 적용되는 타입: Feed/ Pop Type

final FeedConfig feedConfig = new FeedConfig.Builder(context, App.UNIT_ID_FEED).build();

POP type 적용 항목

Benefit 2에서 Pop 에는 아래의 변경사항이 추가적으로 진행되어야 합니다.

1. BuzzAdPop 생성시 parameter로 context 가 필요하게 변경됐습니다.

 final PopConfig popConfig = new PopConfig.Builder(getApplicationContext(), "POP_UNIT_ID_HERE")

2. PopNotificationConfig build 시 smallIconResId 설정을 optional 로 변경했습니다.

  • Pop 초기화 - Step 2. Custom Service Class 등록 (link1)

  • Pop 초기화 - Step 5. PopConfig 를 빌드 (link2)

3. 팝의 default 툴바 사용 관련 변경 사항

  • 팝의 default 툴바 사용을 위해, 팝 초기화시 feed config에 아래 내용 추가가 필요합니다. (link)

.feedToolbarHolderClass(DefaultPopToolbarHolder.class)

4. Pop 초기화 Advanced - Custom Service Notification 관련 변경 사항

  • 아래 내용이 Optional로 변경됐습니다. 제거 하면 default 함수로 구현되므로 제거해도 됩니다. (link)

@TargetApi(Build.VERSION_CODES.O)
    private void createNotificationChannelIfNeeded() {
        final NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        if (notificationManager.getNotificationChannel(NOTIFICATION_CHANNEL_ID) == null) {
            final NotificationChannel channel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, NOTIFICATION_CHANNEL_NAME, NotificationManager.IMPORTANCE_LOW);
            channel.setShowBadge(false);
            notificationManager.createNotificationChannel(channel);
        }
    }
  • CustomControlService class 관련 코드 수정이 있었습니다. (link)

이전 코드
        // 5. CustomContolService 에서 사용할 View 를 등록합니다.
        RemoteViews remoteView = new RemoteViews(getPackageName(), R.layout.view_custom_notification);
        builder.setSmallIcon(popNotificationConfig.getSmallIconResId())
                .setContent(remoteView)
                .setContentIntent(popPendingIntent)
                .setPriority(PRIORITY_LOW)
                .setShowWhen(false);
        if (popNotificationConfig.getColorResId() != RESOURCE_NOT_SET) {
            builder.setColor(ContextCompat.getColor(this, popNotificationConfig.getColorResId()));
        }
        return builder.build();
        
변경된 코드
        // 5. CustomContolService 에서 사용할 View 를 등록합니다.
        RemoteViews remoteView = new RemoteViews(getPackageName(), R.layout.view_custom_notification);
        builder.setSmallIcon(popNotificationConfig.getSmallIconResId())
                .setContent(remoteView)
                .setContentIntent(popPendingIntent)
                .setPriority(PRIORITY_LOW)
                .setShowWhen(false);
        if (popNotificationConfig.getColor() == null) {
            builder.setColor(popNotificationConfig.getColor());
        }
        return builder.build();
  • No labels