Versions Compared

Key

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

...

BuzzAdPop Sdk는 maven 을 통해 다운받으실 수 있습니다. 다음 코드를 build.gradle 에 추가해 주십시오.

 

Code Block
repositories {
    maven { url "https://dl.bintray.com/buzzvil/maven/" }
}

dependencies {
    implementation "com.buzzvil:buzzad-benefit-pop:2.35.+"
}

Note: BuzzAdPop은 BuzzAdBenefit SDK 에 통합되어 배포되고 있습니다.

...

BuzzAdPop은 BuzzAdBenefit SDK에 통합되어 관리되고 있기 때문에 팝을 초기화 하기 위해서 BuzzAdBenefit을 초기화 해주어야 합니다. AndroidManifest.xml 에 App ID 를 설정하고, 팝을 실행하기 전BuzzAdBenefit.init()을 호출하여 BuzzAdPop SDK 를 초기화 합니다. 이때 팝을 커스텀 할 수 있는 옵션들과 발급받은 unit id, app id 등을 인자로 넘겨주게 됩니다. 자세한 사항은 초기화 페이지를 참고해 주십시오. 초기화 코드는 앱 실행시 한번만 실행하면 됩니다. 아래 코드는 init() 함수를 Application에서 호출해 주는 코드의 예시입니다.

  PopConfig 를 통해 Unit ID 를 설정합니다.

Code Block
languagejava
package ...
import ...
import com.buzzvil.buzzad.benefit.BuzzAdBenefit;
import com.buzzvil.buzzad.benefit.BuzzAdBenefitConfig;
import com.buzzvil.buzzad.benefit.presentation.pop.PopConfig;

public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        final PopConfig popConfig = new PopConfig.Builder(getApplicationContext(), "POP_UNIT_ID_HERE")
                .build();
        final BuzzAdBenefitConfig buzzAdBenefitConfig = new BuzzAdBenefitConfig.Builder("BENEFIT_APP_ID_HERE"((getApplicationContext())
                .add(popConfig)
                .build();

        BuzzAdBenefit.init(this, buzzAdBenefitConfig);
    }
}

...

  • userId : 매체사 서비스 유저를 unique 하게 구분할 수 있는 식별값

    • 매체사 서비스에서 유니크하다고 판단되는 유저에 대하여, userId 값이 복수 개 연동되거나 변경될 가능성이 있을 경우 사전에 BD 매니저와 논의해야 합니다.

    • 예: 매체사 앱 삭제 후 재설치 시 userId 값이 변경되는 경우

  • gender

    • UserProfile.Gender.MALE: 남성

    • UserProfile.Gender.FEMALE: 여성

  • birthYear: 출생년도

 

Code Block
final UserProfile.Builder builder = new UserProfile.Builder(BuzzAdBenefit.getUserProfile());
final UserProfile userProfile = builder
        .userId("Your_Service_User_ID")
        .gender(UserProfile.Gender.MALE)
        .birthYear(1985)
        .build();
  
BuzzAdBenefit.setUserProfile(userProfile);

...

  1. Pop을 권한 설정을 해 줄 Activity에 BuzzAdPop 클래스를 변수로 추가합니다.

    Code Block
    private BuzzAdPop buzzAdPop;
  2. Activity의 onCreate에서 Pop의 unit id를 이용해 BuzzAdPop의 인스턴스를 만들어 줍니다.

    Code Block
    this.buzzAdPop = new BuzzAdPop(context, "POP_UNIT_ID");
  3. 다음은 앱이 필요한 권한이 있는지 확인하고 없다면 권한을 얻도록 유도하는 코드입니다.

    Code Block
    public static final int REQUEST_CODE_SHOW_POP = 1024;
    
    public void enablePopshowPopOrRequestPermissionWithDialog() {
        BuzzAdPop buzzAdPop = new BuzzAdPop(context, "POP_UNIT_ID");
        if (buzzAdPop.hasPermission(context)) {
            // Show pop
        } else {
            buzzAdPop.requestPermissionWithDialog((Activity) context,
                new PopOverlayPermissionConfig.Builder(R.string.pop_name)
                    .settingsIntent(OverlayPermission.createIntentToRequestOverlayPermission(context))
                    .requestCode(REQUEST_CODE_SHOW_POP)
                    .build()
            );
        }
    }
  4. 사용자가 설정에서 다른 앱 위에 그리기 권한을 주고 나면 원래 Activity로 돌아오게 됩니다. 이 때 Intent로 result 값이 넘어오게 되는데 이 값을 읽어서 설정에서 권한을 받았다는 것을 알 수 있습니다.

    Code Block
    import static com.buzzvil.lib.buzzsettingsmonitor.SettingsMonitor.KEY_SETTINGS_REQUEST_CODE;
    import static com.buzzvil.lib.buzzsettingsmonitor.SettingsMonitor.KEY_SETTINGS_RESULT;
    
    public class MainActivity extends AppCompatActivity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    		
            if (getIntent().getBooleanExtra(KEY_SETTINGS_RESULT, false)
                    && getIntent().getIntExtra(KEY_SETTINGS_REQUEST_CODE, 0) == REQUEST_CODE_SHOW_POP) {
                // Permission granted
            }
        }
    }

Step 5. 실행

팝을 활성화 하기 위해서buzzAdPopBuzzAdPop.showPoppreloadAndShowPop() 함수를 호출해 줍니다. 한번 한 번 활성화 하면 foreground service가 켜지면서 화면을 껐다켤때마다 팝이 지속적으로 화면에 보이게 됩니다. 팝의 원활한 실행을 위해 광고를 미리 로드한 상태에서 로드하고 Pop 이 화면에 보이도록 BuzzAdPop.showPoppreloadAndShowPop()을 실행시킵니다. 

Code Block
BuzzAdPop buzzAdPop = new BuzzAdPop(context, "POP_UNIT_ID");
buzzAdPop.preload(new BuzzAdPop.PopPreloadListener() {
    @Override
    public void onPreloaded(int adsSize, int articlesSize) {
        buzzAdPop.showPop(context, true);
    }

    @Override
    public void onError(AdError error) {
        buzzAdPop.showPop(context, false);
    }
}preloadAndShowPop(context);

...

Customize

Customize 페이지 에서 CTA Color 변경, 말풍선 (MessagePreview) 기능 등 Customize 가능 한 기능들을 확인할 수 있습니다.

...