שילוב Google VR (Cardboard) SDK באפליקציות מובייל

משתמשים מתלוננים על תמונות מטושטשות ובחילות בתנועה במצב VR? אנחנו משלבים את Google Cardboard SDK באפליקציה הניידת שלכם, ומגדירים מעקב ראש ותיקון עיוותים לתמונה סטריאוסקופית ברורה. הצוות שלנו מספק את הפרויקט במפתח מלא—מבדיקת הקוד הקיים ועד ליישום ותמיכה מתמשכת, תוך הבטחת פונקציונליות VR יציבה.

פיתוח ותמיכה בכל סוגי היישומים הניידים:

יישומים ניידים למידע ובידור
אפליקציות חדשות, משחקים, מדריכים, קטלוגים מקוונים, אפליקציות מזג אוויר, אפליקציות כושר ובריאות, אפליקציות נסיעות, אפליקציות חינוכיות, רשתות חברתיות ומסנג'רים, חידונים, בלוגים ופודקאסטים, פורומים, אגרגטורים
יישומים ניידים למסחר אלקטרוני
חנויות מקוונות, אפליקציות B2B, מרקטפלייסים, בורסות מקוונות, שירותי קאשבק, בורסות, פלטפורמות דרופשיפינג, תוכניות נאמנות, משלוחי מזון ומוצרים, מערכות תשלום.
יישומים ניידים לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, ניהול פרויקטים, כלים לצוותי מכירות, ניהול פיננסי, ניהול ייצור, ניהול לוגיסטיקה ומשלוחים, ניהול משאבי אנוש, מערכות ניטור נתונים
יישומים ניידים לשירותים אלקטרוניים
פלטפורמות מודעות מסווגות, בתי ספר מקוונים, בתי קולנוע מקוונים, פלטפורמות שירות אלקטרוניות, פלטפורמות קאשבק, אירוח וידאו, פורטלים נושאיים, פלטפורמות הזמנות ותזמון מקוונות, פלטפורמות מסחר מקוונות

אלה הם רק חלק מסוגי היישומים הניידים שאנו עובדים איתם, ולכל אחד מהם עשויים להיות מאפיינים ופונקציונליות ספציפיים משלו, המותאמים לצרכים ולמטרות הספציפיות של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
שילוב Google VR (Cardboard) SDK באפליקציות מובייל
בינוני
~3-5 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

שילוב Google VR SDK באפליקציות מובייל

משתמש מרכיב משקפי Cardboard ומפעיל את האפליקציה שלך — ורואה רק תמונה מפוצלת ללא אפקט סטריאוסקופי. נשמע מוכר? שילוב Google VR SDK (כיום Cardboard) דורש כיול מדויק של מעקב ראש, תיקון עיוות עדשות וטיפול בקוד QR. מעקב שגוי גורם לבחילת תנועה, ועדשות לא מכוילות הופכות את התמונה למטושטשת.

עזרנו לעשרות פרויקטים ליישם פונקציונליות VR — מהפעלת וידאו 360° פשוטה ועד סימולטורים אינטראקטיביים מלאים. המהנדסים שלנו מוסמכים על ידי Apple ו-Google, עם ניסיון של למעלה מ-5 שנים ב-VR. בשנים האחרונות השלמנו יותר מ-50 אינטגרציות: זמן החיסכון הממוצע ללקוחותינו הוא 30%, והחזר ההשקעה על השקעות VR יכול להגיע ל-6 חודשים בלבד. תיעוד Google Cardboard SDK ממליץ להתחיל עם פרויקט הדגמה.

למה Cardboard SDK עדיף על Google VR SDK שהוצא משימוש

ה-Google VR SDK המקורי (gvr-android-sdk) הוחלף ב-Google Cardboard SDK בקוד פתוח. אם הפרויקט שלך עדיין משתמש ב-com.google.vr.sdk הישן, אנו ממליצים לבצע הגירה. ה-Cardboard SDK החדש מתוחזק באופן פעיל: הוא מעבד מעקב פי שניים מהר יותר ומציע תיקון עיוות עדשות טוב יותר. בניגוד ל-SDK הישן, Cardboard תומך ב-iOS ויש לו קוד פתוח.

השוואה בין SDK הישן לחדש:

פרמטר Google VR SDK (ישן) Cardboard SDK (חדש)
סטטוס הוצא משימוש מתוחזק באופן פעיל
פלטפורמות Android, Unity Android, iOS, Unity
עיבוד סטריאוסקופי מובנה מובנה + אופטימיזציות
תיקון עיוות עדשות קיים משופר
סריקת QR Android בלבד iOS ו-Android
קוד פתוח לא כן

איך לשלב Cardboard SDK ב-Unity

הדרך הנפוצה ביותר היא דרך Unity Package Manager. בצע את השלבים הבאים:

  1. פתח את Window > Package Manager.
  2. הוסף חבילה מכתובת git: https://github.com/googlevr/cardboard.git#upm.
  3. חבר את רכיב CardboardCamera למצלמה הראשית.
  4. הגדר פרמטרי מכשיר (QR או ידני).

ה-SDK מבצע אוטומטית:

  • פיצול מסך לעיבוד סטריאוסקופי
  • החלת תיקון עיוות עדשות
  • קריאת מעקב ראש מה-IMU
  • טיפול בכפתור ההפעלה
// Первый запуск: показываем UI для сканирования QR
void Start()
{
    if (!CardboardQrCode.IsDeviceParamsSet())
    {
        Cardboard.SDK.ScanDeviceParams();
    }
}

// Recenter по нажатию кнопки
void Update()
{
    if (CardboardInput.GetButtonDown())
    {
        Cardboard.SDK.Recenter();
    }
}

אינטגרציה מקורית ב-Android (Java/Kotlin)

לאפליקציות מקוריות ללא Unity:

// build.gradle implementation 'com.google.cardboard:sdk:1.21.0' 

רכיבי SDK מרכזיים:

// Инициализация в Activity
private CardboardHeadTracker headTracker;
private CardboardLensDistortion lensDistortion;
private CardboardDistortionRenderer distortionRenderer;

@Override
protected void onCreate(Bundle savedInstanceState) {
    CardboardSdk.initializeOnce(this, "your-app-name");
    headTracker = CardboardHeadTracker.create();
    // ...
}

// В render loop (вызывается из GLSurfaceView)
@Override
public void onDrawFrame(GL10 gl) {
    long monotonic_time_ns = System.nanoTime();
    float[] leftEyeViewMatrix = new float[16];
    float[] rightEyeViewMatrix = new float[16];
    headTracker.getPose(monotonic_time_ns, leftEyeViewMatrix, rightEyeViewMatrix);
    distortionRenderer.renderEyeToDisplay(
        /* display */ 0,
        /* x */ 0,
        /* y */ 0,
        /* width */ displayWidth,
        /* height */ displayHeight,
        /* leftEyeParams */ leftEyeParams,
        /* rightEyeParams */ rightEyeParams
    );
}

אינטגרציה מקורית ב-iOS (Swift)

// Podfile или SPM
pod 'GoogleCardboard', '~> 1.21'
import CardboardSDK

class VRViewController: UIViewController {
    private var renderer: CardboardRenderer!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        CardboardQrCode.getSavedDeviceParams { [weak self] params in
            if params == nil {
                CardboardQrCode.scanQrCodeAndSaveDeviceParams(from: self)
            }
            self?.initRenderer()
        }
    }
}

מה לעשות כשקוד ה-QR לא נסרק

סורק ה-QR נפתח בהפעלה הראשונה או לפי בקשה מפורשת. בעיות אפשריות:

  • המשתמש סירב לסריקה → ה-SDK משתמש בפרמטרי ברירת מחדל של Cardboard v1. תיקון עיוות העדשות יהיה שגוי עבור משקפיים לא סטנדרטיים.
  • קוד QR לא קריא (תאורה חלשה, קוד פגום) → ספק כפתור "הזנה ידנית" או "השתמש ב-Cardboard סטנדרטי".
  • לאחר החלפת משקפיים → הוסף כפתור "החלף משקפיים" בהגדרות האפליקציה שקורא ל-// Первый запуск: показываем UI для сканирования QR void Start() { if (!CardboardQrCode.IsDeviceParamsSet()) { Cardboard.SDK.ScanDeviceParams(); } } // Recenter по нажатию кнопки void Update() { if (CardboardInput.GetButtonDown()) { Cardboard.SDK.Recenter(); } } .

מסך מפוצל ומצב מסך מלא

ה-Cardboard SDK מצפה לכיוון לרוחב. ב-iOS, זה אומר לנעול את // build.gradle implementation 'com.google.cardboard:sdk:1.21.0' ל-// Инициализация в Activity private CardboardHeadTracker headTracker; private CardboardLensDistortion lensDistortion; private CardboardDistortionRenderer distortionRenderer; @Override protected void onCreate(Bundle savedInstanceState) { CardboardSdk.initializeOnce(this, "your-app-name"); headTracker = CardboardHeadTracker.create(); // ... } // В render loop (вызывается из GLSurfaceView) @Override public void onDrawFrame(GL10 gl) { long monotonic_time_ns = System.nanoTime(); float[] leftEyeViewMatrix = new float[16]; float[] rightEyeViewMatrix = new float[16]; headTracker.getPose(monotonic_time_ns, leftEyeViewMatrix, rightEyeViewMatrix); distortionRenderer.renderEyeToDisplay( /* display */ 0, /* x */ 0, /* y */ 0, /* width */ displayWidth, /* height */ displayHeight, /* leftEyeParams */ leftEyeParams, /* rightEyeParams */ rightEyeParams ); } . ב-Android, הגדר // Podfile или SPM pod 'GoogleCardboard', '~> 1.21' import CardboardSDK class VRViewController: UIViewController { private var renderer: CardboardRenderer! override func viewDidLoad() { super.viewDidLoad() CardboardQrCode.getSavedDeviceParams { [weak self] params in if params == nil { CardboardQrCode.scanQrCodeAndSaveDeviceParams(from: self) } self?.initRenderer() } } } ב-manifest וטפל ב-CardboardQrCode.scanQrCodeAndSaveDeviceParams() כדי למנוע יצירה מחדש של ה-activity.

חיתוכי מסך (notch, Dynamic Island) במצב לרוחב עלולים להסתיר חלק מתצוגת ה-VR. השתמש ב-UIInterfaceOrientationMask (Android) ו-.landscapeRight (iOS) כדי למקם נכון את אזור העיבוד.

בעיות אינטגרציה אופייניות

android:screenOrientation="landscape" בעת ההפעלה ב-Android — ה-GLSurfaceView לא מוכן כשמאתחלים את Cardboard. פתרון: אתחל ב-callback של onConfigurationChanged, לא ב-WindowInsets.displayCutout.

ה-SDK לא מתקמפל עם ה-NDK העדכני ביותר — Cardboard SDK כולל חלק C++ מקורי, שלעתים דורש safeAreaInsets מפורש ב-gradle.

ב-iOS 17+, IllegalStateException: Surface is not valid דורש surfaceCreated() ב-Info.plist — בלעדיו, האפליקציה קורסת בעת כניסה למצב VR.

מה כלול בעבודה שלנו

  • ביקורת על הפרויקט הנוכחי: Unity או מקורי, תלויות, גרסאות מערכת הפעלה יעד
  • אינטגרציית Cardboard SDK, הגדרת סריקת QR
  • התאמת עיבוד: מסך מפוצל, עיוות עדשות, הקרנה סטריאוסקופית
  • יישום אינטראקציית מבט וכפתור Cardboard
  • בדיקות על מכשירים אמיתיים מיצרנים שונים (לפחות 5 דגמים)
  • תיעוד אינטגרציה ותמיכה ל-30 יום

למה לבחור בנו

יישמנו פונקציונליות VR ביותר מ-50 פרויקטים. המהנדסים שלנו מוסמכים על ידי Apple ו-Google, ואנו מבצעים אינטגרציה במפתח מלא עם אחריות לאיכות. זמן החיסכון הממוצע ללקוחות הוא 30%, וחיסכון ממוצע בתקציב הבדיקות הוא 40%. צור קשר כדי לדון בפרויקט שלך — אנו מציעים הערכה ראשונית.

הערכות זמן

סוג אינטגרציה משך זמן
אינטגרציית Cardboard SDK בסיסית ב-Unity מיומיים
אינטגרציה מקורית עם renderer מותאם אישית (Android/iOS) 3 עד 5 ימים
אינטגרציה מורכבת עם ממשק מבט ואנליטיקה מ-7 ימים

קבל הערכה מדויקת לפרויקט שלך: פנה אלינו, ונעזור לך ליישם VR במהירות וללא טרחה.