Monatliche Verpflichtungsabrechnungspläne für iOS
Eine Einrichtungsbefehl mit den Installationsanweisungen und der vollständigen Markdown-Guide für diesen Plugin kopieren.
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 der laufende Betriebssystem diese Abrechnungsplan unterstützen,
die Preisbedingungen offenlegt, Ihnen ermöglicht, die monatliche Abrechnungsplan während der Kauf auszuwählen, und die Verpflichtungsdaten auf Transaktionen und Wiederholungsinfo zurückgibt.
Anforderungen
Abschnitt mit dem Titel „Anforderungen“- Konfigurieren Sie die monatliche Abrechnung mit einem 12-Monats-Verpflichtungsabrechnungsplan in App Store Connect oder in StoreKit Testing in Xcode.
- Bauen Sie die iOS-App mit einem Xcode SDK, der StoreKit enthält
pricingTermsundbillingPlanType. - Ausführen auf einem iOS-Version, die StoreKit-Verpflichtungsabrechnungspläne unterstützt.
- Bewahren Sie eine Standardabrechnungsoption für Geräte oder Geschäftsstellen auf, die keine Verpflichtungspreisvereinbarungen zurückgeben.
Laden und Anzeigen von Preisvereinbarungen
Abschnitt mit dem Titel „Preis- und Zahlungsbedingungen laden und anzeigen“Anruf getProducts() wie gewohnt. Für unterstützte iOS-Abonnementprodukte kann jeder Produktbezeichnung 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 | Der Gesamtauftragspreis im Format für den Benutzer des Ladens. |
commitmentInfo.period | Die gesamte Verpflichtungszeit. |
subscriptionOffers | Einführende oder werbliche Angebote, die der Preis- und Zahlungsbedingung beigefügt sind. |
Beispiel-Zutrittsschranke:
function commitmentLabel(term: NonNullable<typeof monthlyCommitment>) { const total = term.commitmentInfo?.priceString; return total ? `${term.billingDisplayPrice} billed monthly, ${total} total commitment` : term.billingDisplayPrice;}Monatliches Zusage-Beitrittsangebot kaufen
Abschnitt mit dem Titel „Monatliches Zusage-Beitrittsangebot kaufen“Wenn der Benutzer das monatliche Zusage-Beitrittsangebot 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' Verwenden Sie nur dann, wenn Sie explizit das Standard-Vorauszahlungs-Abrechnungsangebot auswählen müssen. Wenn Sie dies billingPlanTypeStoreKit verwendet sein Standardkaufverhalten für das Produkt.
Lesen Sie Zusage-Metadaten
Abschnitt mit dem Titel „Lesen Sie Zusage-Metadaten“Transaktionen umfassen das Abrechnungsplan und die Zusage-Progress, 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 Erneuerungs-Info kann die nächste Zusage-Zustand 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 die obersten Ebene expirationDate und isActive Felder für Entscheidungen über die Berechtigung. Verwenden Sie commitmentInfo.expirationDate um die vollständige Zusage-Zeitlinie dem Kunden zu erklären.
App Store-Bewertungs-Hinweise
Abschnitt mit dem Titel “Hinweise zur Bewertung im App Store”- Zeigen Sie sowohl den wiederkehrenden Abrechnungspreis als auch den Gesamtaufwandpreis vor dem Kauf an.
- Machen Sie die Laufzeit des Engagements explizit in der Nähe des Kaufknopfes.
- Verwenden Sie , und von StoreKit anstatt der festen Preise.
product.title,product.priceString,pricingTerms[].billingDisplayPriceBieten Sie Wiederherstellungskauf und Verwalten-Abonnement-Aktionen auf der Zahlungsanzeige oder dem Konto-Bildschirm an.pricingTerms[].commitmentInfo.priceStringZugehörige Anleitungen - Abschnitt mit dem Titel “Zugehörige Anleitungen”
Erstellen Sie iOS-Abonnements
Konfigurieren Sie die iOS-Sandbox-TestungWeitermachen von iOS-Monatsverpflichtungsbilligungsplänen
Abschnitt mit dem Titel “Weitermachen von iOS-Monatsverpflichtungsbilligungsplänen”Wenn Sie " iOS-Monatsverpflichtungsbilligungsplä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-Preise für den Produktworkflow in Capgo-Preise, Zahlungssystem für die Implementierungsdetail in Zahlungssystem, @capgo/native-purchases für die Implementierungsdetails in @capgo/native-purchases, und Anleitung zum Starten für die Implementierungsdetails in Anleitung zum Starten.