שילוב רכישות בתוך האפליקציה עבור Unity: IAP, מנויים, אימות

רכישות בתוך האפליקציה הן מקור הכנסה יציב, אך רק אם העסקאות מעובדות ללא תקלות ומוגנות מפני הונאה. אנו משלבים IAP ומנויים ב-Unity במפתח מלא: אנו מגדירים את הצד של הלקוח, אימות קבלות בצד השרת וטיפול בתשלומים שהופרעו. הצוות שלנו לוקח על עצמו את כל המחזור—מביקורת ועד תמיכה שוטפת—כך שהרכישות שלך פועלות באופן אמין ומייצרות רווח ללא הפסדים.

היכולות שלנו

שירותי סטודיו אחרים

יישומי VR/AR/MR מותאמים אישית

טבלו לקוחות וצוותים בחוויות דיגיטליות חדשות

פיתוח משחקי Unity

מקונספט לשחרור — משחקים שאנשים זוכרים

מידול ואנימציה בתלת-ממד

החיו את המוצר שלכם בגרפיקת תלת-ממד ואנימציה

סימולטורי ציוד VR תעשייתיים

אמנו מפעילים על ציוד בבטחה, ללא השבתה

הוראות AR לייצור

הנחיות שלב-אחר-שלב ישירות על הציוד — ללא נייר

סימולטורי VR לבטיחות

תרגול תגובה לשעת חירום ללא צורך בהגעה לשטח

תוכניות הכשרה ב-VR/AR

הכשרת עובדים בשירות, קליטה ומיומנויות רכות ב-VR

חידוני הכשרה לעובדים

בדיקת ידע באמצעות משחקים — בקלות וללא לחץ

הוראות וידאו ארגוניות

סרטונים ברורים להכשרת העובדים והלקוחות שלכם

גיימיפיקציה עסקית

הניעו צוותים עם מכניקת משחק ב-KPI ובמשאבי אנוש

יישומי קיוסק אינטראקטיביים

מסכים אינטראקטיביים לקמעונאות, תערוכות ומשרדים

מתקני VR/AR

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

תערוכות ומוזיאונים וירטואליים

התערוכות שלכם מגיעות לכל פינה בעולם, 24/7

מסעות אירועים ומשחקי מותג

משחקים בלתי נשכחים לכנסים ולאירועי לקוחות

שאלות נפוצות

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

  • פיתוח משחקים עבור Mortal Motors
    פיתוח משחקים עבור Mortal Motors
    1638
  • משחק אסטרטגיה מבוסס תורות המתרחש בעולם פנטזיה, With Fire and Sword
    משחק אסטרטגיה מבוסס תורות המתרחש בעולם פנטזיה, With Fire and Sword
    1123
  • פיתוח משחק עבור חברת Second term
    פיתוח משחק עבור חברת Second term
    751
  • אנימציית תלת-ממד - טיזר למשחק Phoenix 2.
    אנימציית תלת-ממד - טיזר למשחק Phoenix 2.
    830

אינטגרציה של רכישות בתוך האפליקציה

לעתים קרובות אנו רואים פרויקטים שבהם Unity IAP מוגדר תוך שעה—ולמחרת הם מקבלים InitializationFailureReason.PurchasingUnavailable בייצור ב-iOS 17. חופרים פנימה ומגלים שההרשאה לרכישות בתוך האפליקציה ב-App Store Connect לא מוגדרת, והבודק בסביבת הארגז חול לא נוסף. זה רק קצה הקרחון.

אינטגרציית IAP היא חוליה מקשרת בין הלקוח, מערכת התשלומים של החנות והשרת האחורי, שחייבת לפעול כראוי תחת אינטרנט לא יציב, עסקאות מופרעות וניסיונות הונאה. שגיאות כאן עולות כסף: ההפסד הממוצע מעסקה בודדת שלא עובדה הוא $2–3, וחיוב חוזר יכול לעלות למוציא לאור $4.5k–6.5k.

אילו בעיות מתעוררות במהלך אינטגרציית IAP?

עסקאות ממתינות. המשתמש לוחץ על "קנה", הכסף נוכה, החיבור נופל—ProcessPurchase לא נקרא. Unity IAP שומר את העסקה בתור ומנסה להשלים אותה בהפעלה הבאה. אבל אם השרת האחורי לא מיישם אידמפוטנטיות לפי transactionID, השחקן מקבל את הפריט פעמיים או לא מקבל אותו כלל. ראינו פרויקטים שבהם PendingOrderResponse הצטברו במשך שבועות בגלל חוסר ConfirmPendingPurchase() במקום הנכון.

אימות קבלות. ללא אימות קבלות בצד השרת, המשחק חשוף לרכישות הונאה דרך APK מהונדסים או מכשירים עם פריצת jailbreak. אפל מחזירה קבלה מקודדת ב-base64 בתוך Product.receipt, גוגל מחזירה JSON עם חתימה. אימות מקומי דרך UnityEngine.Purchasing.Security.CrossPlatformValidator הוא מחסום מינימלי, אך לא מספק. אימות מלא: שליחת הקבלה לשרת שלך, בדיקה דרך Apple App Store Server API (/verifyReceipt או אסימון JWS חדש של StoreKit 2) או Google Play Developer API (purchases.products.get). סטטיסטיקה: אימות בצד השרת מפחית חיובים חוזרים ב-95%.

שחזור רכישות ב-iOS. אפל דורשת כפתור שחזור רכישות עבור מוצרים שאינם מתכלים ומנויים—בלעדיו, האפליקציה לא תעבור את הביקורת. IAppleExtensions.RestoreTransactions() חייב להיות נגיש מממשק המשתמש, ומטפל OnTransactionsRestored חייב לעדכן כראוי את מצב המלאי ללא כפילויות.

כאב נפרד הוא מנויים. SubscriptionManager ב-Unity IAP יכול לנתח את תאריך התפוגה ומצב החידוש, אבל רק עם קבלה תקפה. באנדרואיד עם Google Play Billing Library 5+, יש לבקש במפורש queryPurchasesAsync בכל התחלה—המטמון הופך למיושן. אי עדכון משאיר למשתמש גישה חופשית לתוכן בתשלום.

למה אימות בצד השרת חשוב?

לפי התיעוד של Apple StoreKit, אימות בצד השרת מבטל זיוף קבלות במכשיר. נשווה בין שתי גישות:

קריטריון אימות מקומי אימות בצד השרת
מורכבות יישום נמוכה (מתודה אחת) גבוהה (backend + API)
הגנה מפני הונאה 60% — נשבר במכשירים עם root 99% — העסקה נבדקת בשרת של אפל/גוגל
עדכוני מנויים רק לפי קבלה בלקוח בזמן אמת: התראות push על סטטוס
אמינות בינונית: קבלה מזויפת בלקוח גבוהה: אידמפוטנטיות, ניסיונות חוזרים בזמן timeout

אימות בצד השרת אמין ב-40% יותר מאשר מקומי ומפחית את הסיכון לחיובים חוזרים למינימום. בלעדיו, מוציאים לאור גדולים לא משחררים משחקים. חיסכון מאימות שרת: עד 30% מהכספים שאחרת היו הולכים לחיובים חוזרים.

רשימת בדיקה של טעויות IAP נפוצות
  • חוסר ConfirmPendingPurchase() לסיום העסקה.
  • שחזור רכישות שגוי ב-iOS (חוסר כפתור בממשק המשתמש).
  • שימוש באותו מזהה מוצר לשתי הפלטפורמות.
  • התעלמות מ-queryPurchasesAsync באנדרואיד לבדיקת סטטוס המנוי.
  • חוסר אידמפוטנטיות בשרת האחורי.

איך אנחנו עושים את זה: טכנולוגיה וגישה

אנחנו מתחילים בבדיקת המצב הנוכחי: האם יש backend, האם נדרש אימות שרת, מה מודל המונטיזציה (מתכלה, לא מתכלה, מנויים, או כולם יחד). בהתאם לכך, אנחנו מתכננים תוכנית.

אנחנו מגדירים הגדרות מוצר ב-Unity IAP דרך ProductCatalog או פרוגרמטית דרך ConfigurationBuilder. למשחקים רב-פלטפורמיים—קטלוג אחיד עם מזהים ספציפיים לפלטפורמה (אפל/גוגל דורשות לעתים קרובות מזהים שונים). אנו משתמשים בתיעוד Apple StoreKit כדי להגדיר בודקי ארגז חול ולאמת מנויים.

אנחנו מיישמים את המחזור המלא: אתחול UnityPurchasing.Initialize() → טיפול ב-ProcessPurchase → אישור ConfirmPendingPurchase() → הענקת הפריט → רישום במסד הנתונים. אם יש backend, אנחנו מוסיפים אימות בצד השרת עם לוגיקת ניסיונות חוזרים בזמן timeout.

עבור iOS בנוסף: הגדרת סביבת StoreKit לבדיקות (Xcode Sandbox), טיפול בהצעות קידום דרך IAppleExtensions.SetStorePromotionOrder(), עבודה נכונה עם Family Sharing אם נדרש. עבור אנדרואיד: הגדרת חשבונות בדיקה ב-Google Play Console, אימות פעולה במסלולי alpha/internal לפני פרסום.

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

  • תיעוד: תוכנית ארכיטקטונית של רכישות, תיאורי מוצרים, דיאגרמת עסקאות.
  • קוד מקור: סקריפט מנהל IAP מלא עם תמיכה בכל הפלטפורמות.
  • חלק שרת: API לאימות קבלות (אופציונלי) עם אידמפוטנטיות וניסיונות חוזרים.
  • גישה: הגדרת App Store Connect ו-Google Play Console, יצירת חשבונות בדיקה.
  • הדרכה: הסבר כיצד להוסיף מוצרים חדשים ולטפל בשגיאות.
  • תמיכה: ייעוץ במשך שבוע לאחר המסירה.

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

בדיקות—שלב נפרד

תרחישים שאנחנו חייבים לבדוק:

  1. רכישה מוצלחת—מתכלה, לא מתכלה, מנוי.
  2. רכישה עם ניתוק רשת במהלך העסקה—בדיקת Pending ושחזור.
  3. בקשת רכישה חוזרת—ביטול כפילויות.
  4. שחזור רכישות במכשיר חדש.
  5. רכישה במכשיר ללא אמצעי תשלום—טיפול נכון בשגיאות.
  6. שדרוג/הורדת מנוי—עדכון נכון של תאריך התפוגה.

בדיקות ארגז חול ב-iOS כוללות מגבלות—חלק מהתרחישים (למשל, ניסיון חיוב חוזר) ניתנים לשחזור רק ב-TestFlight. באנדרואיד—דרך מסלול בדיקה פנימי עם חשבונות בדיקה מורשים.

לוח זמנים

מורכבות לוח זמנים
IAP מתכלה, פלטפורמה אחת, ללא backend 2–4 ימים
אינטגרציה מלאה (שתי פלטפורמות + אימות שרת) 1–2 שבועות
מנויים עם ניהול backend + אנליטיקה 2–4 שבועות

העלות מחושבת לאחר ניתוח ארכיטקטורת הפרויקט ודרישות מודל המונטיזציה. צרו קשר לייעוץ והערכת עלות מדויקת לפרויקט שלכם. הזמינו אינטגרציה סוהר—נכין הצעה מסחרית תוך יום עסקים אחד. קבלו ייעוץ לפרויקט שלכם—כתבו לנו.