שילוב RevenueCat לניהול מנויים
משתמש רכש מנוי שנתי ב-49.99$ באייפון, אך הוא לא פעיל באנדרואיד. המפתח צריך להשקיע 2–3 שבועות כדי לתקן זאת. נדרשים אימות קבלה בצד השרת, התראות שרת של Apple (Apple Server Notifications v2), והגדרת RTDN של Google Play. אנחנו פותרים זאת תוך 2–3 ימים עם RevenueCat — חוסכים זמן וכסף.
RevenueCat מספקת CustomerInfo אחיד עם סטטוס המנוי בפועל עבור כל הפלטפורמות. ה-SDK עוטף את StoreKit המקורי (iOS) ואת Google Play Billing (אנדרואיד). בעת רכישה, הקבלה או purchaseToken נשלחים לשרתי RevenueCat, אשר מאמתים אותם מול Apple ו-Google ומחזירים סטטוס מנורמל. כל היסטוריית העסקאות נשמרת בצד של RevenueCat — דבר המאפשר שחזור גישה במכשירים חדשים ללא קריאה לשחזור מקורי. לפי התיעוד הרשמי של RevenueCat, ה-SDK מטפל ביותר מ-10,000 אירועים בשנייה עבור לקוחות גדולים.
כיצד RevenueCat פותרת את בעיית הסנכרון
אם המשתמש מאומת באפליקציה, אנו מעבירים את אותו appUserID בעת הגדרת ה-SDK ב-iOS ובאנדרואיד. RevenueCat מחזירה CustomerInfo עם ההרשאה הפעילה ללא קשר לפלטפורמת הרכישה. עבור משתמשים אנונימיים, נוצר $RCAnonymousID, שאינו מועבר בין מכשירים — זו מגבלה, אך ניתן לעקוף אותה על ידי בקשת התחברות מהמשתמש לאחר ההתקנה.
// iOS — AppDelegate или @main
Purchases.configure(
with: Configuration.Builder(withAPIKey: "appl_xxxxx")
.with(appUserID: currentUser.id) // nil = анонимный
.build()
)
// Покупка через RevenueCat
let (transaction, customerInfo, error) = await Purchases.shared
.purchase(package: package)
if customerInfo?.entitlements["premium"]?.isActive == true {
unlockPremium()
}המושג המרכזי הוא הרשאות (entitlements). בלוח הבקרה של RevenueCat, אנו יוצרים הרשאת premium ומקשרים אליה את כל המוצרים (מנוי חודשי, שנתי, לכל החיים). בקוד, אנו בודקים רק את ההרשאה, לא מזהה מוצר ספציפי. בעת הוספת תוכנית חדשה, פשוט מוסיפים את המוצר להרשאה בלוח הבקרה — ללא שינויי קוד.
מהן הרשאות ולמה הן נחוצות?
הרשאה היא קבוצה לוגית של מוצרים המעניקים את אותן זכויות גישה. לדוגמה, כל המנויים הפרימיום (חודשי, שנתי, לכל החיים) מקובצים להרשאת premium. המפתח צריך רק לבדוק isActive עבור הרשאה זו, מבלי לדאוג למזהי מוצר ספציפיים. זה מאפשר שינויי תמחור גמישים ללא שינוי קוד האפליקציה.
למה RevenueCat עדיפה על פני יישום מותאם אישית
| היבט | יישום מותאם אישית | RevenueCat |
|---|---|---|
| זמן פיתוח בצד השרת | 2–3 שבועות | 2–3 ימים |
| עומס על הצוות | דורש שרת, תמיכה בשתי מערכות התראות | SDK אחד, Webhook אחד |
| שגיאות סנכרון | סביר, במיוחד במקרי קצה (ביטול, בעיית חיוב) | נבדק על ידי אלפי אפליקציות, הפחתת באגים ב-90% |
| מדרגיות | נדרש רפקטורינג ככל שההכנסות גדלות | עמלה של 1% אחרי $2500 לחודש, כל השאר מוכן מחוץ לקופסה |
באילו אירועים מטפל ה-Webhook של RevenueCat?
| אירוע | תיאור |
|---|---|
| INITIAL_PURCHASE | רכישת מנוי ראשונה |
| RENEWAL | חידוש אוטומטי |
| CANCELLATION | המשתמש מבטל את המנוי |
| EXPIRATION | המנוי פג ללא חידוש |
| BILLING_ISSUE | בעיית תשלום (כרטיס נדחה וכו') |
כל האירועים מגיעים בפורמט JSON אחיד, מה שמפשט את אינטגרציית השרת: נקודת קצה אחת במקום שתיים עבור Apple ו-Google. RevenueCat מנסה שוב לשלוח אוטומטית במקרה של שגיאות (עד 3 פעמים), מה שמפחית את הסיכון לאובדן נתונים.
כדי להגדיר הרשאה בלוח הבקרה, צרו הרשאת premium וקשרו מוצרים עם ה-productId המתאים מ-App Store Connect ו-Google Play Console. בדיקת קוד: // iOS — AppDelegate или @main Purchases.configure( with: Configuration.Builder(withAPIKey: "appl_xxxxx") .with(appUserID: currentUser.id) // nil = анонимный .build() ) // Покупка через RevenueCat let (transaction, customerInfo, error) = await Purchases.shared .purchase(package: package) if customerInfo?.entitlements["premium"]?.isActive == true { unlockPremium() } . בעת הוספת תוכנית חדשה, אין צורך בשינויי קוד — פשוט הוסיפו את המוצר להרשאה.
מה כלול בעבודה
- התקנת SDK עבור iOS (Swift) ואנדרואיד (Kotlin/Java) — עם wrapper עבור Flutter או React Native אם נדרש.
- הגדרת מוצרים והרשאות בלוח הבקרה של RevenueCat, קישור ל-Google Play ול-App Store Connect.
- אינטגרציה של זרימת האימות הקיימת — העברת appUserID.
- יישום Paywall באמצעות RevenueCat Offerings — בדיקות A/B למחירים.
- Webhook לשליחת אירועים לשרת שלכם — פורמט אחיד.
- בדיקות בסביבת Sandbox (iOS) ובסביבת Test (אנדרואיד) — כיסוי כל התרחישים: רכישה חדשה, חידוש, ביטול, שחזור.
- העברת גישה ללוח הבקרה ותיעוד מלא.
- תמיכה לאחר ההשקה עם הגדרת אנליטיקה ודוחות.
- הדרכה לצוות שלכם לניהול מנויים עצמאי.
תהליך העבודה: מניתוח ועד פריסה
- ניתוח: קביעת מודל המנויים הנוכחי, היקף המשתמשים ודרישות האימות.
- עיצוב: סכמת הרשאות, מיפוי מוצרים, אינטגרציית Webhook עם ה-API שלכם.
- יישום: התקנת SDK, אינטגרציה לאפליקציה, הגדרת לוח בקרה.
- בדיקות: בדיקות יחידה לנקודת הקצה של השרת, רכישות בדיקה בשתי הפלטפורמות.
- פריסה: פרסום ל-App Store ול-Google Play, ניטור העסקאות הראשונות.
לוח זמנים ואחריות
אינטגרציית RevenueCat אורכת בין 2 ל-5 ימים, תלוי במורכבות האימות ובמספר המוצרים. אנו מבטיחים סנכרון יציב של סטטוס המנוי בין הפלטפורמות. יש לנו ניסיון של למעלה מ-8 שנים בפיתוח מובייל ו-30+ מודלי מנויים מיושמים. עלות האינטגרציה הסטנדרטית שלנו היא $1,500, מה שחוסך לכם עד $2,000 בהשוואה לפיתוח מותאם אישית. צרו קשר לייעוץ וקבלו הערכה ראשונית.







