2017-01-04 1 views
16

Ich benutze Firebase Dynamic Link, um meine App zu teilen (> = IOS 9) und Leute zu Veranstaltungen einzuladen (ich meine wenn du die App hast kann die Veranstaltung mit dem DeepLink verbinden und wenn Sie es nicht haben, werde ich Sie in den Appstore schicken, um die App herunterzuladen, bevor Sie der Veranstaltung beitreten.Firebase Dynamic Link funktioniert nicht, wenn ich App zum ersten Mal aus Appstore installiere

Ich folge dem Firebase docs Schritt:

  • ich die entsprechende JSON bei https://app_code.app.goo.gl/apple-app-site-association bekommen.
  • Wenn meine App installiert ist, funktioniert der DeepLink sehr gut.
  • Wenn meine App nicht installiert ist, sendet der Deeplink Sie zum Appstore, aber beim ersten Öffnen funktioniert es nicht und Sie können dem Ereignis nicht beitreten.

Hier ist mein Code auf den Link für immer auf dem ersten Installation:

in didFinishLaunchingWithOption:

FIROptions.default().deepLinkURLScheme = "com.jerem.ProjectAlphaSasasa" 
// "com.jerem.ProjectAlphaSasasa" is my app bundle Identifier 
    FIRApp.configure() 

und basierend auf Firebase docs, beim ersten Öffnen, ich bin die folgenden Funktionen:

//MARK: First entry 
//when your app is opened for the first time after installation on any version of iOS. 
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool { 
    print("00000000000000000") 
    FIRCrashMessage("Link during first installation") 
    downloadEventWithDeepLink = true 
    downloadUrl = url 
    return application(app, open: url, sourceApplication: nil, annotation: [:]) 

} 

//same as previous but for older version ios 8 (not relevant) 
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool { 
    let dynamicLink = FIRDynamicLinks.dynamicLinks()?.dynamicLink(fromCustomSchemeURL: url) 
    if let dynamicLink = dynamicLink { 

     downloadEventWithDeepLink = true 
     downloadUrl = dynamicLink.url 
     return true 
    } 

    return false 
} 

In meinem Fall ist downloadEventWithDeepLink ein Flag (global) ich prüfe nach der Anmeldung des Benutzers auf meine app (und Verwenden Sie dort die downloadUrl-Variable). Was mache ich falsch mit dem Setup?

Auch ich weiß nicht, wie man es debuggt. Gibt es eine Möglichkeit, einen AppStore zuerst in Xcode zu simulieren? Um herauszufinden, ob die vorherigen Funktionen (Open Url) aufgerufen werden?

Danke für Ihre Hilfe!

+0

ich habe gleiches Problem haben Sie eine Lösung erhalten? –

Antwort

0

Ich hatte das gleiche Problem mit Link nicht nach der Installation erhalten. Das Problem war, dass mein URL-Schema nicht richtig eingerichtet wurde.

Damit es funktioniert habe ich die URL-Typen im Info-Teil meines Ziels geändert: Ich habe die Bundle-ID in Identifier-und URL-Schemas Feld.

URL schemes setup

ich auch hinzufügen, eine Zeile in meinem Setup-Code von Feuerbasis:

FIRApp.configure() 
FIROptions.default().deepLinkURLScheme = "fr.machin.ES5" 
Verwandte Themen