친구추천
본 문서는 BuzzScreen 유저에 대해 친구추천 기능을 제공하고 추천인과 피추천인에게 포인트를 지급할 수 있는 모듈에 대한 연동 가이드입니다. 본 모듈을 사용하여 친구추천 이벤트를 통해 신규 유저의 유입을 증대시킬 수 있습니다.
Index
Getting Started
1. Requirements
항목 | 세부내용 | |
---|---|---|
1 | BuzzScreen SDK 버전 | 1.9.2.3 버전 이상부터 사용 가능 |
2 | 친구추천 기능 오픈 대상 | 잠금화면 사용 이후부터 BuzzScreen의 유저 로 인식되므로, 현재 잠금화면을 사용 중인 유저에 대해서만 오픈하는 것을 권장 |
3 | 추천 / 피추천 가능 횟수 | 유저 1명 당
|
2. Prerequisites
연동 시작 전, 아래 사항을 버즈빌 BD 매니저에게 전달합니다.
항목 | 세부내용 | |
---|---|---|
1 | 친구추천 이벤트 시작 일시 | - |
2 | 추천인 & 피추천인에게 지급할 포인트 금액 | - |
3 | Verification url | 친구추천 이벤트에 참여하는 유저에 대해 유효한 → 관련 API 문서를 참고하여 Endpoint url을 버즈빌에 전달 |
Basic Usage
1. build.gradle
설정
모듈 내 build.gradle
파일에 아래와 같이 친구추천 라이브러리를 연동합니다.
dependencies {
implementation 'com.buzzvil.buzzscreen.ext:referral:1.0.4'
}
2. 메소드 호출
ReferralHelper
라는 클래스 안에 아래와 같은 함수들을 제공하고 있습니다.
1) 친구추천 이벤트 및 유저의 참여 상태 확인
void callUser(Context context, UserResponseListener listener)
: 버즈빌 서버로부터 친구추천 이벤트의 진행 상황 및 현재 잠금화면을 사용하고 있는 유저의 친구추천 참여 상태값을 받아옵니다.호출 위치: 추천인 코드를 입력하는 화면의 액티비티를 띄우기 전
Parameters
Context
: Application context를this
로 전달UserResponseListener
Response : 아래 표 참고
콜백 | 파라미터 | 세부내용 |
---|---|---|
|
| 버즈빌 서버에서 친구추천 이벤트로 포인트를 지급할 수 있는 상태인지 여부 |
| 해당 유저의 추천인 코드 버즈빌 서버에 유저로 기록되기 위해서는 잠금화면 사용이 필수이므로 잠금화면 활성화 이후에 함수 호출 필요! | |
| 버즈빌 서버에 설정된, 추천인과 피추천인 모두에게 지급될 포인트 금액 | |
| 해당 유저가 추천인 코드를 입력한 적이 있는지 여부. 추천인 코드를 입력하고 포인트를 받아간 이력이 있으면 | |
| 이벤트 종료 시점이 지났는지 여부. 이벤트 종료 시점이 지났을 경우 | |
|
| 모듈에서 제공하는 기본 에러 메시지
|
참고) Response 값에 따른 UI 구현 사항
친구에게 공유할 앱 다운로드 등의 링크는 아래 항목과 무관하게 상시 사용 가능합니다. 단, 해당 링크에 유저의 추천인 코드를 포함할지 여부는 아래 표를 참고해주세요.
No |
|
|
| 추천인 코드 입력란 | 안내 문구 및 초대 메시지에 | 유저 본인의 | 공유 링크에 추천인 코드 |
---|---|---|---|---|---|---|---|
1 | True | True | True | X | X | X | X |
2 | True | True | False | △** | X | X | X |
3 | True | False | True | X | O | O | O |
4 | True | False | False | O | O | O | O |
5 | False | - | - | X | X | X | X |
*아래 Advanced Usage 내용 참고
**이벤트 종료 전에 포인트 내용이 담긴 초대 메시지를 받은 유저가, 이벤트 종료 후에 추천인 코드 입력 페이지에 접속할 경우 포인트를 지급할 것인지 여부에 따라 입력란 노출 여부를 결정합니다.
2) 추천인 코드 전달 및 포인트 적립
유저가 추천인 코드를 입력하여 제출하는 단계에 아래 메소드를 호출합니다.
유저가 추천인 코드 입력란에 본인의 추천인 코드를 입력하는 경우는 callReferral()
호출 전에 UI 단에서 막는 것을 권장합니다.
void callReferral(Context context, String referrerCode, ReferralResponseListener listener)
: 입력된 추천인 코드를 버즈빌 서버에 전달합니다. 전달된 추천인 코드에 따라 해당되는 콜백이 리턴됩니다.Context
: Application context를this
로 전달String referrerCode
: 입력된 추천인 코드를 String으로 전달ReferralResponseListener
Response : 아래 표 참고
콜백 | 세부내용 |
---|---|
|
|
|
|
|
|
Advanced Usage
앱 다운로드 링크에 referrer paramter로 전달된 추천인 코드 받아오기
추천인이 피추천인에게 공유하게 될 앱 다운로드 링크 등에 referrer parameter로 추천인 코드가 붙어서 넘어가는 경우, 아래 방법을 통해 자동으로 추천인 코드를 받아올 수 있습니다. 추천인의 링크를 타고 들어온 피추천인이 별도로 추천인 코드를 입력하지 않고 보다 쉽게 포인트를 받아갈 수 있도록 도움을 주기 위해 추가된 함수입니다.
1) AndroidManifest.xml
설정
<receiver
android:name=".ReferrerReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
2) BroadcastReceiver
구현
public class ReferrerReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// BuzzScreen Referral
// 기존에 com.android.vending.INSTALL_REFERRER intent를 받아 처리하는 receiver가 존재할 경우,
// 해당 Receiver class의 `onReceive()`에 아래 코드를 추가
new com.buzzvil.buzzscreen.referral.ReferrerReceiver().onReceive(context, intent);
}
}
3) 추천인 코드 받아오기
String getReferrerCode()