Skip to content

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)

주의:게임 클라이언트에서 서버 검증 인터페이스 및 역할 인터페이스를 호출한 후에만 호출 가능합니다.

매개변수 ​

매개변수설명
contextContext 컨텍스트
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)

매개변수 ​

매개변수설명
contextContext 컨텍스트
listener조회 결과 콜백

콜백 메소드 매개변수 설명 ​

java
onRewardResult(boolean isSuccess)
매개변수설명
isSuccess현재 플레이어가 초대를 받았으며, 이번 호출로 서버에 보상을 지급하도록 통지했는지 여부.

예시 코드 ​

java
GDSDK.gamedreamerInvitationRewards(this, new GamedreamerInvitationRewardsListener() {
			@Override
			public void onRewardResult(boolean isSuccess) {
				handleAFLinkReceive(isSuccess);
			}
		});