iOS-Monatliche Verpflichtungsbilligungspläne
Eine Einrichtungsanweisung mit den Installationsanweisungen und der vollständigen Markdown-Dokumentation für diesen Plugin kopieren.
Apple unterstützt Abonnements, die monatlich abrechnen, 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, werden die Preisbedingungen offenbart, Sie können die monatliche Abrechnungsplan während des Kaufs auswählen und Informationen zu Transaktionen und Wiederholungsinformationen zurückgeben.
Verwenden Sie dies für jährliche Abonnementangebote, bei denen die Nutzer monatliche Zahlungen bevorzugen, aber Sie noch die Bindung und Vorhersehbarkeit einer jährlichen Laufzeit wollen.
Anforderungen
Anforderungen- Konfigurieren Sie den monatlichen Abrechnungsplan mit 12-monatiger Verpflichtung in App Store Connect oder in StoreKit Testing in Xcode.
- Bauen Sie die iOS-App mit einem Xcode SDK auf, der StoreKit enthält
pricingTermsundbillingPlanType. - Laufen Sie auf einem iOS-Betriebssystem, das StoreKit-Verpflichtungsabrechnungspläne unterstützt.
- Bewahren Sie eine Standardabrechnungsoption für Geräte oder Verkaufsstellen auf, die keine Verpflichtungspreisbedingungen zurückgeben.
Laden und Anzeigen der Preisbedingungen
Abschnitt mit dem Titel „Laden und Anzeigen der Preisbedingungen“Aufrufen getProducts() Als üblich. Für unterstützte iOS-Abonnementprodukte kann jeder Produkt jede 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',);Stattdessen 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 die angezeigte Abrechnungspreis. |
commitmentInfo.priceString | Der Gesamtbetrag der Verpflichtung, formatiert für den Benutzer in seinem Laden. |
commitmentInfo.period | Die gesamte Verpflichtungszeit. |
subscriptionOffers | Einführende oder werbliche Angebote, die der Preisbegriff beiliegen. |
Beispiel für eine Paywall-Kopie:
function commitmentLabel(term: NonNullable<typeof monthlyCommitment>) { const total = term.commitmentInfo?.priceString; return total ? `${term.billingDisplayPrice} billed monthly, ${total} total commitment` : term.billingDisplayPrice;}Monatliche Verpflichtungsplan kaufen
Abschnitt mit dem Titel „Monatliche Verpflichtungsplan kaufen“Wenn der Benutzer den monatlichen Verpflichtungsplan 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 die Standard-Vorauszahlungsabrechnung planen müssen. Wenn Sie dies billingPlanTypevermeiden, verwendet StoreKit seine Standardkaufverhaltensweise für das Produkt.
Lesen Sie Verpflichtungsdaten
Abschnitt mit dem Titel „Lesen Sie Verpflichtungsdaten“Transaktionen enthalten die Abrechnungspläne 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 Erneuerungsdaten können 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 die oberste Ebene expirationDate und isActive Felder für Entscheidungen über die Berechtigung. Verwenden Sie commitmentInfo.expirationDate um die vollständige Verpflichtungszeitraum zum Kunden zu erklären.
App Store-Bewertungsnotizen
Sektion mit dem Titel „App Store-Bewertungsnotizen“- Zeigen Sie sowohl den wiederkehrenden Abrechnungspreis als auch den Gesamtpreis der Verpflichtung vor dem Kauf an.
- Machen Sie die Verpflichtungszeit explizit nahe dem Kaufbutton.
- Verwenden Sie
product.title,product.priceString,pricingTerms[].billingDisplayPrice, undpricingTerms[].commitmentInfo.priceStringvon StoreKit anstatt von festen Preisen. - Bieten Sie Wiederherstellungskauf und Verwaltung von Abonnementaktionen auf der Zahlungsseite oder dem Kontoscreen an.
Zugehörige Anleitungen
Sektion mit dem Titel „Zugehörige Anleitungen“Weitergehen von iOS-Monatsverpflichtung-Billingsplänen
Abschnitt mit dem Titel „Weitergehen von iOS-Monatsverpflichtung-Billingsplänen“Wenn Sie iOS-Monatsverpflichtung-Billingspläne verwenden iOS-Monatsverpflichtung-Billingspläne um Zahlungen und Kaufsplanungen vorzunehmen, verbinden Sie sie mit Verwenden Sie @capgo/native-purchases für die native Fähigkeit in Verwenden Sie @capgo/native-purchases Capgo-Preise Capgo-Preise für das Produktworkflow in Capgo-Preise Zahlungssystem für die Implementierungsdetails im Zahlungssystem @capgo/native-purchases für die Implementierungsdetails in @capgo/native-purchases und Einstieg für die Implementierungsdetails in Einstieg.