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);
			}
		});