iOS-Monatsverpflichtungsbilligungspläne
Kopieren Sie eine Einrichtungsanweisung mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin.
Apple unterstützt Abonnements, die monatlich berechnet 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, werden die Preisbedingungen offenbart, Sie können während des Kaufs die monatliche Abrechnungsplan auswählen und die Verpflichtungsdaten auf Transaktionen und Erneuerungsinformationen zurückgeben.
Verwenden Sie dies für jährliche Abonnementangebote, bei denen die Nutzer monatliche Zahlungen bevorzugen, aber Sie trotzdem die Bindung und Vorhersehbarkeit eines verpflichteten jährlichen Begriffs wollen.
Anforderungen
Abschnitt mit dem Titel „Anforderungen“- Konfigurieren Sie die monatliche Zahlung mit einem 12-Monats-Verpflichtungsabrechnungsplan in App Store Connect oder in StoreKit Testing in Xcode.
- Bauen Sie die iOS-App mit einem Xcode SDK auf, das StoreKit enthält
pricingTermsundbillingPlanType. - Laufen Sie auf einer iOS-Version aus, die StoreKit-Verpflichtungsabrechnungspläne unterstützt.
- Bewahren Sie eine Standard-Zahlungsoption für Geräte oder Verkaufsstellen auf, die keine Verpflichtungspreisvereinbarungen zurückgeben.
Preise und Bedingungen laden und anzeigen
Abschnitt mit dem Titel „Preise und Bedingungen laden und anzeigen“Aufruf 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 Gesamtkommitmentpreise im Format für den Benutzer des Ladens. |
commitmentInfo.period | Die gesamte Kommitmentdauer. |
subscriptionOffers | Zusätzliche Einführungs- oder Werbeangebote, die der Preisbegriff zugeordnet sind. |
Beispiel für 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 Verpflichtungsvereinbarung kaufen
Abschnitt mit dem Titel „Monatliche Verpflichtungsvereinbarung kaufen“Wenn der Benutzer die monatliche Verpflichtungsvereinbarung 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 auswählen müssen. Wenn Sie dies billingPlanTypeStoreKit verwendet seine Standardkaufverhaltensweise für das Produkt.
Metadaten zum Abschluss lesen
Abschnitt mit dem Titel „Metadaten zum Abschluss lesen“Transaktionen umfassen das Abrechnungsplan und den Fortschritt des Abschlusses, 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 Erneuerungsinformationen können den nächsten Abschlusszustand 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 dem Kunden den vollständigen Abschlusszeitplan zu erklären.
App Store Bewertungsnotizen
Abschnitt mit dem Titel „App Store Bewertungsnotizen“- Zeige sowohl den wiederkehrenden Abrechnungspreis als auch die Gesamtkommitmentkosten vor dem Kauf.
- Mache die Kommitmentdauer explizit in der Nähe des Kaufknopfes explizit.
- Verwende
product.title,product.priceString,pricingTerms[].billingDisplayPrice, undpricingTerms[].commitmentInfo.priceStringvon StoreKit anstatt der festen Preise. - Biete Wiederherstellungskauf und Verwalten-Abonnement-Aktionen auf der Zahlungsanzeige oder dem Konto-Bildschirm an.
Zugehörige Anleitungen
Abschnitt mit dem Titel „Zugehörige Anleitungen“Weitergehen von iOS-Monatsverpflichtung-Billing-Plänen
Abschnitt mit dem Titel „Weitergehen von iOS-Monatsverpflichtung-Billing-Plänen“Wenn Sie " iOS-Monatsverpflichtung-Billing-Pläne zum Planen von Zahlungen und Kaufleistungen verwenden, verbinden Sie es mit Mit @capgo/native-purchases für die native Fähigkeit in Mit @capgo/native-purchases, Capgo Preisgestaltung für das Produktworkflow in Capgo Preisgestaltung, Zahlungssystem für die Implementierungsdetail in Zahlungssystem, @capgo/native-Einkäufe für die Implementierungsdetails in @capgo/native-Einkäufe, und Einstieg für die Implementierungsdetails in Einstieg.