2017-08-07 50 views
1

我已將AppsFlyer SDK集成到我的項目中。我設法讓深層鏈接起作用。我在OneLink中創建的任何鏈接都會根據需要打開應用程序。但是我無法訪問鏈接參數。我已經實現了所有如下代理方法:onAppOpenAttribution未要求與AppsFlyer建立深層鏈接

func onAppOpenAttribution(_ attributionData: [AnyHashable : Any]!) { 
    print("Test 1") 
} 

func onAppOpenAttributionFailure(_ error: Error!) { 
    print("Test 2") 
} 

func onConversionDataReceived(_ installData: [AnyHashable : Any]!) { 
    print("Test 3") 
} 

func onConversionDataRequestFailure(_ error: Error!) { 
    print("Test 4") 
} 

當我的應用程序從深層鏈接打開時,不會調用其中的一個。我在這裏錯過了什麼?在我的控制面板中配置的URL中,我將mycompany://配置爲Mobile deeplink URL。任何指針都會很棒。謝謝!

+0

您使用的是哪種iOS SDK版本?你註冊了「委託」嗎?如果您不是通過深層鏈接打開應用程序,那麼會調用「onConversionDataReceived」?也請發佈AppsFlyer初始化 –

回答

2

如果您還沒有,請補充以下方法您的委託:

// Reports app open from a Universal Link for iOS 9 
- (BOOL) application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *_Nullable))restorationHandler {  
    [[AppsFlyerTracker sharedTracker] continueUserActivity:userActivity restorationHandler:restorationHandler]; 
    return YES; 
} 

這將鏈接數據傳遞給AppsFlyer跟蹤和onAppOpenAttribution應該被稱爲結果。

+0

我已經添加了這個,但它沒有被調用,任何想法? – Mohit

+0

你正在設置'[AppsFlyerTracker sharedTracker] .delegate = self'嗎? – pablobart

+0

爲什麼我得到這個錯誤「無法指定'AppDelegate'類型的值鍵入'AppsFlyerTrackerDelegate!'」@poblobart –

1

我剛:

  1. 重新啓動我的Xcode

  2. Redownload provisioning profiles

3)確保你和Xcode項目中背景在真實設備上,當你點擊鏈接。

  1. 確保AppsFlyerTracker.shared().delegate = self位於AppDelegate文件中的didFinishLaunchingWithOptions方法中。
+0

當我添加第4個點時,出現此錯誤**「無法將類型'AppDelegate'的值賦值爲鍵入'!AppsFlyerTrackerDelegate'「** –

+0

你好扯談,請加'AppsFlyerTrackerDelegate'到類像這樣:'類的AppDelegate:UIResponder,UIApplicationDelegate,'** ** AppsFlyerTrackerDelegate'{'汽車人 –

+0

感謝@ B-Tron的餵我upvotes –