2

我試圖使用Firebase將深層鏈接傳遞到我的應用程序中,以便安裝。Firebase動態深層鏈接在安裝後到達零

爲了測試這一點,我按照Firebase文檔和Firecast視頻here提供的步驟在大約12分40秒的時間進行測試。步驟如下:

  1. 首先,我從設備上刪除應用程序。
  2. 然後我按鏈接打開應用商店。
  3. 然後我從xcode運行我的應用程序。
  4. 預計:dynamicLink.url屬性將在應用程序中等於「https://www.example.com/data/helloworld」:openURL
  5. 實際:dynamicLink.url屬性到達零。

這是我在火力地堡控制檯創建的深層鏈接網址:https://nqze6app.goo.gl/RIl8

這是傳遞到應用程序的URL:的OpenURL之前被傳遞到dynamicLinkFromCustomSchemeURL:com.johnbogil.voices:// ?谷歌/鏈接/解僱fdl_cookie

這是我的OpenURL調用的代碼:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options { 
    FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url]; 
    if (dynamicLink) { 
    NSLog(@"I am handling a link through the openURL method"); 
    [self handleDynamicLink:dynamicLink]; 
    return YES; 
    } else { 
    return NO; 
    } 
} 

不知道爲什麼dynamicLink.url是到達零。任何援助表示讚賞。

+0

你還可以分享... 1.你的'application:openURL'調用的內容?和2.完全擴展的動態鏈接? (在Firebase控制面板中,單擊溢出菜單中的「鏈接詳細信息」,您應該在下面看到它。) –

+0

@ToddKerpelman 1)' - (BOOL)應用程序:(UIApplication *)app openURL:(NSURL *) URL選項:(NSDictionary *)options FIRDynamicLink * dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url]; (動態鏈接)NSLog(@「我正在通過openURL方法處理鏈接」); [self handleDynamicLink:dynamicLink]; 返回YES; } else { return NO; } }' 2)https://nqze6.app.goo.gl/?link=https://www.example.com/data/helloworld&isi=965692648&ibi=com.johnbogil.voices 定位和測試對於iOS 9.3 – John

+0

好的。那麼您是否可以確認您在控制檯輸出中看到了「我正在通過openURL方法處理鏈接」鏈接?另外...有沒有機會讓Safari進入「私密」模式? –

回答

0

任何人還有誰是誰遇到同樣的錯誤......

  1. 如果您application:openURL方法獲取調用,並且
  2. 你似乎是從你的dynamicLinkFromCustomSchemeURL方法得到有效dynamicLink對象,但
  3. 是dynamicLink對象的url參數是零

然後仔細檢查,看看是否」在Safari中進入「私人」模式。這可能會讓Firebase動態鏈接檢索您點擊的原始鏈接的功能變得混亂。

+0

我嘗試了所有,但仍然得到FIRDynamicLink和錯誤,因爲無 –

+0

您也可以幫助:http://stackoverflow.com/q/42093902/6144372 –

1

我有同樣的問題。我得到回調restorationHandler但在handleUniversalLink回調dynamiclink和錯誤都是零。花了一些時間後,我發現我的問題。

原來,url區分大小寫。例如,如果您的網址是:

https://xzz6b.app.goo.gl/0EWv

,你在筆記中寫道https://xzz6b.app.goo.gl/0ewv,並點擊它。它會加載你的應用程序,甚至給你回調restorationHandlerdynamiclink將爲零。

即使在瀏覽器中也可以嘗試。

希望它可以幫助任何人。