מעבר לספריית החיובים של Google Play מגרסה 7 מגרסאות 5 או 6

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

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

סקירה כללית

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

שדרוג של ספריית החיובים ב-Play עם תאימות לאחור

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

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

שדרוג מ-PBL 5 ל-PBL 7

בקטעים הבאים מוסבר איך לשדרג מ-PBL 5 ל-PBL 7.

עדכון ספריית החיובים ב-Google Play

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

dependencies {
    def billingVersion = 7.0.0

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

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

שינוי הרכישות של מינוי משתמש

בגרסה 5 של ספריית החיובים ב-Play ובגרסאות קודמות נעשה שימוש ב-ProrationMode כדי להחיל שינויים על רכישות של מינויים של משתמשים, כמו שדרוגים או הורדות של גרסאות. ממשק ה-API הזה הוסר והוחלף ב-ReplacementMode.

איך מטפלים בשינויים במחיר המינוי

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

טיפול בשינויים ב-API שקשורים למינויים

ממשקי ה-API שהוצאו משימוש בעבר, setOldSkuPurchaseToken, setReplaceProrationMode, setReplaceSkusProrationMode, הוסרו.

טיפול בשגיאות בספריית החיובים ב-Play

קוד NETWORK_ERROR חדש מציין בעיות בחיבור לרשת בין המכשיר של המשתמש לבין מערכת Google Play.

גם הקודים SERVICE_TIMEOUT ו-SERVICE_UNAVAILABLE עודכנו.

מידע נוסף זמין במאמר בנושא טיפול בקודי תגובה של BillingResult.

טיפול בעסקאות בהמתנה

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

מידע נוסף על טיפול ברכישות בהמתנה זמין במדריך לשילוב של ספריית החיובים ב-Play ובמדריך לניהול מחזור החיים של רכישות.

טיפול בהסרה של ממשקי ה-API של מערכת החיוב החלופית

הוסרו BillingClient.Builder.enableAlternativeBilling, AlternativeBillingListener, ו-AlternativeChoiceDetails. המפתחים צריכים להשתמש ב-BillingClient.Builder.enableUserChoiceBilling() עם UserChoiceBillingListener ו-UserChoiceDetails בפונקציית הקריאה החוזרת של ה-listener.

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

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

‫PBL 7 כולל שני ממשקי API אופציונליים חדשים.

תמיכה ברכישות בהמתנה למינויים בתשלום מראש

אפשר לעיין במדריך בנושא טיפול במינויים ובעסקאות בהמתנה.

מינויים לתשלומים וירטואליים

מדריך לשילוב מינויים בתשלומים

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

בקטעים הבאים מוסבר איך לשדרג מ-PBL 6 ל-PBL 7.

עדכון ספריית החיובים ב-Google Play

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

dependencies {
    def billingVersion = 7.0.0

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

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

טיפול בשינויים ב-API שקשורים למינויים

ממשקי ה-API שהוצאו משימוש בעבר, setOldSkuPurchaseToken, setReplaceProrationMode, setReplaceSkusProrationMode, הוסרו.

טיפול בהסרה של ממשקי ה-API של מערכת החיוב החלופית

הוסרו BillingClient.Builder.enableAlternativeBilling,‏ AlternativeBillingListener וAlternativeChoiceDetails. המפתחים צריכים להשתמש ב-BillingClient.Builder.enableUserChoiceBilling() עם UserChoiceBillingListener ו-UserChoiceDetails בפונקציית הקריאה החוזרת של ה-listener.

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

‫PBL 7 כולל שני ממשקי API אופציונליים חדשים.

תמיכה ברכישות בהמתנה למינויים בתשלום מראש

אפשר לעיין במדריך בנושא טיפול במינויים ובעסקאות בהמתנה.

מינויים לתשלומים וירטואליים

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