
In iOS 12.2 hat Apple eine coole neue Funktion hinzugefügt - Werbeangebote. Automatisch erneuerbare Abonnement-Apps bieten aktuellen oder ehemaligen Kunden jetzt persönliche Rabatte oder einen zusätzlichen kostenlosen Zeitraum. Werbeangebote gelten für das Bezahlen, Bezahlen, Testen und Stornieren der Testbenutzer. Im Gegensatz zu einem Einführungsangebot kann ein Werbeangebot nach Ermessen des Entwicklers beliebig oft erworben werden. Die Implementierung erfordert jedoch, dass ein Server eine digitale Signatur generiert.
Um ein neues Werbeangebot zu erstellen, rufen Sie den App Store Connect auf und öffnen Sie die Seite mit Ihrem Abonnement. Klicken Sie im Abonnementpreisbereich auf "+" und wählen Sie "Werbeangebot erstellen" :

Geben Sie den ursprünglichen Namen der Aktion und ihre Kennung an - Produktcode :

Geben Sie die Kosten und die Art des Werbeangebots an:
- Zahlung bei Verwendung;
- Vorauszahlung;
- freie Zeit.
Speichern Sie die Änderungen.
Abonnementschlüssel
Um Werbeangebote nutzen zu können, müssen Sie mit dem Abonnementschlüssel eine digitale Signatur erstellen. Sie müssen es im App Store Connect erstellen.
Gehen Sie zum Abschnitt "Benutzer und Zugriff" und dann zur Registerkarte "Schlüssel" . Erstellen Sie einen neuen Abonnementschlüssel, indem Sie dessen Namen angeben.

Klicken Sie nach dem Erstellen des Schlüssels auf "API-Schlüssel herunterladen" und speichern Sie die Datei an einem sicheren Ort.

Der aus App Store Connect heruntergeladene Abonnementschlüssel hat das folgende Namensformat: SubscriptionKey_ [KEY_ID] .p8, wobei KEY_ID die Schlüsselkennung ist.
Signaturerstellung
Hier beginnt das Schwierigste und meiner Meinung nach Unnötige. Apple wurde durch Hinzufügen einer Signaturgenerierung rückversichert, sodass der Benutzer ohne das Wissen des Entwicklers nicht in StoreKit hacken und ein Werbeangebot abgeben konnte. Ich möchte Sie daran erinnern, dass diese Rabatte nur zahlenden Benutzern zur Verfügung stehen. Werden aktuelle Kunden versuchen, das System für einen Rabatt zu hacken?
Aus Sicht des mobilen Clients ist die Generierung von Signaturen erforderlich, damit mit der SKProductDiscount
Klasse die SKPaymentDiscount
Klasse erstellt wird, die SKMutablePayment
zum Kauf hinzugefügt wird. Lassen Sie uns genauer betrachten.
SKProductDiscount
Objekte dieser Klasse werden im discounts
von SKProduct
. Alle erstellten Werbeangebote sind Objekte der Klasse SKProductDiscount
. Wie bei Einführungsangeboten können Sie die Dauer, den Preis und die Anzahl der Aktionsperioden abrufen. Es stellt sich heraus, dass diese Klasse benötigt wird, um die Kaufbedingungen in der Anwendungsoberfläche anzuzeigen.
SKPaymentDiscount
Diese Klasse wird vom Entwickler anhand der von Ihrem Server empfangenen Daten erstellt. Schauen Sie sich die Quelldateien an und sehen Sie die einzige Initialisierungsmethode:
public init(identifier: String, keyIdentifier: String, nonce: UUID, signature: String, timestamp: NSNumber)
identifier
- Kennung des Werbeangebots. Es stammt aus SKProductDiscount
.keyIdentifier
- Abonnementschlüssel- keyIdentifier
.nonce
ist eine beliebige Zeichenfolge, die auf dem Server für einen besseren Signaturschutz oder Salt generiert wird. Unter iOS müssen Sie mit diesem Salt eine UUID-Klasse erstellen.signature
- Eine digitale Signatur, die von Ihrem Server als Base64-Zeichenfolge empfangen wird.timestamp
- Erstellungsdatum der Signatur in Millisekunden. Es ist erforderlich, die Erstellungszeit der Signatur und die Zeit des Kaufs selbst zu vergleichen, da die Signatur nur 24 Stunden gültig ist.
Der Code selbst zum Generieren einer Signatur auf dem Server ist keine leichte Aufgabe, aber Apple hat auf Node.js Beispielcode bereitgestellt. Der Signaturschlüssel muss auf Ihren Server hochgeladen werden und Sie müssen alle oben genannten Daten an den mobilen Client zurückgeben.
Lesen Sie hier mehr über die Signaturerstellung.
Ein Werbeangebot wird wie ein regulärer Kauf gekauft. Der einzige Unterschied besteht in der Hinzufügung eines Objekts der Klasse SKPaymentDiscount
.
let payment = SKMutablePayment(product: product) payment.paymentDiscount = discount SKPaymentQueue.default().add(payment)
Was weiter?
Sie haben erfolgreich eine Signatur generiert und Ihren ersten Einkauf bei Sandbox getätigt. Das ist großartig! Die Werbeangebote selbst lösen jedoch nicht das Problem der Gewinnsteigerung und der wiederkehrenden Nutzer. Ihre Aufgabe ist es, sie dem Benutzer zum richtigen Zeitpunkt zu zeigen. In welcher? Sie können beispielsweise versuchen, Benutzer zurückzugeben, die ihr Abonnement gekündigt haben, indem Sie ihnen eine Benachrichtigung senden.
Rückgabe fehlgeschlagener Kunden
Mit Hilfe von Werbeangeboten können Sie versuchen, die verstorbenen Kunden zurückzugeben. Dazu müssen Sie eine ganze Reihe von Funktionen implementieren: Werbeangebote, Serverbenachrichtigungen über Abonnementstatus, Push-Benachrichtigungen, Speichern von Benutzerprüfungen auf dem Server und Suchen eines Benutzers anhand der Transaktionsnummer. Das ist nicht einfach.
Umfrage unter gefallenen Kunden
Die Gewinnung eines neuen Benutzers ist um ein Vielfaches teurer als die Bindung eines bestehenden Kunden. Daher ist es besonders wichtig, die Motive zu verstehen, die Benutzer dazu zwingen, Testversionen und Abonnements zu kündigen.
Viele Benutzer melden sich ab, weil sie keine Anwendung mehr benötigen und Ihr Rabatt möglicherweise nicht funktioniert. In diesem Fall sollten Sie, anstatt einen Rabatt anzubieten, herausfinden, was ihm nicht gefällt und was seine Entscheidung beeinflussen könnte, zur Bewerbung zurückzukehren.
Bieten Sie Rabatte im Austausch für Maßnahmen
Meistens ist dies eine Einladung an einen Freund im Austausch für einen Rabatt oder eine kostenlose Nutzung. Es mag wirklich funktionieren, aber die Implementierung des Überweisungssystems wird viel Zeit in Anspruch nehmen.
Wie es in Apphud implementiert wird
Apphud verfolgt das Abbestellen, fragt frühere Benutzer ab und bietet Rabatte, ohne Code zu schreiben. Rabattbildschirme werden im Designer in Ihrem Konto erstellt. Für den Benutzer sieht es so aus:

Apphud zeigt einen Umfragebildschirm an, wenn eine Testversion oder ein Abonnement gekündigt wird, und bietet bei Bedarf sofort einen Rabatt an.
Wir haben in der Regel jede einzelne Mechanik für die Benutzerrückgabe benannt. Weitere Informationen zum Konfigurieren der Regeln finden Sie hier .
Fazit
Das Abonnement-Geschäftsmodell ist bereits zum Standard für mobile Anwendungen ohne Spiele geworden. Die Benutzerbindung und das Verständnis der Gründe für ihre Abreise ist eine wichtige Aufgabe, die bereits in der Phase des Starts eines mobilen Projekts angegangen werden muss.
Apphud hilft bei der Integration von Abonnements:
- Kaufen Sie nur mit einer Methode ein.
- Verfolgen Sie automatisch den Status des Abonnements jedes Benutzers.
- Abonnementangebote einfach integrieren
- Senden Sie Abonnementereignisse an Amplitude, Mixpanel, Slack und Telegram unter Berücksichtigung der lokalen Währung des Benutzers.
- Verringern Sie die Abwanderungsrate in Anwendungen und geben Sie nicht abonnierte Benutzer zurück.