מתכוננים להעברה

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

הגדרת חשבון פיתוח ב-Google Play

כדי לפרסם את האפליקציות והמשחקים שלכם ב-Google Play, אתם צריכים להשתמש ב-Google Play Console. ב-Google Play Console אפשר גם לנהל את המוצרים וההגדרות שקשורים לחיוב.

כדי לגשת ל-Google Play Console, צריך להגדיר חשבון פיתוח ב-Google Play.

כדי למכור אפליקציות בתשלום ורכישות מתוך אפליקציות ב-Google Play, צריך גם להגדיר פרופיל במרכז התשלומים של Google ולאחר מכן לקשר את הפרופיל הזה לחשבון הפיתוח שלכם ב-Google Play. במאמר קישור חשבון פיתוח ב-Google Play לפרופיל התשלומים מוסבר איך לקשר את הפרופיל לחשבון, ואיך לבדוק אם כבר יש לכם חשבון ופרופיל מקושרים.

הפעלת תכונות שקשורות לחיוב ב-Google Play Console

אחרי שמגדירים חשבון פיתוח, צריך לפרסם גרסה של האפליקציה שכוללת את ספריית החיובים ב-Google Play. השלב הזה נדרש כדי להפעיל תכונות שקשורות לחיוב ב-Google Play Console, כמו הגדרת המוצרים שאתם רוצים למכור.

הוספת תלות בספרייה

כדי לשלב את מערכת החיוב של Google Play, קודם צריך להוסיף לאפליקציה תלות בספריית החיוב ב-Google Play. הספרייה הזו מספקת גישה לממשקי Android API שמקשרים אתכם ל-Google Play. משם תוכלו לגשת למידע על רכישות, להריץ שאילתות לקבלת עדכונים על רכישות, לבקש ממשתמשים לבצע רכישות חדשות ועוד.

ספריית החיוב ב-Google Play זמינה במאגר Maven של Google. מוסיפים את התלות לקובץ build.gradle של האפליקציה, כפי שמוצג:

מגניב

dependencies {
    def billing_version = "7.0.0"

    implementation "com.android.billingclient:billing:$billing_version"
}

Kotlin

dependencies {
    val billing_version = "7.0.0"

    implementation("com.android.billingclient:billing:$billing_version")
}

אם אתם משתמשים ב-Kotlin, מודול KTX של ספריית החיוב ב-Play מכיל תוספים ל-Kotlin ותמיכה ב-coroutines, שמאפשרים לכם לכתוב ב-Kotlin באופן שתואם לשפה כשאתם משתמשים במערכת החיוב של Google Play. כדי לכלול את התוספים האלה בפרויקט, מוסיפים את התלות הבאה לקובץ build.gradle של האפליקציה, כפי שמוצג:

מגניב

dependencies {
    def billing_version = "7.0.0"

    implementation "com.android.billingclient:billing-ktx:$billing_version"
}

Kotlin

dependencies {
    val billing_version = "7.0.0"

    implementation("com.android.billingclient:billing-ktx:$billing_version")
}

דוגמאות הקוד ב-Kotlin שבדף הזה משתמשות ב-KTX כשהדבר אפשרי.

העלאת האפליקציה

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

יצירה והגדרה של מוצרים

אחרי שמפעילים את התכונות של החיוב ב-Google Play באפליקציה, צריך להגדיר את המוצרים למכירה.

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

ב-Google Play Console יש ממשק אינטרנט שבו אפשר לנהל את המוצרים.

  • במאמר יצירת מוצר מנוהל מוסבר איך יוצרים ומגדירים מוצרים חד-פעמיים. חשוב לדעת שב-Google Play Console מוצרים חד-פעמיים נקראים מוצרים מנוהלים.

  • במאמר יצירת מינוי מוסבר איך יוצרים ומגדירים מינויים.

לחלופין לממשק האינטרנט, אפשר לנהל את המוצרים גם באמצעות משאב ה-REST‏ inappproducts למוצרים בתוך האפליקציה, ומשאבי ה-REST‏ monetization.subscriptions למוצרים שמוגדרים למינוי ב-Google Play Developer API.

הגדרת ממשק API של Google Play למפתחים

Google Play Developer API הוא ממשק API לשרת-לשרת שמתלווה לספריית החיוב של Google Play ב-Android. ה-API הזה מספק פונקציונליות שלא זמינה בספריית החיובים ב-Google Play, כמו אימות מאובטח של רכישות והנפקת החזרים כספיים למשתמשים.

כחלק משילוב מערכת החיוב של Google Play באפליקציה, צריך להגדיר גישה ל-Google Play Developer API דרך מסוף Google Play. להוראות, אפשר לעיין במאמר תחילת השימוש בממשק API של Google Play למפתחים.

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

הגדרת התראות בזמן אמת למפתחים

התראות למפתחים בזמן אמת (RTDN) הן מנגנון לקבלת התראות מ-Google בכל פעם שיש שינוי בהרשאות של משתמש באפליקציה. התראות RTDN מתבססות על השימוש ב-Google Cloud Pub/Sub, שמאפשר לקבל נתונים שנשלחים לכתובת URL שהגדרתם או שנאספים באמצעות ספריית לקוח. ההתראות האלה מאפשרות לכם להגיב באופן מיידי לשינויים במצב המינוי, וכך למנוע את הצורך לבצע סקרים ב-Google Play Developer API. חשוב לזכור ששימוש לא יעיל ב-Google Play Developer API עלול להוביל להגבלות על מכסות API.

Cloud Pub/Sub הוא שירות מנוהל להעברת הודעות בזמן אמת, שבעזרתו אפשר לשלוח ולקבל הודעות בין אפליקציות עצמאיות. Google Play משתמש ב-Cloud Pub/Sub כדי לפרסם התראות בנושאים שאליהם נרשמת.

כדי לקבל התראות, צריך ליצור שרת לקצה העורפי שיצרוך את ההודעות שנשלחות לנושא. לאחר מכן, השרת יכול לצרוך את ההודעות האלה על ידי מענה לבקשות HTTPS לנקודת קצה רשומה, או באמצעות ספריות הלקוח של Cloud Pub/Sub. הספריות האלה זמינות במגוון שפות. מידע נוסף זמין גם בקטע יצירת מינוי ל-Pub/Sub בנושא הזה.

קביעת התמחור והמכסות

למידע נוסף על תמחור ומכסות, ראו תמחור ומכסות.

הערכת השימוש בחבילת הגלישה

חלק הנתונים של הודעת ההרשמה הוא כ-1KB נתונים לכל בקשה. כל פרסום ושליפה דורשים בקשה נפרדת, או כ-2KB של נתונים לכל התראה. מספר ההתראות בחודש תלוי במחזור החיובים ובהתנהגות המשתמשים. צפויה להגיע לפחות התראה אחת לכל משתמש במהלך מחזור חיוב.

הגדרת Cloud Pub/Sub

כדי להפעיל התראות בזמן אמת למפתחים, תחילה צריך להגדיר את Cloud Pub/Sub באמצעות פרויקט Google Cloud Platform ‏ (GCP) משלכם, ואז להפעיל את ההתראות באפליקציה.

כדי להשתמש ב-Cloud Pub/Sub, צריך שיהיה לכם פרויקט ב-GCP שבו מופעל Cloud Pub/Sub API. אם אתם לא מכירים את GCP ו-Cloud Pub/Sub, כדאי לעיין במדריך למתחילים.

יצירת נושא

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

יצירת מינוי ל-Pub/Sub

כדי לקבל הודעות שפורסמו בנושא מסוים, צריך ליצור למינוי לנושא הזה ב-Pub/Sub. כדי ליצור מינוי ל-Pub/Sub:

  1. קראו את המדריך למנויים ב-Cloud Pub/Sub כדי לקבוע אם להגדיר את המינוי כמינוי לדחיפה או כמינוי למשיכה.
    • מינוי לדחיפה מאפשר ל-Cloud Pub/Sub לשלוח התראות לקצה העורפי המאובטח באמצעות שליחת בקשות HTTPS.
    • כדי להשתמש במינוי משיכה, השרת העורפי המאובטח צריך להתחיל בקשות לשרת Cloud Pub/Sub כדי לאחזר הודעות.
  2. פועלים לפי ההוראות במאמר הוספת מינוי כדי ליצור מינוי.

הענקת זכויות פרסום בנושא

ב-Cloud Pub/Sub צריך להקצות ל-Google Play הרשאות לפרסם התראות בנושא.

  1. פותחים את מסוף Google Cloud.
  2. בוחרים את הפרויקט ולוחצים על Pub/Sub בתפריט הניווט הימני.
  3. מחפשים את הנושא ופותחים את פרטי ההרשאות.

    גישה להגדרות של נושא ההרשאות
    איור 1. גישה להגדרות של הנושא הרשאות.
  4. מוסיפים את חשבון השירות google-play-developer-notifications@system.gserviceaccount.com ומקצים לו את התפקיד פרסום הודעות ב-Pub/Sub.

    הוספת חשבון Google Play Services כבעלים של Pub/Sub
    איור 2. הוספת חשבון Google Play Services בתור בעל תוכן דיגיטלי ב-Pub/Sub.
  5. לוחצים על שמירה כדי להשלים את הגדרת הנושא.

    נושא שהוגדר
    איור 3. נושא שהוגדר.

הפעלת התראות בזמן אמת למפתחים באפליקציה

כדי להפעיל התראות בזמן אמת למפתחים באפליקציה:

  1. פותחים את Google Play Console.
  2. בוחרים את האפליקציה הרצויה.
  3. עוברים אל מונטיזציה > הגדרת מונטיזציה.
  4. גוללים לקטע התראות בזמן אמת למפתחים בחלק העליון של הדף.

    הקטע 'התראות בזמן אמת למפתחים'
    איור 4. בקטע 'התראות בזמן אמת למפתחים'.
  5. מסמנים את התיבה הפעלת התראות בזמן אמת.

  6. בשדה Topic name, מזינים את שם הנושא המלא ב-Cloud Pub/Sub שהגדרתם קודם. שם הנושא צריך להיות בפורמט projects/{project_id}/topics/{topic_name}, כאשר project_id הוא המזהה הייחודי של הפרויקט ו-topic_name הוא שם הנושא שנוצר קודם.

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

    עבור מינוי משיכה, עוברים למינוי במסוף Cloud, לוחצים על View Messages וממשיכים למשוך הודעות. כדי למנוע שליחה חוזרת של הודעות על ידי Cloud Pub/Sub, צריך לאשר כל הודעה שאתם מחלצים. במינוי ל-Push, בודקים אם הודעת הבדיקה נשלחת לנקודת הקצה ל-Push. קוד תגובה מוצלח ישמש כהודעת אישור על ההודעה.

    אם הפרסום נכשל, תוצג שגיאה. מוודאים ששם הנושא נכון ושחשבון השירות google-play-developer-notifications@system.gserviceaccount.com מוגדר עם הרשאת פרסום ב-Pub/Sub לנושא.

  8. בוחרים את סוגי ההתראות שרוצים לקבל.

    • קבלת התראות לגבי מינויים ולגבי כל הרכישות שבוטלו – קבלת התראות בזמן אמת למפתחים לגבי מינויים ורכישות שבוטלו. לא יתקבלו התראות על רכישות של מוצרים בחיוב חד-פעמי.
    • קבלת כל ההתראות לגבי מינויים ומוצרים בחיוב חד-פעמי – קבלת התראות על כל האירועים הקשורים למינויים ולרכישות שבוטלו. בנוסף, תקבלו אירועים של רכישות חד-פעמיות של מוצרים, כמו ONE_TIME_PRODUCT_PURCHASED ו-ONE_TIME_PRODUCT_CANCELED. מידע נוסף על אירועי הרכישה האלה זמין במאמר מחזור החיים של רכישה חד-פעמית.
  9. לוחצים על שמירת השינויים.

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

כדי לקבל התראות בזמן אמת למפתחים, צריך ליצור שרת אחורי מאובטח לצריכת ההודעות שנשלחות לנושא Cloud Pub/Sub.

כדי לבדוק את ההגדרה, לוחצים על הלחצן Send Test Message ב-Google Play Console, כפי שמתואר בקטע הקודם. אם לא הגדרתם שרת לקצה העורפי לצריכת התראות, תוכלו להשתמש בכלי שורת הפקודה gcloud כדי לאמת את ההגדרה. להוראות לעיבוד הודעות באמצעות gcloud, ראו אחזור ההודעה מהמינויים.

השלבים הבאים