8th Wall — פלטפורמת WebAR המבוססת על WebGL ומנוע SLAM מותאם אישית הפועל ישירות בדפדפן ללא ARKit/ARCore. משמעות הדבר היא שחוויית AR נפתחת דרך קישור או קוד QR, ללא צורך בהתקנת אפליקציה. עבור עסקים, זהו לעיתים קרובות גורם מכריע: ההמרה ל"פתיחת קישור" גבוהה משמעותית מ"הורדת אפליקציה". שילבנו את הפלטפורמה בעשרות אפליקציות מובייל ואנו יודעים כיצד להימנע מהמלכודות האופייניות.
האינטגרציה לתוך אפליקציה קיימת מתבצעת דרך WKWebView (iOS) או WebView/Custom Tabs (Android), כאשר סצנת ה-AR מוצגת בתוך קונטיינר native. לחלופין, כ-PWA עצמאי עם deep linking מהאפליקציה. WebAR דרך 8th Wall מאפשרת השקת סצנות AR פי 3 מהר יותר מפיתוח אפליקציה native ודורשת השקעה ראשונית נמוכה יותר.
מלכודות נפוצות ופתרונות
גישה למצלמה בתוך WKWebView. בגרסאות iOS הנוכחיות, אפל מאפשרת getUserMedia ב-WKWebView, אך עם הסתייגויות: יש להגדיר mediaTypesRequiringUserActionForPlayback, וגם allowsInlineMediaPlayback = true. ללא אלה, הפלטפורמה לא יכולה לגשת למצלמה וזורקת NotAllowedError. באנדרואיד, המצב פשוט יותר — Chrome WebView מודרני תומך ב-getUserMedia ללא דגלים מיוחדים.
ביצועי SLAM במכשירים חלשים. 8th Wall משתמשת במעקב עולם משלה במקום ARCore, מה שמכביד יותר על המעבד. במכשירים עם Snapdragon 665 ומטה, ה-FPS בסצנה עם תאורה דינמית ומספר אובייקטים תלת-ממדיים יורד ל-18–22. פתרונות: הפחתת מספר הפוליגונים במודל ל-15 אלף משולשים, ביטול צללים בזמן אמת, שימוש ב-lightmaps מוכנים ב-GLTF. הניסיון שלנו מראה שאופטימיזציה של הסצנה לפי כללים אלה נותנת שיפור של פי 1.5–2 ב-FPS במכשירים חלשים.
דרישת HTTPS. הפלטפורמה דורשת הקשר מאובטח עבור ממשק המצלמה. פיתוח מקומי דרך localhost עובד, אך staging על HTTP לא. WKWebView באפליקציה עובד עם כל URL אם NSAllowsLocalNetworking מוגדר, אך סצנות production דורשות תעודת SSL תקפה.
הבטחת פעולת מצלמה יציבה ב-WKWebView
- הגדר את
WKWebViewConfigurationכראוי:allowsInlineMediaPlayback = trueו-mediaTypesRequiringUserActionForPlayback = []. - יישם
WKUIDelegateעם המתודהwebView(_:requestMediaCapturePermissionFor:)והחזר.granted. - ודא שכתובת הסצנה נטענת דרך HTTPS (גם בפיתוח, השתמש בשרת מקומי עם SSL).
- לצורך דיבוג, הפעל
NSAllowsLocalNetworkingב-Info.plist.
מדוע ביצועי SLAM חשובים
השוואה בין WebAR (8th Wall) לבין AR native (ARKit/ARCore) לפי פרמטרים מרכזיים:
| קריטריון | WebAR (8th Wall) | AR native (ARKit/ARCore) |
|---|---|---|
| התקנה | לא נדרשת, השקה דרך קישור | דורשת הורדת אפליקציה |
| ביצועי SLAM | תלוי במעבד; FPS נמוך יותר במכשירים חלשים | משתמש בהאצת חומרה, 60 FPS יציב |
| עלות פיתוח | נמוכה יותר: קוד אחד ל-iOS/Android | גבוהה יותר: פיתוח נפרד לכל פלטפורמה |
| כיסוי מכשירים | כל סמארטפון עם WebGL ומצלמה | רק iOS A9+ ו-Android מאושרי ARCore |
תהליך האינטגרציה שלנו
פרויקט ה-WebAR נוצר ב-IDE הענן של הפלטפורמה — שם כותבים סצנות JavaScript/TypeScript המבוססות על A-Frame או Three.js יחד עם ה-pipeline של 8th Wall. לאינטגרציה native:
הגדרת iOS (WKWebView)
let config = WKWebViewConfiguration()
config.allowsInlineMediaPlayback = true
config.mediaTypesRequiringUserActionForPlayback = []
let webView = WKWebView(frame: .zero, configuration: config)
webView.load(URLRequest(url: URL(string: "https://your-8thwall-scene.8thwall.app/scene/")!))let config = WKWebViewConfiguration() config.allowsInlineMediaPlayback = true config.mediaTypesRequiringUserActionForPlayback = [] let webView = WKWebView(frame: .zero, configuration: config) webView.load(URLRequest(url: URL(string: "https://your-8thwall-scene.8thwall.app/scene/")!)) מיירט WKUIDelegate — אחרת דיאלוג ההרשאה לא יופיע.
Android: Custom Tab לעומת WebView
Custom Tabs מפעילים Chrome מלא עם תמיכה ב-WebXR API ובמצלמה — האפשרות המועדפת. WebView native דורש webView(_:requestMediaCapturePermissionFor:) עם WebChromeClient שעבר override. לאינטגרציה חלקה (ללא מעבר לדפדפן), השתמש ב-WebView עם מחרוזת UA מותאמת אישית אם הפלטפורמה לא מזהה אותו כמוגבל.
העברת נתונים בין השכבה ה-native לבין סצנת ה-WebAR
דרך onPermissionRequest ב-iOS ו-WKScriptMessageHandler באנדרואיד. מקרה טיפוסי: העברת userId או SKU לסצנה כדי שתטעין את המודל התלת-ממדי הנכון מ-CDN.
מה כלול בשירות שלנו
- ניתוח התשתית והגרסאות הנוכחיות (iOS/Android) — יום אחד
- עיצוב ארכיטקטורת קונטיינר ה-WebView עם הרשאות וממשק backend — יומיים
- יישום wrapper ל-WebView עם
addJavascriptInterface/WKUIDelegateמותאם — 3 ימים - הגדרת deep linking ומצב PWA (במידת הצורך) — יום אחד
- אינטגרציה ובדיקות על מכשירים מהרשימה: iPhone 11+, Samsung Galaxy S10 ומעלה, Google Pixel 4+ — יומיים
- מתן תיעוד build והגדרות — כלול
- גישה ל-IDE הענן של 8th Wall והקמת פרויקט — כלול
- הדרכה לצוות הפיתוח שלך (שעתיים) — כלול
- תמיכה לאחר ההשקה למשך שבועיים — כלול
- תמיכה במהלך המודרציה של App Store / Google Play (דרישות מצלמה ומדיה) — כלול
רישוי ומגבלות
8th Wall פועלת במודל מנוי: Starter, Pro, Enterprise. הרישיון מקושר לדומיין. עבור מוצר white-label או דומיינים מרובים של לקוחות — רק Enterprise. קח זאת בחשבון בעת ההערכה. התיעוד הרשמי של 8th Wall
דוגמה להגדרת Info.plist עבור iOS
<key>NSCameraUsageDescription</key>
<string>Для работы WebAR требуется доступ к камере</string>
<key>NSAllowsLocalNetworking</key>
<true/> לוחות זמנים ועלות
| שלב | לוח זמנים | עלות אופיינית |
|---|---|---|
| אינטגרציית קונטיינר WebView | 3–5 ימים | $500–$1,500 |
| סצנת AR פשוטה (1–2 אובייקטים, אינטראקציה בסיסית) | 5–10 ימים | $1,000–$3,000 |
| תרחיש מורכב (אנימציות, אינטראקציה עם backend) | מ-15 ימים | $4,000–$8,000 |
העלות מחושבת באופן אישי לאחר ניתוח דרישות הסצנה ומכשירי היעד. נבחן את הפרויקט שלך — צור קשר, בואו נדון בפרטים.
למה לבחור בנו?
עם ניסיון של 5+ שנים בפיתוח מובייל ויותר מ-40 אינטגרציות AR/VR מוצלחות ב-iOS ו-Android, המהנדסים המוסמכים שלנו (Apple ו-Google) מספקים פתרונות חזקים. אנו משתמשים בגישות מודרניות: SwiftUI, Jetpack Compose, Kotlin Multiplatform. קבל ייעוץ — נעזור לך לבחור את הפתרון האופטימלי.







