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