iOS-Monatsverpflichtungsabrechnungsplä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 abrechnen, während der Kunde sich für eine längere 12-monatige Laufzeit verpflichtet. Wenn StoreKit und das laufende Betriebssystem diese Abrechnungsplan unterstützen, @capgo/native-purchases erläutert die Preisbedingungen, ermöglicht Ihnen die Auswahl des monatlichen Abrechnungsplans bei der Kaufabwicklung und liefert Informationen zu Transaktionen und Wiederholungsdaten.
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 wünschen.
Anforderungen
Abschnitt mit dem Titel „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-Version, die StoreKit-Verpflichtungsabrechnungspläne unterstützt.
- Bewahren Sie eine Standard-Billingsoption für Geräte oder Verkaufsstellen, die keine Verpflichtungspreisvereinbarungen zurückgeben.
Laden und Anzeigen der Preisbedingungen
Abschnitt mit dem Titel „Laden und Anzeigen der Preisbedingungen“Aufrufen getProducts() wie gewohnt. Für unterstützte iOS-Abonnementprodukte kann jeder Produktartikel 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',);Anstatt feste Preise zu verwenden, rendern Sie die vom Laden bereitgestellten Werte.
| Field | Feld |
|---|---|
billingDisplayPrice | Die wiederkehrende Abrechnungshöhe, die dem Nutzer angezeigt wird, zum Beispiel der monatliche Beitrag. |
billingPeriod | Die Abrechnungsperiode für die angezeigte Abrechnungspreis. |
commitmentInfo.priceString | Der Gesamtaufstockungspreis im Format für die Benutzereinstellung. |
commitmentInfo.period | Die gesamte Aufstockungsperiode. |
subscriptionOffers | Einführende oder werbliche Angebote, die mit dem Preisangebot verbunden sind. |
Beispiel für Paywall-Text:
function commitmentLabel(term: NonNullable<typeof monthlyCommitment>) { const total = term.commitmentInfo?.priceString; return total ? `${term.billingDisplayPrice} billed monthly, ${total} total commitment` : term.billingDisplayPrice;}Monatliche Verpflichtungsvereinbarung kaufen
Abschnitt mit dem Titel „Monatliche Verpflichtungsvereinbarung kaufen“Wenn der Benutzer die monatliche Verpflichtung wählt, übermitteln Sie billingPlanType: 'monthly'.
const transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'com.example.app.premium.yearly', productType: PURCHASE_TYPE.SUBS, billingPlanType: 'monthly', appAccountToken: userStoreUuid,});Use billingPlanType: 'upFront' Verwenden Sie nur dann, wenn Sie die Standard-Vorauszahlungsabrechnungsperiode explizit auswählen müssen. Wenn Sie dies billingPlanType, StoreKit verwendet seine Standardkaufverhaltensweise für das Produkt.
Lesen Sie Verpflichtungs-Metadaten
Abschnitt mit dem Titel „Lesen Sie Verpflichtungs-Metadaten“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);}Renewal info can include the next commitment state:
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. commitmentInfo.expirationDate um die vollständige Verpflichtungszeitraum zum Kunden zu erklären.
App Store-Bewertungsnotizen
Abschnitt mit dem Titel „App Store-Bewertungsnotizen“- Zeigen Sie sowohl den wiederkehrenden Abrechnungspreis als auch den Gesamtaufwand vor dem Kauf an.
- Stellen Sie die Verpflichtungszeit explizit in der Nähe des Kaufknopfes dar.
- Use
product.title,product.priceString,pricingTerms[].billingDisplayPrice, undpricingTerms[].commitmentInfo.priceStringvon StoreKit anstatt von festgelegten Preisen. - Bieten Sie Wiederherstellungskauf und Verwaltung von Abonnements auf der Zahlungsseite oder dem Kontoscreen an.
Zugehörige Anleitungen
Abschnitt mit dem Titel ‘Zugehörige Anleitungen’Weiter mit iOS-Monatliche Verpflichtung Abrechnungsplänen
Abschnitt mit dem Titel ‘Fortsetzung von iOS-Monatsverpflichtung-Billingsplänen’Wenn Sie ‘iOS-Monatsverpflichtung-Billingspläne’ verwenden iOS-Monatsverpflichtung-Abrechnungspläne um Zahlungen und Kaufs zu planen, verbinden Sie es mit Verwendung von @capgo/native-purchases für die native Fähigkeit in @capgo/native-purchases, Capgo Preisgestaltung zur Produktworkflow in Capgo Pricing, Zahlungssystem zur Implementierungsdetail in Zahlungssystem, @ capgo/native-purchases zur Implementierungsdetail in @ capgo/native-purchases, und Anleitung zum Starten zur Implementierungsdetail in Anleitung zum Starten.