iOS App Clips Entegrasyonu

Herkese merhaba 🙋‍♀️ Bu mobi'de Apple'ın WWDC 2020'de iOS 14 ile birlikte duyurduğu App Clip nedir biraz ondan bahsedip, entegrasyonunu genel hatlarıyla inceleyeceğiz.


Öncelikle App Clip nedir, ne işe yarar onunla başlayalım. App Clips, uygulamanızı kullanmayan kullanıcıların uygulamanıza ihtiyaç duyulduğu bir anda belirli işlevleri gerçekleştirebilmelerine olanak sağlayan, uygulamanızın küçük bir parçasıdır. Yani kısaca App Clips, kullanıcıların uygulamanızdaki bir işleve hızlıca erişmenin ve deneyimlemelerini sağlamanın en kolay yolu.


Kullanıcılar App Clip'e Siri önerilerinden konuma dayalı bir öneri ile, mesajla gelen bir linke tıklayarak, NFC tag, QR Code veya App Clip Code'u gibi invocation'ları kullanarak erişebilir.



App Clip uygulamanızın düşük boyutlu bir sürümü olduğu için kullanıcılar hızlıca erişim sağlarlar. Asıl amaç kullanıcıya uygulamanızdaki bir akışı hızlıca deneyimletmektir. Bu sebeple ideal bir App Clip, kullanıcının bir işlemi saniyeler içinde tamamlamasını sağlamalıdır.


Hızlı akış sağlamak için uygulamanızda satın alma adımı varsa bunu kredi kartı yerine Apple Pay ile ödeme şeklinde sağlayabilirsiniz. Ayrıca kullanıcıların form doldurma veya hesap oluşturma gibi adımları yapması gerekiyorsa bu işlemler için de Sign in with Apple'ı kullanabilirsiniz.


App Clip'inizde uygulamanızı App Store'dan indirme seçeneği sunup yönlendirme yapabilirsiniz. Kullanıcılar uygulamanızı indirirse artık her invocation ile App Clip yerine uygulamanız başlatılır.


App Clip'ler App'lerin ana sayfa ekranında göründü gibi görünmezler ve kullanıcılar bunları App'leri yönettikleri gibi yönetemezler. Eğer kullanıcılar uygulamanızı indirmezse bir süre sonra aktif kullanılmayan App Clip'inizi sistem otomatik olarak siler.



App Clip Entegrasyonu


Şimdi nasıl App Clip oluşturup projenize dahil edebilirsiniz birkaç başlık altında inceleyelim.


1. App Clip Taget Ekleme


App Clip, uygulamanızın küçük bir sürümü olup uygulamanızın işlevlerini içerdiği için uygulama projenizde geliştirilir.


Öncelikle projenize App Clip'i target olarak eklemelisiniz.


                File -> New -> Target -> App Clip

Xcode'un Project Navigator'da verdiğiniz isimde bir klasör ile gerekli dosyaları oluşturduğunu, App Clip'inizi build ve run edebilmeniz için yeni bir scheme eklediğini göreceksiniz.


2. Code ve Assets Paylaşımı


App Clip Target'ını oluşturduktan sonra şimdi projenizdeki code ve assets'leri paylaşmanız gerekmektedir. File inspecter'dan kullanacağınız Swift dosyalarını paylaşın. App Clip'in amacı hızlı bir şekilde açılıp kullanılması olduğu için boyutunun maksimum 10 MB olma kısıtlaması vardır. Bu nedenle sadece gerekli kaynakları paylaşmaya özen gösterin.



App Clip hassas bilgileri paylaşmamalıdır. Veri uygunluğu ve paylaşımı ile ilgili Apple dokümanını inceleyebilirsiniz.


3. Custom Flag Tanımlama


Uygulamanızda kullanabildiğiniz çoğu özellik ve framework App Clip için de kullanılabilir. Ancak biliyorsunuz ki App Clip'inizin boyutu 10 MB'ı geçmemelidir. Bu nedenle uygulamanızdaki bazı kodlarda değişiklik yapma veya boyutu yüksek kütüphaneleri App Clip'te kullanmamanız gereken durumlar olabilir. Bu gibi durumlarda App Clip ile uygulamanızdaki kullanımları ayrıştırmak için aşağıdaki adımlar ile custom flag tanımlayın.

AppClipTarget -> Build Settings -> Swift Compiler -> Active Compilation Conditions


Şimdi tanımladığınız flag'ı projenizdeki App Clip'e dahil etmek istemediğiniz kodları ayrıştırmak için kullanabilirsiniz.


#if !APPCLIP
    // Code you don't want to use in your App Clip.
#else
    // Code your App Clip may access.
#endif

4. Associated Domains Yetkisi Ekleme


Link ile uygulamanız yüklü değilken App Clip'i veya kullanıcı uygulamanızı yüklediğinde uygulamanızı başlatmak için App Clip Target'ına Associated domain ekleyin. Associated domain ekleme kısımına daha önceki bir mobi'de değinmiştik oradan gerekli adımları uygulayabilirsiniz.


5. Invocation'ları Karşılayıp Yapılandırın


Kullanıcılar NFC etiketi, QR Code, App Clip Code taratarak veya link ile App Clip'i başlatabilir. Bu davetler ile gelen istekleri App Clip'te yakalayıp gerekli aksiyonları alabilirsiniz.


func handleUserActivity(_ userActivity: NSUserActivity) {
    guard let incomingURL = userActivity.webpageURL, 
          let components = NSURLComponents(url: incomingURL,                                                 resolvingAgainstBaseURL: true),
          let queryItems = components.queryItems
    else { return }
    
     //Code your action
 }

Invocation'lar hakkında daha ayrıntılı bilgi edinmek için Apple'ın yayınladığı Configuring Your App Clip’s Launch Experience dokümanını inceleyebilirsiniz.


Birkaç madde ile genel olarak App Clip entegresi için yapabileceğiniz adımları inceledik. Daha detaylı bilgi edinmek için Apple dokümanlarını ve Apple'ın paylaştığı App Clip içeren örnek proje Fruta'yı indirip inceleyebilirsiniz.


Son olarak uygulamanızı review'a gönderirken App Store Connect'teki App Clips kısımındaki bilgileri de doldurmanız gerekmektedir.


Kısa anlatım:


Kaynaklar:

#iOS #AppClips

0 yorum

Komünite

Platform

Mobiler.dev Anasayfa
  • Twitter
  • Instagram
  • development_düzenlendi_düzenlendi
  • Youtube
  • slack-icon-black_edited_edited_edited
  • Gri LinkedIn Simge
imageedit_2_9667998092.png
JetBrains Hakkında Detaylı Bilgi Alın

© 2020 by mobiler.dev

Kurumsal Yazar Hesapları

adesso.png
mobilerdevLogo.jpg
Yazarlık Başvurusu Hakkında Bilgi Alın, Başvuru Yapın.
Topluluk Yazarlarını Tanıyın