מיגרציה לגרסה 8 של ספריית החיובים ב-Google Play מגרסה 6 או 7

במאמר הזה מוסבר איך לעבור מספריית החיובים ב-Google Play‏ (PBL) בגרסה 6 או 7 לגרסה 8, ואיך לשלב את יכולות המינויים האופציונליות החדשות.

רשימת השינויים המלאה בגרסה 8.0.0 מפורטת בנתוני הגרסה.

סקירה כללית

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

תאימות לדורות קודמים לשדרוג של PBL

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

שדרוג מ-PBL 6 או 7 ל-PBL 8

כדי לשדרג מ-PBL 6 או 7 ל-PBL 8, מבצעים את השלבים הבאים:

  1. מעדכנים את גרסת התלות של ספריית החיובים ב-Play בקובץ build.gradle של האפליקציה.

    dependencies {
       def billingVersion = 8.0.0
       implementation "com.android.billingclient:billing:$billingVersion"
    }
    
  2. (רלוונטי רק לשדרוג מ-PBL 6 ל-PBL 8). מטפלים בשינויים ב-API שקשורים למינויים באפליקציה.

    בטבלה הבאה מפורטים ממשקי ה-API שקשורים למינויים שהוסרו מ-PBL 8, וממשקי ה-API החלופיים שצריך להשתמש בהם באפליקציה.

    ‫API שהוצא משימוש בעבר הוסר ב-PBL 8 ‫API חלופי לשימוש
    setOldSkuPurchaseToken setOldPurchaseToken
    setReplaceProrationMode setSubscriptionReplacementMode
    setReplaceSkusProrationMode setSubscriptionReplacementMode
  3. מעדכנים את ההטמעה של השיטה queryProductDetailsAsync.

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

  4. מטפלים בממשקי ה-API שהוסרו.

    שדרוג מ-

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

    ‫API שהוצא משימוש בעבר הוסר ב-PBL 8 ‫API חלופי לשימוש
    ממשקי API של queryPurchaseHistoryAsync לשאילתה על היסטוריית הרכישות
    querySkuDetailsAsync queryProductDetailsAsync
    ‫enablePendingPurchases()‎ (API ללא פרמטרים) enablePendingPurchases(PendingPurchaseParams params)
    שימו לב שהפונקציה enablePendingPurchases()‎ שהוצאה משימוש שוות ערך מבחינה פונקציונלית ל-enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).
    ‫queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync
    BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling
    AlternativeBillingListener UserChoiceBillingListener
    AlternativeChoiceDetails UserChoiceDetails

    שדרוג מ-

    בטבלה הבאה מפורטים ממשקי ה-API שהוסרו ב-PBL 8, וממשקי ה-API החלופיים שצריך להשתמש בהם באפליקציה.

    ‫API שהוצא משימוש בעבר הוסר ב-PBL 8 ‫API חלופי לשימוש
    ממשקי API של queryPurchaseHistoryAsync לשאילתה על היסטוריית הרכישות
    querySkuDetailsAsync queryProductDetailsAsync
    ‫enablePendingPurchases()‎ (API ללא פרמטרים) enablePendingPurchases(PendingPurchaseParams params)
    שימו לב שהפונקציה enablePendingPurchases()‎ שהוצאה משימוש שוות ערך מבחינה פונקציונלית ל-enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).
    ‫queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync

  5. (מומלץ) להפעיל חיבור מחדש אוטומטי לשירות.

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

  6. שינויים אופציונליים.