AppsFlyer 공유 링크
- 선택사항. 이 기능은 초대 링크 생성 및 초대자 및 피초대자 정보 획득에 사용되며, 공유 기능은 포함하지 않습니다. 공유 기능은 당사 SDK 다른 API를 호출하거나 별도로 구현하세요.
- 게임 클라이언트에서 AppsFlyer 초대 링크 생성 인터페이스(아래 1.)를 호출하여 초대자가 초대 링크를 생성한 후, 소셜 채널에서 공유하여 피초대자가 클릭하여 게임을 다운로드하고 게임을 열 수 있도록 합니다.
- 게임 클라이언트에서 AppsFlyer 보상 조회 인터페이스(아래 2.)를 호출하여 현재 사용자가 링크를 통해 게임을 열었는지 확인하고 백엔드에 기록합니다.
- 예시:(1)A 사용자가 a 이벤트에 대해 초대 링크 생성 인터페이스를 통해 링크 a1을 생성하고, a1을 B 사용자에게 제공합니다. B 사용자가 a1 링크를 통해 게임을 연 후, 보상 조회 인터페이스를 호출하면 보상 조회 인터페이스의 콜백 isSuccess=true로, A가 B를 초대 성공 기록 및 게임 서버로 전송되었음을 나타냅니다.(2)B 사용자가 다시 a1 링크를 통해 게임을 열 때, 조회 인터페이스를 호출하면 보상 조회 인터페이스의 콜백 isSuccess=false입니다.(3)A 사용자가 b 이벤트에 대해 초대 링크 생성 인터페이스를 통해 링크 b1을 생성하고, B 사용자가 b1 링크를 통해 게임을 연 후, 보상 조회 인터페이스를 호출하면 보상 조회 인터페이스의 콜백 isSuccess=true입니다.
AndroidMainefest.xml 구성
시작 activity에 필요한 scheme을 구성합니다. 다음과 같습니다:
xml
<activity
android:name="com.gd.sdk.test.MainActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme={당사에서 제공하는 Scheme 입력, 일반 형식은 "gamecode(소문자)+facebook 앱 ID"} />
</intent-filter>
</activity>gd_config.xml 확인
gd_config.xml의 AppsFlyer Key 및 AppInviteOneLink ID 존재 여부 및 최신 값 확인
java
<!-- AppsFlyer Key -->
<string name="gd_appsflyer_key" translatable="false">{SDK 패키지 내 제공:xxxxxxxxxxxxx}</string>
<!-- AppInviteOneLink ID -->
<string name="gd_app_invite_one_link_id" translatable="false">{SDK 패키지 내 제공:xxxx}</string>1.게임 클라이언트에서 AppsFlyer 초대 링크 생성 인터페이스 호출
주의:게임 클라이언트에서 서버 검증 인터페이스 및 역할 인터페이스를 호출한 후에만 호출 가능합니다.
호출 방법:
public static void gamedreamerInviteLink(Context context,
@NonNull String inviteEventKey,
@Nullable String inviteEventValue,
@NonNull String inviteChannel,
GamedreamerInviteLinkListener listener)주의:게임 클라이언트에서 서버 검증 인터페이스 및 역할 인터페이스를 호출한 후에만 호출 가능합니다.
매개변수
| 매개변수 | 설명 |
|---|---|
| context | Context 컨텍스트 |
| inviteEventKey | 공유 이벤트 Key(제품 제공) |
| inviteEventValue | 공유 이벤트 투과 Value |
| inviteChannel | 공유 채널, com.gd.sdk.GDChannel 값 전달, 예:GDChannel.NORMAL |
| listener | 초대 링크 생성 콜백 |
콜백 메소드 매개변수 설명
java
onResult(boolean isSuccess, String link, String message)| 매개변수 | 설명 |
|---|---|
| isSuccess | 생성 성공 여부 |
| link | 생성된 URL, 클라이언트가 URL을 받은 후, 호출 시 전달한 inviteChannel에 따라 자체적으로 해당 공유 채널을 실행하여 사용자가 이 URL을 공유하도록 합니다. |
| message | 인터페이스 호출 정보 |
예시 코드
java
GDSDK.gamedreamerInviteLink(context, "hw_invite0915", "{\"inviteTime\":\"1601186935\",\"inviteTag\":\"default\",\"inviteAccountId\":82}", GDChannel.NORMAL, new GamedreamerInviteLinkListener() {
@Override
public void onResult(boolean isSuccess, String link, String message) {
handleAFLink(isSuccess, link, message);
}
});2.게임 클라이언트에서 AppsFlyer 보상 조회 인터페이스 호출
주의:게임 클라이언트에서 서버 검증 인터페이스 및 역할 인터페이스를 호출한 후에만 호출 가능합니다.
호출 방법:
public static void gamedreamerInvitationRewards(Context context, GamedreamerInvitationRewardsListener listener)매개변수
| 매개변수 | 설명 |
|---|---|
| context | Context 컨텍스트 |
| listener | 조회 결과 콜백 |
콜백 메소드 매개변수 설명
java
onRewardResult(boolean isSuccess)| 매개변수 | 설명 |
|---|---|
| isSuccess | 현재 플레이어가 초대를 받았으며, 이번 호출로 서버에 보상을 지급하도록 통지했는지 여부. |
예시 코드
java
GDSDK.gamedreamerInvitationRewards(this, new GamedreamerInvitationRewardsListener() {
@Override
public void onRewardResult(boolean isSuccess) {
handleAFLinkReceive(isSuccess);
}
});