Wie machen wir App-Clips?

App-Clips sind leichtgewichtige Versionen der iOS 14-App, mit denen Benutzer eine bestimmte Aufgabe schnell erledigen können, ohne die Vollversion aus dem App Store herunterladen oder installieren zu müssen. Apple hat diese Geräte auf der WWDC 2020 angekündigt. Wir von der Rambler Group waren unter den ersten, die App-Clips für Rambler / Cashier-Apps ausprobiert haben.







So funktionieren App-Clips



App Clip ist Teil einer vollständigen Anwendung (gemäß den Apple App Clips-Regeln dürfen sie 10 MB nicht überschreiten), die für die Ausführung einer bestimmten Aufgabe geschärft wurden. Zum Beispiel Essen bestellen, ein Ticket kaufen, ein Hotel buchen usw. In diesem Fall müssen App-Clips nicht installiert werden. Sie müssen sie nur über den Link ausführen.



Gadgets werden nicht auf den Startbildschirmen Ihres iOS-Smartphones oder -Tablets gespeichert, sondern befinden sich in der Anwendungsbibliothek. Sie werden 30 Tage nach dem letzten Start automatisch vom Gerät gelöscht. App Clips bietet die Möglichkeit, Apple Pay zu unterstützen und sich über die Apple ID anzumelden, um eine schnelle Autorisierung und Zahlung für Dienstleistungen und Waren zu ermöglichen - ohne sich registrieren zu müssen, zusätzliche Informationen und Bankkartennummern einzugeben.







Apple hat auch viele Optionen zum Offline- und Online-Starten von App-Clips bereitgestellt:



  • Marken-App-Clips
  • NFC-Tag
  • QR-Code
  • URL-Link
  • Banner
  • Apple Maps
  • Siri.






Gleichzeitig verwenden App-Clips dieselbe Codebasis wie die Hauptanwendung und ähneln in ihrem Format eher einem Plugin oder Container.



Eine Kurzanleitung zum Hinzufügen von App-Clips zu Rambler / Checkout



In diesem Artikel möchten wir einige der Nuancen beim Erstellen von App-Clips für Rambler / Cashier-Anwendungen erläutern.



Derzeit haben wir einen Algorithmus zur Integration der Mini-Anwendung entwickelt:



  1. Sie müssen dem Projekt Ziel-AppClip hinzufügen und gleichzeitig das Zielprojekt als übergeordnetes Ziel angeben (in unserem Fall Ziel-Kassa).
  2. Fügen Sie bei Bedarf die erforderlichen Pods hinzu und geben Sie sie für ein bestimmtes Ziel in der Poddatei an (Pod-Installation ausführen).
  3. App Clips Signing & Capabilities Associated Domains appclips:{ , App Clips}. «/» appclips:kassa.rambler.ru appclips:m.kassa.rambler.ru.
  4. target App Clips, .
  5. url App Clips App Clips , Apple



    func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void -> Bool.
  6. ( App Clips) AppStore.
  7. !




Nachdem der Benutzer im Popup-Bildschirm mit App-Clips auf "AppClip / Anwendung öffnen" geklickt hat , wird die Methode



ausgelöst: func application (_ application: UIApplication, continue userActivity: NSUserActivity, restoreHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool



Die userActivity.webpageURL enthält die URL, die wir als Link für App-Clips zusammengefügt haben.



Danach wird basierend auf den Parametern über diesen Link der gewünschte Anwendungsbildschirm geöffnet.



Arten von Links



Derzeit unterstützen Rambler / Cashier App Clips drei Ticketkaufszenarien:



  • Öffnen des Detailbildschirms für ein bestimmtes Ereignis;
  • Öffnen des Detailbildschirms für einen bestimmten Ort;
  • Öffnen eines Bildschirms für eine bestimmte Sitzung für ein bestimmtes Ereignis.


Zum Testen haben wir funktionierende Links zu Ereignissen verwendet, die auf Rambler / Cashier mit verschiedenen Parametern verfügbar sind.



1. Ereignis . Wir haben Creationid, Cityid, Creationtype als Eingabeparameter verwendet:

m.kassa.rambler.ru/msk/movie/100547?creationid=100547&cityid=2&creationtype=movie Der



Link öffnet den Bildschirm mit den Ereignisdetails. Die Umgebung ist identisch mit dem Kauf eines Tickets in einer vollwertigen Anwendung, mit Ausnahme der folgenden Dinge ::



  • Auf dem Bildschirm mit den Ereignisdetails gibt es keine Schaltfläche zum Hinzufügen zu Favoriten.
  • Es gibt keine Videoanzeige für Ereignisdetails.


2. Ort . Placeid, Cityid, Creationtype wurden als Eingabeparameter verwendet:

m.kassa.rambler.ru/msk/cinema/formula-kino-cdm-54351?placeid=97417&cityid=2&creationtype=movie Der



Link öffnet den Bildschirm mit den Ortsdetails. Die Umgebung ist identisch mit dem vollständigen Kauf eines Tickets Anwendung, außer:



  • Auf dem Bildschirm mit Details zum Ort gibt es kein unteres Feld mit der Funktionalität, zu einem Ort zu navigieren, ihn zu Favoriten hinzuzufügen und einen Link zu teilen.




3. Verknüpfen Sie mit einer bestimmten Sitzung . Wir haben sessionid als Eingabeparameter verwendet:

m.kassa.rambler.ru/msk/concert/717293?cityid=2&sessionid=54293235 Der



Link öffnet einen Bildschirm mit einer bestimmten Sitzung (in Form einer Tabelle oder eines Hallendiagramms ). Die Umgebung ist identisch mit dem Kauf eines Tickets in einer vollwertigen Anwendung.















Probleme und Lösungen



1. App lip startet und stürzt ab



Das Problem tritt bei der Verwendung von Pods von Drittanbietern auf. Beim Erstellen des Produkts werden Bibliotheken nicht in das endgültige Verzeichnis kopiert. Der Grund ist das Fehlen eines Skripts in Build-Phasen.



Um dieses Problem zu lösen, müssen Sie ein Skript hinzufügen (nennen wir es [CP] Embed Pods Frameworks):



$ {PODS_ROOT} / Zielunterstützungsdateien / Pods- {hier der Name des Ziels mit einem Upclip} / Pods- {hier der Name des Ziels mit einem Upclip} -frameworks.sh



Im Fall von Rambler / Cashier sieht das Skript folgendermaßen aus:

$ {PODS_ROOT} / Zielunterstützungsdateien / Pods-KassaAppClip / Pods-KassaAppClip-frameworks.sh



2. Die Assembly mit App-Clips wird gesammelt, archiviert und an den AppStore gesendet, aber eine Ablehnung kommt von- für Anwendungsgewichte



Die Ursache für dieses Problem sind hauptsächlich einige große Ressourcen und Bibliotheken von Drittanbietern.



Eine Lösung zur Reduzierung der Größe der Bibliothek im Zielarchiv besteht darin, Bitcode zu aktivieren (Build-Einstellungen / Build-Optionen / Bitcode aktivieren).



3. In App-Clips gibt die Methode UIDevice.current.identifierForVendor 000000-0000-000000 zurück.



Dies ist auf eine Funktion von App-Clips zurückzuführen: Apple hat aus Sicherheitsgründen den Zugriff auf die Kennung eingeschränkt. In den Rambler / Cashier App Clips verwenden wir ein zufällig generiertes 32-stelliges Salz.



Was ist das Endergebnis?



App-Clips sind eine gute Möglichkeit, die Conversions für E-Com-Anwendungen wie Rambler / Checkout zu steigern. Alle schreiben schwarze Zahlen:



  • Benutzer können schnell ein Ticket kaufen, ohne die Hauptanwendung herunterladen oder installieren zu müssen.
  • , iOS 14:





All Articles