İçeriğe geç

LinksKit ile Tanışın: Swift Geliştiricileri İçin Uygulama Linklerini Kolaylaştırma

Uygulamalarında sürekli aynı linkleri tekrar tekrar oluşturmaktan bıktın mı? LinksKit, yasal gereksinimlerden çapraz tanıtıma kadar her şeyi halleden Swift paketi — hem zamandan tasarruf et, hem uygulamanın görünürlüğünü artır.

LinksKit ile Tanışın: Swift Geliştiricileri İçin Uygulama Linklerini Kolaylaştırma

Son iki yılda dokuz uygulama yayınlamış bir indie geliştirici olarak, tekrar eden bir sorunla karşılaştım: her uygulamada temel linkleri oluşturma işi. Bu tekrarlayan görev beni LinksKit’i yaratmaya yöneltti — iOS, macOS ve visionOS uygulamalarına önemli linkleri ekleme sürecini kolaylaştırmak için tasarlanmış bir Swift paketi.

LinksKit’i Neden Geliştirdim

Çeşitli Apple platformlarında birden fazla uygulama yayınladıktan sonra bir kalıp fark ettim. Her uygulama benzer link bölümleri gerektiriyordu:

  1. Yasal linkler (gizlilik politikası, kullanım koşulları)

  2. Destek linkleri (SSS, iletişim e-postası)

  3. Uygulama değerlendirme deep link’i

  4. Sosyal medya linkleri

  5. Diğer uygulamalarım için çapraz tanıtım

Bu linkleri oluşturmak zaman alan ve tekrarlayan bir süreç haline gelmişti. Üstelik Mac’te çok farklıydı, bu da çoklu platform uygulamaları için ekstra iş demekti. İşte o zaman yeniden kullanılabilir bir çözüme ihtiyaç olduğunu fark ettim ve LinksKit doğdu.

Neden Her Yeni Uygulama LinksKit Kullanmalı

  1. Zaman Tasarrufu: LinksKit, yaygın link gereksinimleri için kullanıma hazır bir çözüm sunarak geliştiricilerin temel uygulama özelliklerine odaklanmasını sağlıyor.

  2. Uyumluluk: Uygulamanın gerekli yasal linkleri içermesini sağlayarak App Store yönergelerine zahmetsizce uyum sağlamana yardımcı oluyor.

  3. Çapraz Tanıtım: LinksKit, diğer uygulamalarını sergilemeyi kolaylaştırarak tüm uygulama portföyünün görünürlüğünü potansiyel olarak artırıyor.

  4. İlişki Fırsatları: Paket, arkadaş geliştiricilerin uygulamalarını tanıtmana olanak tanıyarak destekleyici bir topluluk ve potansiyel çapraz tanıtım ortaklıkları oluşturuyor.

  5. Özelleştirme: Hazır çözümler sunarken, LinksKit özel ihtiyaçlarına tam uyum sağlamak için özelleştirmeye de izin veriyor.

  6. Platform Uyumu: iOS, macOS ve visionOS’ta sorunsuz çalışıyor ve her platformun UI kurallarına uyum sağlıyor.

LinksKit Nasıl Kullanılır

LinksKit’i kullanmaya başlamak çok kolay, ama koda geçmeden önce önemli bir kavramı konuşalım: providerToken.

providerToken’ı Anlamak

providerToken, App Store pazarlama kampanyalarında kritik bir bileşen. Geliştirici hesabın için benzersiz bir tanımlayıcı olup pazarlama çalışmalarının etkinliğini takip etmeye yardımcı oluyor. Kullanıcılar providerToken’ınla linklere tıkladığında, Apple bu tıklamaları kampanyalarına atfedebiliyor ve uygulama kullanıcı kazanımın hakkında değerli bilgiler sunuyor. “Kampanya” kelimesi kulağa karmaşık gelebilir ama aslında sadece kullanıcıların nereden geldiğini belirten bir parametre.

providerToken Nasıl Bulunur

providerToken’ını bulmak ilk bakışta bariz olmayabilir, ama şöyle yapabilirsin:

  1. App Store Connect’e giriş yap

  2. Analytics > Acquisition > Campaigns’e git

  3. “Create Campaign Link”e tıkla

  4. Forma herhangi bir metin gir (gerçekten bir kampanya oluşturman gerekmiyor)

  5. Campaign Link önizlemesinde pt parametresini ara — pt= sonrasındaki değer senin providerToken’ın

Bu token tüm uygulamaların için aynı, yani sadece bir kez bakman yeterli.

Temel Konfigürasyon

providerToken‘ı anladığına göre, LinksKit’i uygulamanda kuralım:

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

Bu temel kurulum uygulamana temel yardım ve yasal linkleri ekliyor, koşullar dahil.

Kapsamlı Örnek

LinksKit’in sunduğu tüm yerleşik özellikleri sergileyen daha kapsamlı bir örneğe bakalım — sosyal linkler, kendi uygulamalarının ve arkadaşlarının uygulamalarının linkleriyle:

// Uygulama Linkleri
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'i Yapılandır
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)
   ]
)

Yukarıdaki konfigürasyonu TranslateKit uygulamandan aldım (ve sadeleştirdim):

  1. SSS ve destek e-postası ile yardım linkleri kuruyor

  2. Hem uygulama hem geliştirici için sosyal medya linkleri ekliyor

  3. Diğer uygulamalarımı tanıtmak için bir menü oluşturuyor

  4. Arkadaşların uygulamalarını tanıtmak için bir bölüm ekliyor (ilişki kurmak için harika!)

  5. Gerekli tüm yasal linklerin mevcut olmasını sağlıyor

Bu yapılandırılmış linkleri kullanmak için ayarlar ekranına LinksView() eklemen yeterli:

Form {
   // Diğer ayarlar...
   LinksView()
}

Sonuç iOS’ta şuna benziyor:

Telefon ayarları

Mac’te ise linkleri yardım menüsüne yerleştirmek daha yaygın. Şöyle yapabilirsin:

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

Menüde şöyle görünecek:

Mac yardım menüsü

LinksKit hazır bölümler sunarken, LinkSection kullanarak tamamen özel bölümler de oluşturabilirsin. Bu esneklik, ihtiyacın olan her türlü link veya iç içe menü yapısını eklemene olanak tanıyor.

İşte özel bir bölüm örneği:

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"))
                ])
            ]
        ))
    ]
)

Bu örnek, uygulamanın ihtiyaçlarına uygun bir link hiyerarşisi oluşturmak için menüleri nasıl iç içe yerleştirebileceğini gösteriyor.

Özel Label Stilleri

LinksKit sadece içerikte değil, sunumda da esneklik sunuyor. SwiftUI’ın labelStyle modifier’ını kullanarak linklerinin görünümünü kolayca özelleştirebilirsin. LinksKit, linklerinin görsel çekiciliğini artırmak için üç özel label stili sunuyor:

  1. .titleAndTrailingIcon: Varsayılan .titleAndIcon stiline benzer, ama ikonu label’ın sonuna yerleştirir.

  2. .titleAndIconBadge(color:): Apple’ın Ayarlar uygulaması stilini taklit ederek öndeki ikonlara renkli arka plan ekler.

  3. .titleAndTrailingIconBadge(color:): Sondaki ikon yerleşimini renkli arka planla birleştirir.

Bu stilleri uygulamak için LinksView‘una labelStyle modifier’ını eklemen yeterli:

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

Bu basit değişiklik linklerinin görünümünü önemli ölçüde değiştirebilir, uygulamanın tasarım diline uyum sağlamana veya belirgin bir görsel hiyerarşi oluşturmana olanak tanır. İşte bu stillerin görsel karşılaştırması:

LinksKit

Özel label stillerinden yararlanarak uygulamanın link bölümü için benzersiz ve cilalı bir görünüm oluşturabilir, genel kullanıcı deneyimini geliştirebilirsin.

Sonuç

LinksKit sadece zaman tasarrufu sağlayan bir araçtan fazlası — uygulama linklerini yönetmek, uyumluluğu sağlamak ve geliştirici ilişkilerini güçlendirmek için kapsamlı bir çözüm. Yasal gereksinimlerden çapraz tanıtıma kadar her şeyi halleden LinksKit, gerçekten önemli olana odaklanmanı sağlıyor — harika uygulamalar yaratmak.

İster birden fazla uygulaması olan deneyimli bir geliştirici ol, ister ilk projene başlıyor ol, LinksKit geliştirme sürecini önemli ölçüde kolaylaştırabilir. Bir sonraki projenle dene ve tüm Apple platformlarında basitleştirilmiş link yönetiminin avantajlarını deneyimle! Umarım işine yarar.

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

Bu yazıyı beğendin mi? Swift ipuçları ve indie geliştirici güncellemeleri için Bluesky ve Mastodon üzerinden takip et.