RevenueCat: הגדרת מנוי in-app באפליקציית iOS
מאת Mehdi Azizi
עודכן ב-, 7 דק׳
RevenueCat מחבר את המוצרים שלך ב-App Store Connect לאפליקציה ומנהל את הרשאות הגישה. הנה השלבים לחיבור מנוי in-app ראשון ב-iOS.
למה לעבור דרך RevenueCat ולא רק דרך StoreKit
StoreKit, ה-framework של Apple, מאפשר למכור מנוי בלי שום שירות צד שלישי. אבל למתחילים, לכתוב לבד את כל הלוגיקה של רכישה, שחזור ובדיקת הרשאות גישה זה המון קוד לתחזק, עם מקרי קצה שקל לשכוח: החלפת מכשיר, פקיעת מנוי, החזר כספי.
RevenueCat יושב בין App Store Connect לאפליקציה שלך: הוא קורא את המוצרים שלך, מנהל את המנויים הפעילים וחוסך לך לכתוב את השכבה הזאת בעצמך. השליטה על המחיר ועל ההצעות נשארת אצלך, דרך לוח בקרה, בלי לפרסם מחדש את האפליקציה בכל שינוי.
שלב 1: ליצור את המוצרים שלך ב-App Store Connect
לפני RevenueCat, המוצרים צריכים להתקיים בצד של Apple. ב-App Store Connect, צור קבוצת מנויים, ואז רמה אחת או יותר עם משך, למשל חודשי או שנתי, והמחיר שלהן לפי טריטוריה. מלא גם את הטקסטים שמוצגים למשתמש לכל רמה: Apple דורשת אותם לפני שהיא מאשרת את המוצר בבדיקה.
שכחה נפוצה בשלב הזה: מוצר שנוצר אבל אף פעם לא הוגש לבדיקה הראשונה של האפליקציה יחד עם הגרסה שלו. מוצר ממתין שאף פעם לא נכלל בהגשה של אפליקציה נשאר בלתי נראה למשתמשים שלך, גם אם RevenueCat כבר רואה אותו.
שלב 2: לחבר את RevenueCat לאפליקציה שלך
ב-RevenueCat אתה יוצר פרויקט, מחבר את מפתח ה-API של App Store Connect כדי ש-RevenueCat יסנכרן את המוצרים שלך אוטומטית, ואז מגדיר "entitlements", כלומר הרשאות גישה. entitlement מייצג את מה שהמנוי פותח, למשל גישה מלאה לאפליקציה, בלי קשר למוצר המדויק שהפעיל אותו.
השכבה הזאת שימושית: אם תשנה בהמשך את מבנה ההצעות שלך, למשל תוסיף רמה שנתית, פשוט תחבר את המוצר החדש לאותו entitlement, בלי לגעת בקוד שבודק את הגישה באפליקציה.
בצד האפליקציה, ה-SDK של RevenueCat ל-React Native מותקן בפרויקט Expo עם plugin ייעודי, וחושף פונקציה פשוטה שבודקת אם למשתמש הנוכחי יש entitlement פעיל.
שלב 3: לבנות את ה-paywall שלך
ה-paywall הוא המסך שמציג את ההצעה ומפעיל את הרכישה. RevenueCat מציע paywalls שאפשר להגדיר מלוח הבקרה ולשנות בלי לפרסם מחדש את האפליקציה, או שאתה יכול לבנות משלך עם ה-SDK אם אתה רוצה שליטה מלאה על העיצוב.
המיקום חשוב בדיוק כמו העיצוב. paywall שמוצג לפני שהמשתמש ראה את הערך של האפליקציה ממיר בדרך כלל פחות טוב מ-paywall שמופיע מיד אחרי פעולה ראשונה מוצלחת. המדריך על טעויות paywall ב-iOS למתחילים מפרט את המלכודות הנפוצות בשלב הזה, מעבר לחיבור הטכני עצמו.
שלב 4: לבדוק רכישה, שחזור ופקיעה
זה השלב שהכי הרבה עושים בחופזה, ודווקא הוא זה ש-Apple בודקת הכי הרבה. שלושה תרחישים חייבים לעבוד לפני ההגשה:
הרכישה. עם חשבון בודק sandbox, הרכישה צריכה לפתוח את ה-entitlement מיד, והאפליקציה צריכה להגיב לשינוי בלי צורך להפעיל אותה מחדש.
השחזור. במכשיר חדש או אחרי התקנה מחדש, עם אותו חשבון Apple, כפתור "Restore Purchases" צריך למצוא את המנוי הפעיל. Apple בודקת את המסלול הזה בכל בדיקה, והיעדר שלו או תקלה בו הם סיבת דחייה נפוצה לפי guideline 3.1.1.
הפקיעה. בסביבת sandbox, מנויים פוקעים תוך כמה דקות במקום כמה חודשים, וככה אתה יכול לוודא שהגישה נסגרת כמו שצריך בסוף התקופה, בלי לחכות למחזור חיוב אמיתי.
מה RevenueCat לא מחליף
RevenueCat מטפל במכניקת הרכישה, לא בעמידה של דף האפליקציה או של ה-paywall שלך בדרישות של guideline 3.1.2. זה עדיין עליך לתאר נכון את המנוי בתיאור ב-App Store, לציין את המחיר המדויק ואת המשך, ולמלא את תנאי השימוש שלך. הדף מנוי או רכישה חד-פעמית ב-iOS יעזור לך לבחור את המודל הנכון עוד לפני שתגיע לשלב הטכני הזה.
בנוסף, RevenueCat לוקח עמלה על ההכנסות מעל סף חודשי מסוים, נוסף לעמלה של Apple על מנויים שנמכרים באפליקציה. תבדוק את הרמות העדכניות באתר שלהם לפני שאתה בונה את המודל העסקי שלך סביב שתי העמלות האלה.
הטעויות הנפוצות ביותר אצל מתחילים
לשכוח את מצב הטעינה. בהפעלה, RevenueCat צריך רגע קצר כדי לשלוף את הרשאות הגישה של המשתמש. אם האפליקציה מציגה כברירת מחדל את התוכן בתשלום לפני התשובה הזאת, משתמש בלי מנוי עלול לראות לרגע תוכן שהוא לא שילם עליו. תכנן מצב טעינה מפורש במקום תצוגת ברירת מחדל אופטימית.
לבדוק הרשאות במקום הלא נכון. צריך לבדוק מחדש entitlement פעיל בכל פתיחה של מסך בתשלום, לא רק פעם אחת בהפעלה. אם המשתמש מבטל או שהמנוי שלו פוקע בזמן שהוא משתמש באפליקציה, המסך הבא צריך לשקף את השינוי.
לבלבל בין sandbox לפרודקשן. מזהי מוצרים וחשבונות בודקי sandbox נפרדים מהפרודקשן. בדיקה שעובדת ב-sandbox עם חשבון Apple הלא נכון, או מוצר שנוצר רק בפרודקשן, יכולים לתת רושם מטעה שהכול מוכן.
אפליקציה שנבדקה, לא רק אפליקציה שמתקמפלת
מנוי ש"עובד" בבדיקה מהירה על החשבון שלך לא מבטיח שהוא ישרוד שחזור במכשיר אחר או פקיעה אמיתית. זה בדיוק מה ש-reviewer של Apple בודק. הדף מנוי in-app ב-iOS מפרט את כל השרשרת הזאת, מיצירת המוצרים ועד הבדיקה הסופית.
אם אתה רוצה להתחיל מבסיס שבו ה-paywall והמנויים כבר בקוד, זה מה שיש בקוד ההתחלתי של iOS Kit. כדי לבדוק את המנוי שלך כמו שה-reviewer יעשה, Apple Review Kit מרכז את הצ'קליסט שלי לפני ההגשה ואת ההערות שכדאי להשאיר לבודק לגבי הרכישה באפליקציה.
שאלות נפוצות
איך מגדירים מנוי RevenueCat ב-iOS?
בארבעה שלבים. קודם צור את המוצרים שלך ב-App Store Connect. אחר כך חבר את RevenueCat עם מפתח ה-API של App Store Connect והגדר את ה-entitlements (הרשאות הגישה), ואז בנה את ה-paywall. בסוף, בדוק רכישה, שחזור ופקיעה: זה השלב שעושים בחופזה, ודווקא אותו Apple בודקת.
האם RevenueCat חובה כדי למכור מנוי ב-iOS?
לא. StoreKit, ה-framework של Apple, מאפשר למכור מנוי בלי שירות צד שלישי. אבל אז אתה כותב את כל הלוגיקה של רכישה, שחזור ובדיקת הרשאות גישה, עם מקרי קצה שקל לשכוח: החלפת מכשיר, פקיעה, החזר כספי. RevenueCat יושב בין App Store Connect לאפליקציה שלך וחוסך לך את השכבה הזאת.
מה זה entitlement ב-RevenueCat?
entitlement הוא הרשאת גישה: הוא מייצג את מה שהמנוי פותח, למשל גישה מלאה לאפליקציה, לא משנה איזה מוצר בדיוק הפעיל אותו. אם תוסיף בהמשך רמה שנתית, פשוט תחבר את המוצר החדש לאותו entitlement. הקוד שבודק את הגישה באפליקציה לא צריך להשתנות.
איך בודקים מנוי RevenueCat לפני ההגשה ל-Apple?
שלושה תרחישים חייבים לעבוד לפני ההגשה. רכישה: עם חשבון בודק sandbox, הגישה נפתחת מיד, בלי להפעיל מחדש את האפליקציה. שחזור: במכשיר חדש או אחרי התקנה מחדש, עם אותו חשבון Apple, כפתור השחזור מוצא את המנוי הפעיל. פקיעה: ב-sandbox מנויים פוקעים תוך כמה דקות, וככה אתה יכול לוודא שהגישה נסגרת.
למה מוצר שמופיע ב-RevenueCat נשאר בלתי נראה למשתמשים?
בדרך כלל כי המוצר אף פעם לא נכלל בהגשה של אפליקציה. מוצר שנוצר ב-App Store Connect אבל אף פעם לא הוגש לבדיקה הראשונה יחד עם הגרסה שלו נשאר בלתי נראה למשתמשים שלך, גם אם RevenueCat כבר רואה אותו. זו שכחה נפוצה בשלב יצירת המוצרים.
האם RevenueCat לוקח עמלה על מנויים?
RevenueCat לוקח עמלה על ההכנסות מעל סף חודשי מסוים. היא באה בנוסף לעמלה של Apple על מנויים שנמכרים באפליקציה. תבדוק את הרמות העדכניות באתר של RevenueCat לפני שאתה בונה את המודל העסקי שלך סביב שתי העמלות האלה.