AppsFlyer邀請鏈接(可選)
- 該功能用於生成邀請鏈接以及獲得邀請人與被邀請人信息,不含分享功能,分享功能請調用我方SDK其它API或另外實現。
- 遊戲端調用AppsFlyer邀請鏈接生成接口用於邀請人生成邀請鏈接,然後在社交渠道分享出去,供受邀請人點擊下載遊戲以及打開遊戲。
- 遊戲端調用AppsFlyer查詢獎勵接口用於檢查當前用戶是否通過鏈接鏈接打開遊戲並且紀錄到後臺。
- 例如:(1)A用戶,就a活動,通過生成邀請鏈接接口生成鏈接:a1,a1提供給B用戶打開,B用戶通過a1鏈接打開遊戲後,調用查詢獎勵接口,查詢獎勵接口回調isSuccess=true,表示A邀請B成功紀錄並且發送給遊戲服務端。(2)當B用戶再次通過a1鏈接打開遊戲,調用查詢接口,查詢獎勵接口回調isSuccess=false。(3)A用戶,就b活動,通過生成邀請鏈接接口生成鏈接:b1,B用戶通過b1鏈接打開遊戲後,調用查詢獎勵接口,查詢獎勵接口回調success =true。
通過外鏈喚醒被邀請者的info.plist 配置
如下:
xml
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>{小寫GameCode+ FaceBookAppid}</string>
</array>
</dict>
</array>檢查GamedreamerResources
檢查GamedreamerResources.bundle/ GamedreamerConfig.plist的AppsFlyerDevKey以及AppsFlyerOneLinkID存不存在以及最新值。
xml
<!-- AppsFlyerDevKey -->
<key>AppsFlyerDevKey</key>
<string>{SDK包內提供:xxxx}</string>
<!-- AppsFlyerOneLinkID -->
<key>AppsFlyerOneLinkID</key>
<string>{SDK包內提供:xxxx}</string>1.遊戲端調用AppsFlyer邀請鏈接生成接口
注意:需要遊戲客戶端調用過校驗祠服器接口以及角色接口後才可調用。
調用方法:
Object-C
- (void)gamedreamerSendInvitation:(invite_channel)chanel
eventKey:(NSString *)eventKey
value:(NSString *)eventValue
complete:(void (^)(BOOL success, NSString *inviteUrl))inviteBack;注意:需要遊戲客戶端調用過校驗祠服器接口以及角色接口後才可調用。
參數
| 參數 | 類型 | 是否必填 | 說明 |
|---|---|---|---|
| chanel | NSInteger | 否 | 默認為channel_normal |
| eventKey | NSString | 是 | 邀請事件Key名稱,雙方協商確定後,由遊戲客戶端傳入(注意項為key的命名遵循URL編碼規則) |
| eventValue | NSString | 是 | 邀請事件透傳字段,此處內容格式定義為json字符串 |
| inviteBack | 閉包 | 是 | 生成鏈接結果的閉包 |
回調
java
complete:^(BOOL success, NSString * _Nonnull inviteUrl) {
code
}| 參數 | 類型 | 是否必填 | 說明 |
|---|---|---|---|
| success | BOOL | 是 | 生成是否成功 |
| inviteUrl | NSString | 是 | 生成的url,客戶端獲取到url後,根據調用時候傳入的chanel,自行拉起對應的分享渠道讓用戶分享本url。 |
示例代碼
Object-C
[[GamedreamerManager shareInstance] gamedreamerSendInvitation:(channel_normal)
eventKey:@"hw_invite0915"
value:@"{\"inviteTime\":\"1601186935\",\"inviteTag\":\"default\",\"inviteAccountId\":82}"
complete:^(BOOL success, NSString *inviteUrl) {
code
}];2.遊戲端調用AppsFlyer查詢獎勵接口
注意:需要遊戲客戶端調用過校驗祠服器接口以及角色接口後才可調用。
調用方法:
Object-C
- (void)gamedreamerInvitationRewards:(void (^)(BOOL success ,NSString *msg))rewardBack;回調
Object-C
gamedreamerInvitationRewards:^(BOOL success, NSString * msg) {
code
}| 參數 | 類型 | 是否必填 | 說明 |
|---|---|---|---|
| success | BOOL | 是 | 調用是否成功 |
| msg | NSString | 是 | 調用信息 |
示例代碼
Object-C
[[GamedreamerManager shareInstance]
gamedreamerInvitationRewards:^(BOOL success, NSString *msg) {
code
}];關於AppsFlyer邀請鏈接測試的時候的注意項
在商店沒有正式上應用的時候,即通過scheme的方式測試的情況,注意每一次打開邀請鏈接的時候,瀏覽器都要清一下網頁緩存,至於原因也是appsFlyer網頁這邊的奇怪行為。 當然如果應用已經正式發佈到商店的情況,是可以忽略這個清空瀏覽器緩存來測試的注意項。