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

במאמר הזה מפורטים שלבי ההגדרה שצריך לבצע לפני שמתחילים למכור מוצרים באפליקציה. באופן כללי, ההגדרה כוללת יצירת חשבון מפתח, יצירה והגדרה של המוצרים שרוצים למכור והפעלה והגדרה של ממשקי ה-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 באפליקציה. הספרייה הזו מספקת גישה לממשקי API של Android שמקשרים אתכם ל-Google Play. משם אפשר לגשת לפרטי הרכישה, לשאול שאלות לגבי עדכונים על רכישות, להציע למשתמש לבצע רכישות חדשות ועוד.

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

Groovy

dependencies {
    def billing_version = "8.3.0"

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

Kotlin

dependencies {
    val billing_version = "8.3.0"

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

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

Groovy

dependencies {
    def billing_version = "8.3.0"

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

Kotlin

dependencies {
    val billing_version = "8.3.0"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

כדי לקבל התראות, צריך ליצור שרת backend כדי לצרוך את ההודעות שנשלחות לנושא. השרת יכול לצרוך את ההודעות האלה על ידי מענה לבקשות 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.
    • מינוי מסוג pull מחייב את השרת העורפי המאובטח שלכם ליזום בקשות לשרת 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 כבעל הרשאת פרסום ב-Pub/Sub
    איור 2. מוסיפים את חשבון השירות של Google Play בתור מוציא לאור של 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. לוחצים על שליחת הודעת בדיקה כדי לשלוח הודעת בדיקה. ביצוע פרסום לבדיקה עוזר לוודא שהכול מוגדר בצורה נכונה. אם הפרסום לבדיקה מצליח, מוצגת הודעה שהפרסום לבדיקה הצליח. אם צירפת מינוי לנושא הזה, אמורה להתקבל הודעת הבדיקה.

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

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

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

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

אימות ההגדרה

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

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

השלבים הבאים