it-swarm.com.de

Firebase Dynamic Link öffnet die App iOS nicht

Ich habe lokal auf meinem Gerät eine iOS-App entwickelt und installiert.

Und in der info.plist ein benutzerdefiniertes Schema als mydlink gesetzt haben

Zugehörige Domains als weel setzen: applinks:<myapp>.app.goo.gl

Dynamische Verknüpfung auf Firebase erstellt als:

https://<myapp>.app.goo.gl/?link=http://<mysite.com>/&ibi=<app bundle id>&ius=mydlink&ifl=https://iTunes.Apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id%3D<app store id>%26mt%3D8&pt=<app store id>

Wenn ich einen dynamischen Link öffne oder darauf klicke, wird die App-Seite in der App "App Store" geöffnet und die App selbst wird nicht geöffnet, obwohl sie installiert ist.

Was vermisse ich hier?

26
kalpeshdeo

Wenn Sie mit iOS 9 arbeiten, werden universelle Links verwendet. Universelle Links funktionieren in vielen Fällen nicht, wie zum Beispiel:

  • Wenn Sie einen Simulator verwenden
  • Wenn Sie versuchen, den Link direkt in Safari auf einem Gerät zu öffnen (indem Sie ihn in das Adressfeld des Browsers eingeben)

Ich habe viel Zeit damit verbracht, dies zu versuchen, und konnte es niemals dazu bringen, zuverlässig an einem Simulator zu arbeiten. Am Ende schicke ich den Link per E-Mail an mich und öffne ihn über den Posteingang. Dann klappt es jedes Mal!

12
Heinrisch

Es tut mir leid für die späte Antwort - ich hoffe, Ihr Problem wurde behoben und dies ist hilfreich für andere, bei denen möglicherweise das gleiche Problem auftritt.

Für iOS 9+ könnte es tatsächlich ein oder mehrere Probleme geben. Dynamic Links verwendet Universal Links von Apple, um die App unter iOS 9+ zu öffnen. Diese Vorschläge zielen auf die Behebung von Problemen mit Universal Links und Firebase ab und haben nichts direkt mit dem SDK zu tun.

  1. Stellen Sie sicher, dass die Assoc-Datei unter https:// app_id .app.goo.gl/Apple-App-Site-Association korrekt ist. Sie sollte ähnlich aussehen zu https://maps.app.goo.gl/Apple-app-site-association aber mit nur einem Element in "Details".
  2. Vergewissern Sie sich, dass Ihre Team-ID in der Firebase-Konsole richtig eingestellt ist.
  3. Wenn Sie den Link lange gedrückt und dann auf "In Safari öffnen" geklickt haben oder auf die Schaltfläche "goo.gl>" in der Statusleiste Ihrer App geklickt haben, nachdem die App über einen Universal Link geöffnet wurde, wird iOS standardmäßig geöffnet Universelle Links in Safari. Dies kann behoben werden, indem Sie die in Safari geöffnete Seite nach unten ziehen und auf dem Smart-Banner auf "In App öffnen" (oder ähnlich) klicken.

Der "ibi" -Parameter ist nicht beim Öffnen der App in einem Klick nach der Installation auf iOS 9+ beteiligt, ist jedoch in früheren Versionen vorhanden, wenn der "ius" -Parameter nicht festgelegt ist.

Können Sie unter iOS 8 versuchen, die App auszuführen und nach der Installation der App auf einen Link zu klicken? In Versionen vor iOS 9 können Sie den Link durch Kopieren/Einfügen in Safari testen.

https://firebase.google.com/docs/dynamic-links/ios

8
iamthearm

Ich hatte das gleiche Problem. Interessanterweise wird die App direkt und erfolgreich gestartet, wenn Sie den dynamischen Link in Chrome öffnen. In Safari wird jedoch immer versucht, den AppStore zu öffnen, obwohl die App installiert ist. Ich habe keine Ahnung, warum Safari in diesem Fall nicht funktioniert.

3
icould

manchmal machen wir einen Fehler bei den Berechtigungen für verknüpfte Domänen. Es darf keine Leerzeichen geben

applinks:mydomain.page.link
3
protspace

Erlebte das gleiche Problem.

Die Lösung für mich war, das zu benutzen

Bezeichner -> App-IDs -> 'my.app.ID' -> Präfix

Sie finden es unter: https://developer.Apple.com/account/ios/identifier/bundle

Anstelle der 'DevelopmentTeam' - Nummer aus dem .pbxproj, Den ich verwendet habe, und fügen Sie diese der Team ID Für meine iOS-App in der Firebase-Konsole hinzu.

Und vergessen Sie nicht, eine neue .plist herunterzuladen und zum Projekt hinzuzufügen.

2
Iris Veriris

Dynamische Firebase-Links funktionierten bei uns nicht (auf iOS9, wo sie universelle Links verwenden), da die Annahmen von Firebase während des Setups problematisch waren. So haben wir das Problem in unserer App behoben:

Firebase fragt Sie nach Ihrer "Team-ID", wenn Sie Ihre iOS-App zu den Firebase Console-Projekteinstellungen hinzufügen. Dabei wird davon ausgegangen, dass Ihre eindeutige App-ID im Format TeamID.com.foo.bar vorliegt

In unserem Fall war dies jedoch NICHT unsere eindeutige App-ID. Als ich mir unser Bereitstellungsprofil ansah (auf developer.Apple.com fand ich unser Bereitstellungsprofil und klickte auf "Bearbeiten"), stellte ich fest, dass unsere eindeutige App-ID tatsächlich SomethingElse.com.foo.bar war

Ich musste in die Firebase-Konsole gehen und dort "SomethingElse" eingeben, wo nach der Team-ID gefragt wurde, obwohl dies NICHT unsere Team-ID war. Nachdem ich diese Änderung vorgenommen hatte, funktionierte Firebase Dynamic Links ordnungsgemäß.

Anscheinend geht Firebase davon aus, dass Ihre eindeutige App-ID immer mit Ihrer Team-ID beginnt, was anscheinend nicht immer der Fall ist.

Beachten Sie, dass das Ändern Ihrer Team-ID einige Zeit in Anspruch nehmen kann. Sie können feststellen, dass die Änderung stattgefunden hat, indem Sie den entsprechenden Link für Ihre app_id ( https://app_id.app.goo.gl/Apple-app-site-association ) überprüfen.

2
dacoinminster

Hallo Leute ich habe ein tolles neues.

Ich höre immer, dass es [~ # ~] unmöglich ist [~ # ~] einen dynamischen Link im Simulator zu testen.

Aber wir entdeckten dies und jetzt WE KÖNNEN die dynamische Verbindung der Firebase auf dem Simulator testen

https://stackoverflow.com/a/56385506/62730

1
Jackson Smith

Wenn der Link in Safari geöffnet ist, wird die Schaltfläche "Öffnen (Projektname)" angezeigt. Wenn diese Taste 2-3 Sekunden lang gedrückt wird, werden Sie aufgefordert, diese zum ersten Mal in verschiedenen Apps zu öffnen. Außerdem wird der Name Ihrer App angezeigt. Wenn Sie Ihre App auswählen, wird Ihre App geöffnet. Wenn Sie danach diesen Link erneut öffnen und auf Safari auf die Schaltfläche klicken, funktioniert dies immer einwandfrei.

Dies hat das Problem für mich behoben.

1
Pankaj Jangid

Nach der Integration von Firebase Dynamic-Links funktionierte der Beispiellink auf einem Gerät mit iOS 8 sofort. Für iOS 9-Geräte wird, wie in anderen Antworten erwähnt, der Mechanismus für universelle Links verwendet. Dies bedeutet, dass Apple die Berechtigungsdaten aktualisieren muss, die zur Überprüfung der doppelten Deep-Link-Authentifizierung verwendet werden. Dies kann laut Apples App Search API Validation Tool 48 Stunden dauern.

Es gibt weitere Tipps zur Fehlerbehebung für universelle Links hier .

0

Wenn keine der oben genannten Problemumgehungen für Sie funktioniert, überprüfen Sie, ob Sie Aktivitätsfortsetzung in zugeordneten Domänen hinzugefügt haben oder nicht.

Followin image shows the exact place where you have to add that(if you havn't done that already)

0

Stellen Sie sicher, dass in der Firebase-Konsole eine Team-ID für Ihre App festgelegt ist. (Sie müssen dann die .plist-Datei herunterladen und importieren).

Dies hat das Problem für mich behoben.

0