كيف تعمل App Clips
App Clip هو جزء من تطبيق كامل (وفقًا لقواعد Apple ، لا يمكن أن يتجاوز App Clips 10 ميغابايت) ، تم شحذه لأداء مهمة محددة. على سبيل المثال ، طلب الطعام ، شراء تذكرة ، حجز فندق ، إلخ. في الوقت نفسه ، لا يلزم تثبيت App Clips - ما عليك سوى تشغيله من الرابط.
لا يتم حفظ الأدوات الذكية في الشاشات الرئيسية لهاتفك الذكي أو جهازك اللوحي الذي يعمل بنظام iOS ، ولكنها موجودة في مكتبة التطبيقات. يتم حذفها تلقائيًا من الجهاز بعد 30 يومًا من آخر تشغيل. لراحة المستخدمين ، تتمتع App Clips بالقدرة على إضافة دعم لـ Apple Pay وتسجيل الدخول عبر Apple ID للحصول على إذن ودفع سريع للخدمات والسلع - دون تسجيل وإدخال معلومات إضافية وأرقام بطاقات مصرفية.
قدمت Apple أيضًا العديد من الخيارات لإطلاق App Clips سواء في وضع عدم الاتصال أو عبر الإنترنت:
- مقاطع التطبيقات ذات العلامات التجارية
- علامة NFC
- رمز الاستجابة السريعة
- رابط عنوان URL
- لافتة
- خرائط آبل
- سيري.
في الوقت نفسه ، تستخدم App Clips قاعدة الشفرة نفسها التي يستخدمها التطبيق الرئيسي ، وفي تنسيقها تشبه إلى حد كبير مكونًا إضافيًا أو حاوية.
دليل سريع لإضافة App Clips إلى Rambler / Checkout
في هذه المقالة ، نريد التحدث عن بعض الفروق الدقيقة في إنشاء App Clips لتطبيقات Rambler / Cashier.
في الوقت الحالي ، قمنا بتطوير خوارزمية لدمج التطبيق المصغر:
- تحتاج إلى إضافة AppClip الهدف إلى المشروع ، مع تحديد المشروع المستهدف باعتباره الأصل (في حالتنا ، هدف Kassa).
- أضف الكبسولات الضرورية إذا لزم الأمر ، وحددها لهدف معين في Podfile (تنفيذ تثبيت pod).
- App Clips Signing & Capabilities Associated Domains appclips:{ , App Clips}. «/» appclips:kassa.rambler.ru appclips:m.kassa.rambler.ru.
- target App Clips, .
- url App Clips App Clips , Apple
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void -> Bool. - ( App Clips) AppStore.
- !
بعد أن ينقر المستخدم على "فتح AppClip / Application" على الشاشة المنبثقة باستخدام App Clips ، يتم
تنشيط الطريقة: تطبيق func (_ application: UIApplication ، متابعة userActivity: NSUserActivity ، restorationHandler: @ escaping ([UIUserActivityRestoring]؟) -> Void) -> منطقي
و userActivity.webpageURL يحتوي على URL أننا مخيط كرابط لكليب التطبيقات.
بعد ذلك ، بناءً على المعلمات من هذا الرابط ، سيتم فتح شاشة التطبيق المطلوب.
أنواع الارتباط
في الوقت الحالي ، تدعم Rambler / Cashier App Clips ثلاثة سيناريوهات لشراء التذاكر:
- فتح شاشة التفاصيل لحدث معين ؛
- فتح شاشة التفاصيل لموقع معين ؛
- فتح شاشة لجلسة معينة لحدث معين.
للاختبار ، أخذنا روابط عمل للأحداث المتاحة على Rambler / Cashier بمعايير مختلفة.
1. حدث . أخذنا createid ، cityid ، createtype كمعلمات إدخال:
m.kassa.rambler.ru/msk/movie/100547؟creationid=100547&cityid=2&creationtype=movie
يفتح الرابط شاشة تفاصيل الحدث ، والبيئة مماثلة لشراء تذكرة في تطبيق كامل ، باستثناء الأشياء التالية :
- لا يوجد زر إضافة إلى المفضلة على شاشة تفاصيل الحدث ؛
- لا يوجد عرض فيديو على تفاصيل الحدث.
2. الموقع . تم أخذ
Placeid و cityid و createtype كمعلمات إدخال: m.kassa.rambler.ru/msk/cinema/formula-kino-cdm-54351؟placeid=97417&cityid=2&creationtype=movie
يفتح الرابط شاشة تفاصيل المكان ، والبيئة مماثلة لشراء تذكرة كاملة التطبيق ، باستثناء:
- على الشاشة مع تفاصيل المكان ، لا توجد لوحة سفلية بوظيفة التنقل إلى المكان وإضافته إلى المفضلة وإمكانية مشاركة رابط.
3. ربط جلسة محددة . أخذنا sessionid كمعلمات إدخال:
m.kassa.rambler.ru/msk/concert/717293؟cityid=2&sessionid=54293235
الرابط يفتح شاشة بجلسة محددة (في شكل جدول أو مخطط قاعة) ، البيئة مماثلة لشراء تذكرة في تطبيق كامل.
المشاكل والحلول
1. بدء تشغيل مشبك التطبيق وتعطله.
لوحظت المشكلة عند استخدام كبسولات طرف ثالث. عند إنشاء المنتج ، لا يتم نسخ المكتبات إلى الدليل النهائي. والسبب هو عدم وجود نص في مراحل البناء.
لحل هذه المشكلة ، تحتاج إلى إضافة نص برمجي (دعنا نطلق عليه [CP] Embed
Pods Frameworks): $ {PODS_ROOT} / Target Support Files / Pods- {هنا اسم الهدف مع upclip} / Pods- {هنا اسم الهدف مع upclip} -frameworks.sh
في حالة Rambler / Cashier ، يبدو البرنامج النصي على النحو التالي:
$ {PODS_ROOT} / Target Support Files / Pods-KassaAppClip / Pods-KassaAppClip-frameworks.sh 2. يتم تجميع التجميع مع App Clips وأرشفته
وإرساله إلى AppStore ، ولكن يأتي الرفض من- لأوزان التطبيق
غالبًا ما يكون سبب هذه المشكلة هو بعض الموارد الكبيرة ومكتبات الجهات الخارجية.
أحد الحلول لتقليل حجم المكتبة في الأرشيف الهدف هو تمكين Bitcode (إنشاء الإعدادات / خيارات الإنشاء / تمكين رمز البت).
3. في App Clips ، تقوم طريقة UIDevice.current.identifierForVendor بإرجاع 000000-0000-000000 .....
ويرجع ذلك إلى إحدى ميزات App Clips: قامت Apple بتقييد الوصول إلى المعرف لأسباب أمنية. في Rambler / Cashier App Clips ، نستخدم ملحًا مكونًا عشوائيًا من 32 رقمًا.
ما هو بيت القصيد؟
App Clips طريقة جيدة لزيادة التحويلات لتطبيقات e-com مثل Rambler / Checkout. كل ما تبقى في الأسود:
- يمكن للمستخدمين شراء تذكرة بسرعة دون تنزيل التطبيق الرئيسي أو تثبيته ؛
- , iOS 14: