簡體   English   中英

Facebook 延遲深度鏈接在 iOS 上是否有效,以及如何在應用商店發布應用之前對其進行測試?

[英]Does Facebook Deferred Deep Linking on iOS work, and how to test it before publishing the app on Store?

我在 iOS 上使用 Facebook 延遲深度鏈接時遇到問題。 深度鏈接有效,但延遲深度鏈接不起作用。 我已經閱讀了很多關於這個問題的信息,但仍然找不到解決方案。

我已經設置了深層鏈接並且它有效。 當我還嘗試在App Ads Helper上測試深層鏈接並單擊“測試深層鏈接”,輸入深層鏈接並單擊“發送通知”時,我在 Facebook 上收到一條通知,該通知打開了我的應用程序,並且此深層鏈接有效。 但是,當我單擊“選擇延遲”時,我什么也沒收到。 我嘗試刪除應用程序並重新安裝它,但是[FBSDKAppLinkUtility fetchDeferredAppLink:...]; 新安裝后,方法不會獲得任何延遲的深層鏈接。

[FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url, NSError *error) {
        if (error) {
            NSLog(@"Received error while fetching deferred app link %@", error);
        }
        if (url) {
            [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {

            }];
        }
    }];

在這個例子中,url 始終為零。

注意:我在 Store 上還沒有應用程序,所以我輸入了另一個應用程序的 Apple Id。 即使我在 Store 上有自己的應用程序,我如何在不在 Store 上發布應用程序的情況下測試延遲深度鏈接?

另外,我在 Facebook 文檔中閱讀了以下內容:

從 iOS 10 開始,iOS 不支持延遲深度鏈接,因此一旦人們安裝了該應用程序,您將無法打開除起始屏幕之外的內容。 來源

所以,我不確定這是否可能。

另外,我已經閱讀了關於 Stackoverflow 的另一篇文章,但沒有我正在尋找的答案,即它們看起來不完整,或者我只是看不到字里行間的答案:

如何使用 Facebook 延遲深度鏈接功能進行新安裝並在將 iOS 應用程序發布到 appStore 之前對其進行測試? -> 這個問題的答案不是我要找的:

如果要驗證延遲鏈接,請在對話框中選中“發送延遲”。 因此,執行此操作后,您需要卸載該應用程序(如果已經存在),然后從應用程序商店重新安裝。 您將在其中進行測試的設備應該安裝了 facebook 應用程序,並使用您從 app-ads 助手發送“延遲深層鏈接請求”的帳戶登錄。 現在,當您打開應用程序時,您應該能夠看到延遲深層鏈接功能正在運行。

這不起作用,所以這就是我問這個問題的原因。

此外,我發現我可以使用 Tune SDK 進行延遲深度鏈接:

...這不是 iOS 10 操作系統本身的問題。 延遲深度鏈接對於使用 TUNE SDK 的 iOS 10 來說效果很好。 來源

此外,我發現我可以使用 Branch.io 進行延遲深度鏈接:

使用 Branch,您可以獲得通用鏈接的所有基本路由以及新用戶獲取流程的延遲深度鏈接和安裝歸因。 來源

我還沒有嘗試過 Tune 和 Branch.io。 我想使用 Facebook 廣告並在沒有第三方解決方案的情況下執行延遲深度鏈接。 Facebook 是否有可能,以及如何在 iOS 上測試 Facebook 的延遲深度鏈接?

重置廣告標識符后,它對我們有用。 也許在內部,如果它是相同的廣告標識符,他們會在同一個應用程序中兩次阻止歸因。 因此,在測試之前,請轉到設置並重置您的廣告標識符。 還要確保手機沒有選擇退出跟蹤。

對我來說,答案就在我的 iPhone 設置中。 我啟用了“限制廣告跟蹤”。 我沒有太多文檔證明這是導致問題的原因,但是在更改它之后,它現在可以工作了。 值得自己測試一下。

在您的 iPhone 上:設置 -> 隱私 -> 廣告(在頁面底部)

在那里您應該確保“限制廣告跟蹤”設置為關閉。

如果您正確設置了應用程序 URL Scheme(如果沒有,請參閱此處),您應該會收到一個 URL,對於 swift 代碼應該如下所示:

AppLinkUtility.fetchDeferredAppLink { [weak self] (url, error) in
        guard let self = self else {return}
        if (url != nil) {
            
        } else if error != nil {
            print("Error: \(error!.localizedDescription)")
        }
}

要測試延遲鏈接,您可以去這里

有點晚了,但根據您對上一個答案的評論:收到消息后:

該鏈接已排隊等待您在您的設備上啟動第一個應用程序。 這意味着您需要刪除該應用程序,然后重新安裝並打開您的應用程序。 請首先通過檢查上面的 iOS 和 Android 設置信息來驗證您的應用程序可以處理延遲的深層鏈接。

  1. 從您的設備中刪除應用程序
  2. 從您的設備打開 Facebook 通知,您應該有一個深層鏈接通知
  3. 選擇深層鏈接通知應將您引導至相應的應用商店以再次安裝該應用程序
  4. 安裝后,啟動應用程序應觸發預期的“延遲”深層鏈接

要使延遲深層鏈接起作用,您還需要登錄 Facebook 應用程序。 廣告助手工具: https : //developers.facebook.com/tools/app-ads-helper/知道您在 facebook.com 上的登錄用戶 ID。 Facebook 然后使用此信息來匹配您的 ID、應用程序和設備信息,並在匹配時將 appLink 返回給您的應用程序。

不幸的是,鑒於安裝 Facebook 等其他應用程序的限制,這在模擬器上是不可能的。

您唯一的選擇是使用真實設備並在其上構建您的 XCode 項目。 確保您已安裝 Facebook,並且您使用與桌面 Web 瀏覽器相同的用戶登錄。

如果您在啟用深度鏈接的情況下運行 Facebook 廣告,您可以在此處測試延遲的深度鏈接設置: https : //developers.facebook.com/tools/app-ads-helper/

您需要選擇您的應用程序,然后您應該能夠訪問頁面底部的深層鏈接測試器(您也可以在其中選擇deferred

在此處輸入圖片說明

附加信息:

那么您需要將應用程序部署到商店嗎? – locoboy 2015 年 8 月 7 日 16:38

用於測試 Deep Link 或 Deferred Deep Link,就像他們在我之前所說的那樣:

  • 部署到商店不需要,使用FB Ads面板進行測試
  • 檢查以防萬一應用安裝統計(不等於零) - 可能是AppEvents (自動記錄)工作不正確(請記住,在計算統計數據時,也可能會有延遲)
  • 為您的設備安裝 Facebook 應用程序,使用您用於發送通知的相同配置文件進行身份驗證(在后台運行 FB 應用程序)
  • 選擇“發送通知”和“發送延遲”復選標記(或只選中“發送延遲” - 結果將在手動重新安裝應用程序后可用,並且不要忘記觸發 FBSDKAppEvents activateApp
  • 發送成功后的示例
  • 主要目標 - 發送消息后,您將在 Facebook 中看到它! 應用通知,帶有徽標 + 文字“點擊以啟動您的深層鏈接”
  • 點按通知

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM