Zum Inhalt springen

LinksKit: App-Links für Swift-Entwickler vereinfacht

Keine Lust mehr, immer wieder die gleichen Links in deinen Apps einzubauen? LinksKit ist das Swift Package, das alles abdeckt – von rechtlichen Anforderungen bis Cross-Promotion – und dir Zeit spart und die Sichtbarkeit deiner Apps steigert.

LinksKit: App-Links für Swift-Entwickler vereinfacht

Als Indie-Entwickler, der in den letzten zwei Jahren neun Apps veröffentlicht hat, bin ich immer wieder auf dieselbe Herausforderung gestoßen: die Implementierung grundlegender Links in jeder App. Diese repetitive Aufgabe hat mich dazu gebracht, LinksKit zu entwickeln – ein Swift Package, das den Prozess des Hinzufügens wichtiger Links zu deinen iOS-, macOS- und visionOS-Apps vereinfacht.

Warum ich LinksKit gebaut habe

Nach dem Launch mehrerer Apps auf verschiedenen Apple-Plattformen ist mir ein Muster aufgefallen. Jede App brauchte ähnliche Link-Bereiche:

  1. Rechtliche Links (Datenschutzrichtlinie, Nutzungsbedingungen)

  2. Support-Links (FAQs, Kontakt-E-Mail)

  3. App-Review-Deep-Link

  4. Social-Media-Links

  5. Cross-Promotion für meine anderen Apps

Diese Links zu implementieren wurde zu einem zeitaufwändigen und repetitiven Prozess. Und auf dem Mac war alles ganz anders, was zusätzliche Arbeit für Multi-Plattform-Apps bedeutete. Da wurde mir klar, dass ich eine wiederverwendbare Lösung brauchte, und LinksKit war geboren.

Warum jede neue App LinksKit nutzen sollte

  1. Zeitersparnis: LinksKit bietet eine sofort einsetzbare Lösung für gängige Link-Anforderungen, sodass sich Entwickler auf die Kernfunktionen der App konzentrieren können.

  2. Compliance: Es stellt sicher, dass deine App alle notwendigen rechtlichen Links enthält und hilft dir, die App-Store-Richtlinien mühelos einzuhalten.

  3. Cross-Promotion: LinksKit macht es einfach, deine anderen Apps zu präsentieren und so die Sichtbarkeit deines gesamten App-Portfolios zu steigern.

  4. Networking-Möglichkeiten: Das Package ermöglicht es dir, Apps von befreundeten Entwicklern zu bewerben, was eine unterstützende Community und potenzielle Cross-Promotion-Partnerschaften fördert.

  5. Anpassbarkeit: Neben den vorgefertigten Lösungen bietet LinksKit auch volle Anpassungsmöglichkeiten für deine spezifischen Bedürfnisse.

  6. Plattform-Anpassung: Es funktioniert nahtlos auf iOS, macOS und visionOS und passt sich den UI-Konventionen jeder Plattform an.

So verwendest du LinksKit

Der Einstieg mit LinksKit ist unkompliziert, aber bevor wir in den Code eintauchen, besprechen wir ein wichtiges Konzept: den providerToken.

Den providerToken verstehen

Der providerToken ist eine entscheidende Komponente in App-Store-Marketingkampagnen. Es handelt sich um eine eindeutige Kennung für dein Entwicklerkonto, die dabei hilft, die Wirksamkeit deiner Marketingmaßnahmen zu verfolgen. Wenn Nutzer auf Links mit deinem providerToken klicken, kann Apple diese Klicks deinen Kampagnen zuordnen und wertvolle Einblicke in die Nutzergewinnung deiner App liefern. Das Wort “Kampagne” klingt übertrieben kompliziert, aber es ist eigentlich nur ein Parameter, der angibt, woher die Nutzer kommen.

So findest du deinen providerToken

Den providerToken zu finden ist nicht sofort offensichtlich, aber so geht’s:

  1. Melde dich bei App Store Connect an

  2. Navigiere zu Analytics > Acquisition > Campaigns

  3. Klicke auf “Create Campaign Link”

  4. Gib einen beliebigen Text in das Formular ein (du musst nicht wirklich eine Kampagne erstellen)

  5. In der Kampagnen-Link-Vorschau suchst du den Parameter pt – der Wert nach pt= ist dein providerToken

Merke dir: Dieser Token ist für alle deine Apps gleich, du musst ihn also nur einmal nachschlagen.

Grundkonfiguration

Jetzt, da du den providerToken verstehst, richten wir LinksKit in deiner App ein:

LinksKit.configure(
   providerToken: "123456",
   linkSections: [
      .helpLinks(appID: "123456789", supportEmail: "[email protected]"),
      .legalLinks(privacyURL: URL(string: "https://example.com/privacy")!)
   ]
)

Diese grundlegende Einrichtung fügt deiner App die wesentlichen Hilfe- und Rechts-Links hinzu, einschließlich der Nutzungsbedingungen.

Umfassendes Beispiel

Schauen wir uns ein umfassenderes Beispiel an, das alle integrierten Features von LinksKit zeigt – mit Social-Links und Links zu deinen Apps und den Apps deiner Freunde:

// App-Links
let ownApps = LinkSection(entries: [
   .link(.ownApp(id: "6502914189", name: "FreemiumKit", systemImage: "cart")),
   .link(.ownApp(id: "6480134993", name: "FreelanceKit", systemImage: "timer")),
   .link(.ownApp(id: "6472669260", name: "CrossCraft", systemImage: "puzzlepiece")),
   .link(.ownApp(id: "6477829138", name: "FocusBeats", systemImage: "music.note")),
])

let friendsApps = LinkSection(entries: [
   .link(.friendsApp(id: "1249686798", name: "NFC.cool Tools", systemImage: "tag", providerToken: "106913804")),
   .link(.friendsApp(id: "6503256642", name: "App Exhibit", systemImage: "square.grid.3x3.fill.square")),
])

// LinksKit konfigurieren
LinksKit.configure(
   providerToken: "549314",
   linkSections: [
      .helpLinks(
         appID: "6476773066",
         faqURL: URL(string: "https://translatekit.app/#faq")!,
         supportEmail: "[email protected]"
      ),
      .socialMenus(
         appLinks: .appSocialLinks(
            platforms: [.twitter, .mastodon(instance: "mastodon.social"), .threads],
            handle: "TranslateKit",
            handleOverrides: [.twitter: "TranslateKitApp"]
         ),
         developerLinks: .developerSocialLinks(
            platforms: [.twitter, .mastodon(instance: "iosdev.space"), .threads],
            handle: "Jeehut"
         )
      ),
      .appMenus(ownAppLinks: [ownApps], friendsAppLinks: [friendsApps]),
      .legalLinks(privacyURL: Constants.legalPrivacyPolicyURL)
   ]
)

Die obige Konfiguration habe ich (vereinfacht) aus meiner App TranslateKit übernommen:

  1. Richtet Hilfe-Links mit FAQ und Support-E-Mail ein

  2. Fügt Social-Media-Links sowohl für die App als auch den Entwickler hinzu

  3. Erstellt ein Menü zur Bewerbung meiner anderen Apps

  4. Enthält einen Bereich für die Apps von Freunden (großartig fürs Networking!)

  5. Stellt sicher, dass alle notwendigen rechtlichen Links vorhanden sind

Um diese konfigurierten Links zu verwenden, füge einfach LinksView() zu deinem Einstellungsbildschirm hinzu:

Form {
   // Andere Einstellungen...
   LinksView()
}

Das Ergebnis sieht auf iOS etwa so aus:

Telefon-Einstellungen

Auf dem Mac ist es üblicher, Links im Hilfe-Menü zu platzieren. So geht’s:

WindowGroup {
   // dein UI-Code
}
.commands {
   CommandGroup(replacing: .help) {
      LinksView()
         .labelStyle(.titleAndIcon)
   }
}

Es erscheint dann so im Menü:

Mac-Hilfe-Menü

Neben den vorgefertigten Bereichen kannst du mit LinkSection auch komplett eigene Bereiche erstellen. Diese Flexibilität ermöglicht es dir, beliebige Link-Typen oder verschachtelte Menüstrukturen hinzuzufügen.

Hier ein Beispiel für einen eigenen Bereich:

let customSection = LinkSection(
    title: "Custom Links",
    entries: [
        .link(Link(title: "Our Website", systemImage: "globe", url: URL(string: "https://www.example.com")!)),
        .menu(LinkMenu(
            title: "Social Media",
            systemImage: "network",
            linkSections: [
                LinkSection(entries: [
                    .link(Link.followUsOn(socialPlatform: .twitter, handle: "YourAppHandle")),
                    .link(Link.followUsOn(socialPlatform: .instagram, handle: "YourAppHandle"))
                ])
            ]
        ))
    ]
)

Dieses Beispiel zeigt, wie du Menüs verschachteln und eine Hierarchie von Links erstellen kannst, die zu den Anforderungen deiner App passt.

Eigene Label-Styles

LinksKit bietet Flexibilität nicht nur beim Inhalt, sondern auch bei der Darstellung. Du kannst das Erscheinungsbild deiner Links ganz einfach mit SwiftUIs labelStyle-Modifier anpassen. LinksKit stellt drei eigene Label-Styles bereit, um die visuelle Gestaltung deiner Links zu verbessern:

  1. .titleAndTrailingIcon: Ähnlich dem Standard-.titleAndIcon-Style, aber platziert das Icon am Ende des Labels.

  2. .titleAndIconBadge(color:): Imitiert den Style von Apples Einstellungen-App, indem den führenden Icons ein farbiger Hintergrund hinzugefügt wird.

  3. .titleAndTrailingIconBadge(color:): Kombiniert die Icon-Platzierung am Ende mit dem farbigen Hintergrund.

Um diese Styles anzuwenden, füge einfach den labelStyle-Modifier zu deiner LinksView hinzu:

LinksView()
    .labelStyle(.titleAndIconBadge(color: .blue))

Diese einfache Anpassung kann das Erscheinungsbild deiner Links deutlich verändern und dir ermöglichen, sie an die Design-Sprache deiner App anzupassen oder eine klare visuelle Hierarchie zu schaffen. Hier ein visueller Vergleich dieser Styles:

LinksKit

Durch den Einsatz eigener Label-Styles kannst du einen einzigartigen und ausgefeilten Look für den Link-Bereich deiner App schaffen und so die gesamte Nutzererfahrung verbessern.

Fazit

LinksKit ist mehr als nur ein zeitsparendes Tool – es ist eine umfassende Lösung für die Verwaltung von App-Links, die Einhaltung rechtlicher Vorgaben und die Förderung von Entwickler-Networking. Indem es alles von rechtlichen Anforderungen bis hin zu Cross-Promotion abdeckt, ermöglicht dir LinksKit, dich auf das zu konzentrieren, was wirklich zählt – großartige Apps zu entwickeln.

Egal ob du ein erfahrener Entwickler mit mehreren Apps bist oder gerade dein erstes Projekt startest, LinksKit kann deinen Entwicklungsprozess erheblich vereinfachen. Probiere es in deinem nächsten Projekt aus und erlebe die Vorteile eines vereinfachten Link-Managements auf allen Apple-Plattformen! Ich hoffe, es hilft dir weiter.

github.comFlineDev / LinksKitSwiftUI convenience view to show common links in apps settings/help menu

Hat dir dieser Beitrag gefallen? Folge mir auf Bluesky und Mastodon für mehr Swift-Tipps und Indie-Dev-Updates.