Top
Wie richte ich einen Deep-Link in iOS ein?
  • 11 Jun 2024
  • 3 Minuten zu lesen
  • Dunkel
    Licht
  • pdf

Wie richte ich einen Deep-Link in iOS ein?

  • Dunkel
    Licht
  • pdf

Artikel-Zusammenfassung

Deep link ermöglicht es Ihnen, direkt zu dem Inhalt in Ihrer App selbst zu verlinken. Sie können einen Deeplink in Whatfix Mobile-Projekten wie Walkthrough, Pop-ups usw. einbetten und innerhalb von Projektelementen wie Buttons, Texten usw. Sobald das Element angeklickt wird, öffnet sich die hinzugefügte Deep-Link-Seite.

Einen Deep Link einrichten

Fügen Sie das URL-Schema zu Ihrem Projekt hinzu:

  1. Öffnen Sie Ihr Projekt.xcodeproj. Unter Ziele wählen Sie Ihre App und gehen Sie zum Info-Bereich.

  2. Scrollen Sie nach unten, um die URL-Typen zu sehen, und klicken Sie +, um einen neuen URL-Typ hinzuzufügen.
    url_types

  3. Fügen Sie den Namen Ihrer App oder einen beliebigen gewünschten Namen im URL-Schema-Feld hinzu. Dies ist Ihr schemeName.

  4. Fügen Sie den Bundle-Identifier Ihrer App oder einen beliebigen eindeutigen Identifier in das Feld für den Identifier ein.

your title goes here

Dies ist kein obligatorischer Schritt.

Unter iOS 13

  1. Fügen Sie die open-URL-Methode in der AppDelegate.swift-Datei hinzu.
  2. Im Whatfix Mobile Dashboard verwenden Sie das Format schemeName://pageName. Beispiel: demoApp://profile
  3. Wenn das schemeName in Ihren Projekt-URL-Schemes mit dem Dashboard schemeName übereinstimmt, wird der Benutzer zur folgenden Methode weitergeleitet. Wenn Sie eine Profilseite haben und die Möglichkeit zum Hinzufügen von Deep Links wünschen, verwenden Sie den folgenden Code-Snippet,
// AppDelegate.swift

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : An] = [:]) -> Bool {

guard let components = NSURLComponents(url: url, resolvingAgainstBaseURL: true),
      let host = components.host else {
            return false
        }

// Extract host. Host ist Ihre pageName. Basierend auf dem Hostnamen gehen Sie zur 
// gewünschten Ansicht oder zum Ansichts-Controller wie unten oder Sie können es auf Ihre Weise tun, basierend 
// auf der Architektur Ihrer App.

guard let deeplink = DeepLink(rawValue: host) else {
            return
        }

        mainController?.handleDeeplink(deeplink)

        return true
 }

// global type
enum DeepLink: String {
    case home
    case profile
}

// MainController.swift

func handleDeeplink(_ deeplink: DeepLink) {
        switch deeplink {
        case .home:
            let vc = UIStoryboard.init(name: "Main", bundle: Bundle.main).instantiateViewController(withIdentifier: "HomeViewController") as? HomeViewController
            self.navigationController?.pushViewController(vc!, animated: true)
        case .profile:
            let vc = UIStoryboard.init(name: "Main", bundle: Bundle.main).instantiateViewController(withIdentifier: "ProfileViewController") as? ProfileViewController
            self.navigationController?.pushViewController(vc!, animated: true)
        }
    }

iOS 13 und höher

  1. Fügen Sie die open URLContexts Methode in der SceneDelegate.swift Datei hinzu
  2. Im Whatfix Mobile Dashboard verwenden Sie das Format schemeName://pageName. Beispiel: demoApp://profile
  3. Wenn das schemeName in Ihren Projekt-URL-Schemes mit dem Dashboard schemeName übereinstimmt, wird der Benutzer zur folgenden Methode weitergeleitet. Wenn Sie eine Profilseite haben und die Möglichkeit zum Hinzufügen von Deep Links wünschen, verwenden Sie den folgenden Code-Snippet,
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {

guard let url = URLContexts.first?.url else { return }

guard let components = NSURLComponents(url: url, resolvingAgainstBaseURL: true), 
      let host = components.host else {
          return
      }

// Extract host. Host ist Ihre pageName. Basierend auf dem Hostnamen gehen Sie zur 
// gewünschten Ansicht oder zum Ansichts-Controller wie unten oder Sie können es auf Ihre Weise tun, basierend 
// auf der Architektur Ihrer App.

       guard let deeplink = DeepLink(rawValue: host) else {
            return
        }

        mainController?.handleDeeplink(deeplink)
 }

// global type
enum DeepLink: String {
    case home
    case profile
}

// MainController.swift

func handleDeeplink(_ deeplink: DeepLink) {
        switch deeplink {
        case .home:
            let vc = UIStoryboard.init(name: "Main", bundle: Bundle.main).instantiateViewController(withIdentifier: "HomeViewController") as? HomeViewController
            self.navigationController?.pushViewController(vc!, animated: true)
        case .profile:
            let vc = UIStoryboard.init(name: "Main", bundle: Bundle.main).instantiateViewController(withIdentifier: "ProfileViewController") as? ProfileViewController
            self.navigationController?.pushViewController(vc!, animated: true)
        }
    }

Deep links im Flow-Menü

Beim Konfigurieren eines Flow-Menüs (d.h. Walkthrough-Checklist/Walkthrough-Menüs) können Sie für ein bestimmtes Menüelement einen Deep Link hinzufügen. Es ist besser, wenn ein bestimmtes Menüelement des Flowmenüs auf einer anderen Seite konfiguriert ist (nicht dieselbe wie der Startbildschirm). Mit Hilfe eines Deep Links kann das Whatfix Mobile SDK zur erforderlichen Seite gehen.

Berücksichtigen Sie, dass Sie einen Deep Link in einer Anleitung Checkliste hinzufügen möchten,
Flow_menu

Der Menüpunkt Profil ist auf einer anderen Seite konfiguriert (nicht identisch mit dem Startbildschirm). Um zur erforderlichen Seite zu gelangen, können Sie den Deep Link hinzufügen, indem Sie die folgenden Schritte verwenden,

  1. Klicken Sie Profil.
  2. Auf der rechten Seite, unter dem DEEPLINK -Abschnitt, fügen Sie Ihre konfigurierte Deep-Link-URL hinzu.

Das folgende Bild zeigt das Hinzufügen eines Deep Links im Dashboard mit dem Format schemeName://pageName,
Flow_menu_demo_url


War dieser Artikel hilfreich?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.