비스킷 Android SDK 입니다.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ViscuitSDKSample
README.md
viscuit_android_sdk_1_1_5.jar
viscuit_android_sdk_1_1_6.aar
viscuit_android_sdk_1_1_6.jar

README.md

#VISCUIT SDK 적용가이드

목차


VISCUIT SDK 구성

  • 1.1.5 버전 : viscuit_android_sdk_1_1_5.jar
  • 1.1.6 버전 : viscuit_android_sdk_1_1_6.jar
  • 샘플 프로젝트
  • 연동가이드

SDK 적용하기

1. AdroidManifest.xml 설정

1.1 퍼미션 추가

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Viscuit을 Android 6.0 이상에서 사용하실 경우에는 android.permission.WRITE_EXTERNAL_STORAGE 권한을 획득하셔야 합니다.

1.2 Google Play Service meta-data 추가
    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version"/>
1.3 viscuit Activity 추가
    <activity
        android:name="com.viscuit.sdk.ViscuitActivity"
        android:clearTaskOnLaunch="false"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:launchMode="singleTask"
        android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"
        android:windowSoftInputMode="stateHidden" >
    </activity>

2. VISCUIT 사용하기

2.1 라이브러리 IMPORT

2.1.1 라이브러리 IMPORT (버전 : 1.1.5을 사용할 경우)

배포된 viscukit_android.jar를 프로젝트 내에 library로 import 한다.(ex./libs)

2.1.2 라이브러리 IMPORT (버전 : 1.1.6을 사용할 경우 - patch version )

  • viscuit_android_sdk_1_1_6.aar 버전을 사용하지 말고 패치된 viscuit_android_sdk_1_1_6.jar 버전을 사용할 것
  • jar 파일 타입임 (기존의 1.1.5 버전과 동일한 방식으로 사용하면 됨)
  • 배포된 viscuit_android_sdk_1_1_6.jar를 프로젝트 내에 library로 import 한다.(ex./libs)

android {

...

useLibrary  'org.apache.http.legacy'	# org.apache.http 패키지를 사용하기 위해서 사용한다. 

... 

}

dependencies {

implementation fileTree(dir: 'libs', include: ['*.jar'])

implementation files('libs/viscuit_android_sdk_1_1_6.jar')

# classes.jar 와 google-play-services.jar 인 경우, 
# App 상에서 아래의 사항을 build.gradle에 추가하되 버전 차이 및 기타 이유로 충돌이 나는 경우 
# viscuit에서 제공하는 라이브러리를 사용하지 않아도 된다.  
implementation files('libs/classes.jar')	# 필요시, classes.jar를 추가한다. 
implementation files('libs/google-play-services.jar')  # 필요시, google-play-services.jar를 추가한다.

... 

}

2.2 VISCUIT 초기화

현재 슬롯 상태를 초기화 한다. Init시 광고 정보를 가져와서 영상 정보를 저장합니다. 슬롯 아이디를 변경할 이유가 없다면 Application에 최초 1번 설정하는것이 좋습니다.

ViscuitSDK.init(this, "viscuit", "test_ads");

Viscuit을 Android 6.0 이상에서 사용하실 경우에는 android.permission.WRITE_EXTERNAL_STORAGE 권한을 미리 획득하신후 초기화를 하셔야 합니다.

2.3 콜백을 받기 위한 리스너 등록

리워드 지급 목적으로 제공되는 Listener입니다. 사용자가 동영상 광고 시청에 대한 CallBack을 제공합니다.

ADReady CallBAck 삭제됨. 1.1.5

ViscuitSDK.setViscuitListener(new onViscuitListner() {
			@Override
			public void adcallbackmessage(ViscuitResult result) {
				switch(result) {
				case ERROR:
					//네트워크 에러 및 광고 시청 중간에 앱 종료 등
					break;
				case NOAD:
					// 광고 없음
					break;
				case SKIP:
					//스킵 상품의 광고를 스킵함.
					break;
				case SUCCESS:
					//정상적으로 광고 시청을 모두 완료함.
					//리워드 지급
					break;
				}
			}
		});

2.4 광고 호출

동영상 광고를 노출 합니다. 이때 재생할 영상이 없다면 CallBack으로 NoAd가 전달 됩니다.

ViscuitSDK.viscuitStart();

2.5 광고 정보 갱신하기

서버로부터 최신의 광고 데이터를 받아온다.

ViscuitSDK.reloadAdStatus(this);
ViscuitSDK.reloadAdStatus(this, onReloadListener listener);

2.6 광고 상태 체크

SDK 내부에 있는 광고 상태를 리턴한다. ViscuitSDK.reloadAdStatus(this) 를 호출 함으로써 최신의 정보로 갱신이 가능하다.

(boolean) ViscuitSDK.isAdReady(this);

2.7 라이프 사이클 등록

올바른 광고 재생을 위해 Activity의 생명 주기를 전달합니다. 사용자의 화면 전환에 대한 처리를 하기 위함이니 Fragment가 아닌 Activity에서 호출해 주시기 바랍니다.

	@Override
	public void onPause() {
		super.onPause();
		//라이프사이클 등록
		ViscuitSDK.onPause(this);
	}

	@Override
	public void onResume() {
		super.onResume();
		//라이프사이클 등록
		ViscuitSDK.onResume(this);
	}

2.8 개발 모드 셋팅

개발모드를 설정한다. 해당 값이 true일 경우에는 샘플 광고가 노출 됩니다. 또한 시뮬레이터에서도 동작합니다.

ViscuitSDK.setDevType(true);

2.9 Proguard

난독화를 하실 경우에는 아래 코드를 추가해주시기 바랍니다. 난독화가 제대로 동작하지 않을 경우에는 동영상 재생 후 랜딩이 제대로 되지 않을수 있습니다.

#Google 라이브러리
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient{public *;}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info{public *;}

#Vistcuit 라이브러리관련
-keep class com.viscuit.sdk.** { *; }

3. VISCUIT 서비스 참고사항

  • 광고 영상은 Download & Play 방식을 취한다.
  • 광고 다운로드 시점은 광고 재생 요청시에만 광고 영상을 다운로드한다.
  • 다운로드된 영상은 viscuit 이라는 디렉토리에 생성된다.
  • 그 밖의 이미지 파일이나 viscuit 서비스를 위해서 필요한 파일들도 된다.