iOS monatliche Verpflichtungs-Abrechnungspläne
Ein Setup-Vorschlag kopieren, der die Installationsanweisungen und die vollständige Markdown-Anleitung für diesen Plugin enthält.
Apple unterstützt Abonnements, die monatlich abgerechnet werden, während der Kunde sich für eine längere 12-monatige Laufzeit verpflichtet. @capgo/native-purchases Wenn StoreKit und das laufende Betriebssystem diese Abrechnungsplan unterstützen,
erläutert die Preisbedingungen, ermöglicht es Ihnen, während des Kaufs die monatliche Abrechnungsplan auszuwählen und liefert Informationen zu Transaktionen und Wiederholungsinformationen.
Verwenden Sie dies für jährliche Abonnementangebote, bei denen die Nutzer monatliche Zahlungen bevorzugen, aber Sie trotzdem die Bindung und Vorhersehbarkeit einer jährlichen Laufzeit wollen.
Anforderungen- Abschnitt mit dem Titel „Anforderungen“
- Build the iOS app with an Xcode SDK that contains StoreKit
pricingTermsBauen Sie die iOS-App mit einem Xcode __CAPGO_KEEP_0__ auf, der StoreKit enthältbillingPlanType. - und
- Laufen Sie auf einem iOS-Version, die StoreKit-Verpflichtungsabrechnungspläne unterstützt.
Preis- und Nutzungsbedingungen laden und anzeigen
Abschnitt mit dem Titel „Preis- und Nutzungsbedingungen laden und anzeigen“Aufrufen getProducts() wie gewohnt. Für unterstützte iOS-Abonnementprodukte kann jeder Produkt ein pricingTerms.
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { products } = await NativePurchases.getProducts({ productIdentifiers: ['com.example.app.premium.yearly'], productType: PURCHASE_TYPE.SUBS,});
const premiumYearly = products.find( (product) => product.identifier === 'com.example.app.premium.yearly',);const monthlyCommitment = premiumYearly?.pricingTerms?.find( (term) => term.billingPlanType === 'monthly',);Statt der festen Preise die vom Laden bereitgestellten Werte rendern:
| Feld | Verwenden Sie es für |
|---|---|
billingDisplayPrice | Der wiederkehrende Abrechnungsbetrag, der dem Benutzer angezeigt wird, z.B. der monatliche Betrag. |
billingPeriod | Die Abrechnungsperiode für den angezeigten Abrechnungspreis. |
commitmentInfo.priceString | Die Gesamtkommitmentpreis, formatiert für das Benutzer-Shopfenster. |
commitmentInfo.period | Die gesamte Kommitmentdauer. |
subscriptionOffers | Einführende oder werbliche Angebote, die der Preisbegriff beiliegen. |
Beispiel-Zutrittstext:
function commitmentLabel(term: NonNullable<typeof monthlyCommitment>) { const total = term.commitmentInfo?.priceString; return total ? `${term.billingDisplayPrice} billed monthly, ${total} total commitment` : term.billingDisplayPrice;}Monatliches Kommitment-Abonnement kaufen
Abschnitt mit dem Titel „Monatliches Kommitment-Abonnement kaufen“Wenn der Benutzer das monatliche Kommitment-Abonnement auswählt, übermitteln Sie billingPlanType: 'monthly'.
const transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'com.example.app.premium.yearly', productType: PURCHASE_TYPE.SUBS, billingPlanType: 'monthly', appAccountToken: userStoreUuid,});Verwenden Sie billingPlanType: 'upFront' Nur dann, wenn Sie explizit die Standard-Vorauszahlungsabrechnungsplan auswählen müssen. Wenn Sie dies billingPlanTypeStoreKit verwendet seine Standardkaufverhalten für das Produkt.
Lesen Sie die Verpflichtungs-Metadaten
Abschnitt mit dem Titel “Lesen Sie die Verpflichtungs-Metadaten”Die Transaktionen umfassen das Abrechnungsplan und den Fortschritt der Verpflichtung, wenn StoreKit es liefert:
if (transaction.billingPlanType === 'monthly') { console.log('Current billing period:', transaction.commitmentInfo?.billingPeriodNumber); console.log('Total billing periods:', transaction.commitmentInfo?.totalBillingPeriods); console.log('Commitment ends:', transaction.commitmentInfo?.expirationDate); console.log('Commitment total:', transaction.commitmentInfo?.price);}Die Erneuerungsinfo kann den nächsten Verpflichtungszustand umfassen:
const { purchases } = await NativePurchases.getPurchases({ productType: PURCHASE_TYPE.SUBS, onlyCurrentEntitlements: true,});
for (const purchase of purchases) { const commitment = purchase.renewalInfo?.commitmentInfo; if (!commitment) continue;
console.log('Renews into another commitment:', commitment.willAutoRenew); console.log('Next billing plan:', commitment.renewalBillingPlanType); console.log('Next renewal date:', commitment.renewalDate);}Verwenden Sie den Top-Level expirationDate und isActive Felder für Entscheidungen über die Berechtigung. commitmentInfo.expirationDate Verwenden Sie, um die vollständige Verpflichtungszeitraum zum Kunden zu erklären.
App Store Review Notes
Abschnitt mit dem Titel „App Store Review Notes“- Zeigen Sie sowohl den wiederkehrenden Abrechnungspreis als auch den Gesamtaufwandspreis vor dem Kauf an.
- Machen Sie die Verpflichtungszeit explizit nahe dem Kaufbutton.
- Verwenden Sie
product.title,product.priceString,pricingTerms[].billingDisplayPrice, undpricingTerms[].commitmentInfo.priceStringaus StoreKit anstatt festgelegter Preise. - Bieten Sie Wiederherstellungskauf und Verwaltung von Abonnementaktionen auf der Zahlungsseite oder dem Kontoscreen an.
Zugehörige Anleitungen
Abschnitt mit dem Titel „Zugehörige Anleitungen“Weitermachen von iOS-Monatsverpflichtungsberechnungsplänen
Abschnitt mit dem Titel „Weitermachen von iOS-Monatsverpflichtungsberechnungsplänen“Wenn Sie " iOS-Monatsverpflichtungsberechnungspläne zum Planen von Zahlungen und Kaufleistungen verwenden, verbinden Sie es mit Verwenden Sie @capgo/native-purchases für die native Fähigkeit in Verwenden Sie @capgo/native-purchases, Capgo-Preisgestaltung für das Produktworkflow in Capgo-Preisgestaltung, Zahlungssystem für die Implementierungsdetails in Zahlungssystem, @capgo/native-purchases für die Implementierungsdetails in @capgo/native-purchases, und Einstieg für die Implementierungsdetails in Einstieg.