Advertisement
  1. Code
  2. iOS SDK

iPhone SDK: In-App-Käufe

Scroll to top
Read Time: 14 min

German (Deutsch) translation by Tatsiana Bochkareva (you can also view the original English article)

Dieses iPhone SDK-Tutorial ist das erste einer mehrteiligen Reihe zum Verkauf von Produkten und Dienstleistungen "in-app" mit dem Store Kit-Framework. Erfahren Sie mehr über die Vor- und Nachteile der Verwendung der In-App-Kauffunktion, die Schritte zum Registrieren von bezahlten "In-App"-Inhalten bei Apple Inc., das Einrichten einer einfachen Store-Front und den Unterschied zwischen dem integrierten Produktmodell und das Server-Produktmodell für die Verteilung von Inhalten und die Auftragserfüllung.

1. Qualifizieren Sie Ihren Inhalt

Eine der leistungsstärksten Funktionen des iPhone SDK 3 ist die Möglichkeit, Einkäufe in der App zu verarbeiten. Da der App Store die Autorisierung und Verarbeitung von Zahlungen in Ihrem Namen übernimmt, erleichtert diese Funktion den Verkauf virtueller Waren oder Dienstleistungen erheblich, da sich Entwickler auf die Erstellung und den Verkauf großartiger Inhalte konzentrieren können, anstatt auf herkömmliche E-Commerce-Aufgaben wie das Verschlüsseln und Speichern von Kreditkartennummern oder Verarbeitung von Kreditkartenstapeln. Durch die Verwendung der In-App-Kauffunktion wird auch der Checkout-Prozess für Benutzer optimiert, da sie lediglich ihren Apple-Benutzernamen und ihr Kennwort eingeben müssen, um die Transaktion mit ihrem iTunes-Konto zu autorisieren.

Diese Vorteile haben natürlich ihren Preis: Apple behält 30% des Verkaufs ein, wie bei allen direkten Einkäufen im App Store. Wenn Sie den App Store als Zahlungsgateway verwenden möchten, müssen Sie außerdem die folgenden von Apple festgelegten Geschäftsregeln einhalten:

  • Keine physischen oder realen Dienste erlaubt.
    Leider können Lebensmittel, T-Shirts und Autowaschanlagen derzeit nicht als In-App-Kauf verkauft werden.
  • Virtuelle Währung ist nicht erlaubt.
    Apple wird derzeit die Schaffung einer virtuellen Wirtschaft mit einer direkten Zwischenwährung nicht zulassen.
  • In Ihrer Anwendung gekaufte Elemente oder Dienste müssen in Ihrer Anwendung abgerufen und verwendet werden.
    Ähnlich wie bei der Beschränkung des Verkaufs realer Waren verhindert dies, dass Entwickler beispielsweise Gutscheine oder Angebote verkaufen, die außerhalb der App eingelöst werden können.
  • Keine Diffamierung, Hassrede, Pornografie oder Glücksspiel.
  • Apple hat die folgende Liste genehmigter Kategorien veröffentlicht:
  • Inhalt
    Enthält digitale Bücher, Magazine, Fotos, Grafiken, Spielebenen, Spielfiguren und andere digitale Inhalte, die in Ihrer Anwendung bereitgestellt werden können.
  • Funktionalität
    Produkte entsperren oder erweitern Funktionen, die Sie bereits in Ihrer Anwendung bereitgestellt haben. Sie können beispielsweise ein Spiel mit mehreren kleineren Spielen ausliefern, die vom Benutzer gekauft werden können.
  • Dienstleistungen
    Ermöglichen Sie Ihrer Anwendung, Benutzern einmalige Dienste wie die Sprachtranskription in Rechnung zu stellen. Bei jeder Nutzung des Dienstes handelt es sich um einen separaten Kauf.
  • Abonnements
    Bieten Sie erweiterten Zugriff auf Inhalte oder Dienste. Beispielsweise bietet Ihre Anwendung möglicherweise monatlichen Zugriff auf Finanzinformationen oder ein Online-Spieleportal. Sie sollten eine angemessene Verlängerungshäufigkeit definieren, um Benutzer nicht mit unerwünschten Erinnerungen zu belästigen. Beachten Sie, dass Sie sowohl für die Verfolgung des Abonnementablaufs als auch für die Erneuerungsabrechnung verantwortlich sind. Der App Store überwacht die Abonnementdauer nicht und bietet keinen automatischen Abrechnungsmechanismus.

2. Erstellen Sie ein neues Xcode-Projekt und importieren Sie das Store Kit Framework

Das Store Kit Framework bietet die Leistung und Funktionalität, mit der Sie Ihre In-App-Käufe entwickeln können. Das Framework selbst autorisiert zwar nicht die Zahlungen Ihres Benutzers, fungiert jedoch als Brücke zwischen Ihrer Anwendung und Apple und ermöglicht Ihnen das einfache Senden und Empfangen von Nachrichten aus dem iTunes App Store.

Schauen Sie sich die folgende Abbildung von Apple Inc. an, um dieses Konzept besser zu verstehen:

In App Purchase Request/Response Cycle

Öffnen Sie Xcode und erstellen Sie ein neues iPhone-Projekt. Wählen Sie "View Based Application" als Standardanwendungstyp. Nennen Sie die Anwendung "InAppDemo" oder fügen Sie einen kreativeren Titel Ihrer Wahl ein.

In App Purchase Creating a new project in Xcode.In App Purchase Creating a new project in Xcode.In App Purchase Creating a new project in Xcode.

Klicken Sie mit der rechten Maustaste auf den Ordner "Frameworks" im Bereich "Gruppen und Dateien" und wählen Sie "Hinzufügen" -> "Vorhandene Frameworks". Suchen Sie StoreKit.framework und klicken Sie auf "Hinzufügen".

In App Purchases Adding the Store Kit Framework.In App Purchases Adding the Store Kit Framework.In App Purchases Adding the Store Kit Framework.

Um das Framework in unserem Projekt zu verwenden, müssen wir es der View Controller-Klasse unseres Projekts hinzufügen. Erweitern Sie den Ordner "Klassen" und klicken Sie auf InAppDemoViewController.h.

Fügen Sie direkt unter dem Befehl "UIKit importieren" diese Zeile hinzu:

Ihre Anwendung sollte nun in der Lage sein, die Store Kit Framework-Funktionalität zu nutzen.

3. Registrieren Sie Premium-Inhalte bei Apple Inc.

Jedes virtuelle Produkt oder jede virtuelle Dienstleistung, die Sie in der App verkaufen möchten, muss bei Apple registriert und mit einer eindeutigen Produktkennung versehen sein. Überraschenderweise werden diese Kennungen in iTunesConnect und nicht im Entwicklerprogrammportal generiert.

Für neue Anwendungen stellt dies das klassische "Henne-oder-Ei" -Problem dar. Um Ihr In-App-Kaufprojekt zu erstellen, müssen Sie Produkt-IDs generieren. Da Produkt-IDs jedoch nur über iTunesConnect erstellt werden können, muss Ihre Anwendung bereits zur Veröffentlichung eingereicht worden sein.

Die Lösung für dieses Dilemma besteht darin, den Prozess des Einreichens Ihrer Bewerbung zur Überprüfung durch Apple zu durchlaufen. Aktivieren Sie jedoch das Kontrollkästchen "Anwendungsbinär später hochladen", wenn Sie zur Registerkarte "Hochladen" gelangen. Dadurch wird Ihre Anwendung in den Status "Warten auf Upload" versetzt. Dies ist das, was Sie möchten, um eine formelle Überprüfung Ihrer Anwendung zu vermeiden, während Sie Ihre In-App-Käufe noch integrieren und konfigurieren.

Melden Sie sich bei Ihrem iPhone-Entwicklerkonto an und navigieren Sie zum iPhone Provisioning Portal, um mit dem Einreichen eines Testantrags zu beginnen. Wenn Sie noch kein Mitglied des iPhone Developer Program sind, müssen Sie sich hier anmelden.

Wählen Sie nach der Anmeldung beim Provisioning Portal die Registerkarte "App IDs". Klicken Sie auf "Neue App-ID".

Sie müssen einen allgemeinen Namen und eine eindeutige Bundle-ID eingeben. Der allgemeine Name wird verwendet, um diese App-ID im Provisioning Portal zu identifizieren, und die Bundle-ID ist eine eindeutige ID für Ihre tatsächliche Anwendungsbinärdatei. Bei der Entwicklung einer Anwendung, die In-App-Käufe verwendet, müssen Sie eine vollständige Bundle-ID verwenden. Es sind keine "Platzhalter"-IDs zulässig.

In App Purchase Creating a new app id.In App Purchase Creating a new app id.In App Purchase Creating a new app id.

Klicken Sie auf Senden. Sie kehren zur Hauptseite der App-IDs zurück.

Suchen Sie Ihre neu erstellte App-ID in der Liste und klicken Sie rechts daneben auf den Link "Konfigurieren".

Aktivieren Sie im Bildschirm "App-ID konfigurieren" das Kontrollkästchen neben "Beim App-Kauf aktivieren" und klicken Sie auf die Schaltfläche "Fertig":

In App Purchase Creating a new app id. Enabled.In App Purchase Creating a new app id. Enabled.In App Purchase Creating a new app id. Enabled.

Sie sollten jetzt über eine eindeutige App-ID verfügen, mit der Sie mit der Entwicklung der In-App-Kauffunktion beginnen können.

Sie erstellen jetzt eine Testanwendung. Verlassen Sie das Programmportal und melden Sie sich bei Ihrem iTunesConnect-Konto unter itunesconnect.apple.com an.

Wählen Sie in Ihrem Konto die Option "Anwendungen verwalten" und dann oben links im Bereich "Neue Anwendung hinzufügen".

Gehen Sie durch die Bildschirme, die zum Hinzufügen einer neuen Anwendung angezeigt werden, und aktivieren Sie das Kontrollkästchen "Anwendungsbinär später hinzufügen" auf der Registerkarte "Hochladen". Dabei müssen Sie wahrscheinlich ein zufälliges Testbild für das 512x512-Logo und den primären Screenshot hochladen.

Nachdem Sie Ihre Dummy-Übermittlung abgeschlossen haben, kehren Sie zur Zielseite der iTunesConnect-Anwendungsverwaltung zurück. Wählen Sie die soeben erstellte Anwendungsübermittlung aus und wählen Sie dann "In App-Käufen verwalten".

Um Ihren ersten Artikel hinzuzufügen, wählen Sie "NEU ERSTELLEN" oben links.

Sie werden nun aufgefordert, die Bundle-ID auszuwählen, mit der Ihre In-App-Käufe verknüpft werden. Wählen Sie die eindeutige Bundle-ID aus, die Sie zuvor in diesem Lernprogramm erstellt haben, und klicken Sie auf "Weiter". Wenn Sie das Tutorial genau befolgen, müssen Sie als Bundle-ID "com.mobiletuts.inapppurchasedemo" auswählen.

Creating new In App Purchase.Creating new In App Purchase.Creating new In App Purchase.

Auf dem Bildschirm "Neuen In-App-Kauf erstellen" werden Ihnen nun eine Reihe von Optionen für die Preisgestaltung angezeigt. Wie in den Hilfetipps angegeben, dient "Referenzname" zur Identifizierung Ihres Kaufangebots in den iTunesConnect-Suchergebnissen und "Produkt-ID" zur Identifizierung Ihrer Anwendung in iTunesConnect-Berichten.

Apple empfiehlt Ihnen, zwischen "Inhalt", "Funktionalität", "Dienste" und "Abonnements" zu wählen, wenn Sie die möglichen Kategorien für Ihre In-App-Angebote berücksichtigen. Wenn Sie diese jedoch tatsächlich an den Store senden möchten, sind Sie gezwungen um Ihre App mit einem von drei völlig neuen Typen zu identifizieren.

Wie von Apple Inc. beschrieben, sind diese Typen:

  • Verbrauchsmaterial:
    Produkte müssen jedes Mal gekauft werden, wenn der Benutzer diesen Artikel benötigt. Beispielsweise werden Dienste üblicherweise als Verbrauchsgüter implementiert.
  • Nicht-Verbrauchsmaterialien:
    Produkte dürfen von Benutzern nur einmal gekauft werden. Sobald ein nicht verbrauchbares Produkt gekauft wurde, ist es immer auf allen Geräten verfügbar, die dem iTunes-Konto dieses Benutzers zugeordnet sind. Store Kit-Anbieter unterstützen die Wiederherstellung nicht verbrauchbarer Produkte auf anderen Geräten.
  • Abonnements:
    Teilen Sie Attribute von Verbrauchs- und Nichtverbrauchsprodukten. Wie bei einem Verbrauchsmaterial kann ein Abonnement mehrfach erworben werden. Auf diese Weise können Sie Ihren eigenen Erneuerungsmechanismus in Ihrer Anwendung implementieren. Abonnements müssen jedoch auf allen Geräten bereitgestellt werden, die einem Benutzer zugeordnet sind. In App Purchase wird erwartet, dass Abonnements über einen von Ihnen bereitgestellten externen Server bereitgestellt werden. Sie müssen eine Infrastruktur bereitstellen, um Abonnements für mehrere Geräte bereitzustellen.

Wählen Sie diejenige aus, die für Ihren Angebotstyp oder "Verbrauchsmaterial" gilt, wenn Sie dieses Tutorial genau befolgen. Beachten Sie, dass dieser Typ nach dem Festlegen zu einem späteren Zeitpunkt nicht mehr geändert werden kann. Wählen Sie ihn daher mit Bedacht aus.

Als nächstes legen wir den Angebotspreis fest, indem wir eine Preisstufe auswählen und nicht direkt einen Wert eingeben. Das In-App-Kaufpreissystem entspricht dem Direktkaufsystem, das beim ersten Hochladen Ihrer Anwendung angezeigt wurde. Wenn Sie Ihre Optionen jedoch erneut überprüfen möchten, klicken Sie rechts neben der Dropdown-Liste auf den Text "Siehe Preismatrix".

Wählen Sie "Tier 1" für den Preis oder die Stufe, die Ihrem Angebot entspricht. Aktivieren Sie unbedingt das Kontrollkästchen "Zum Verkauf freigegeben", auch wenn Sie noch nicht bereit sind, Ihre Anwendung zu starten. Dieses Kontrollkästchen muss aktiviert sein, um Ihren Code zu debuggen und zu testen.

Mit dem Feldsatz "Anzeigedetails" können Sie die Angebotslokalisierung einfach steuern. Wählen Sie die Sprache (n) aus, in der Sie Ihr Angebot auflisten möchten, und fügen Sie Ihren benutzerdefinierten Anzeigenamen und Ihre Beschreibung hinzu. Eine aussagekräftige und spezifische Beschreibung wird von Apple für die Genehmigung der Überprüfung benötigt.

Creating new in app purchase form.Creating new in app purchase form.Creating new in app purchase form.

Im Moment können Sie das Feld "Screenshot" überspringen, da es lediglich eine Anleitung für die Überprüfung Ihres Produkts durch den Apple-Mitarbeiter ist. Klicken Sie auf "Änderungen speichern", um dieses Angebot bei Apple zu registrieren. Wiederholen Sie diesen Vorgang, um weitere Artikel zum Verkauf "in App" hinzuzufügen.

In diesem Tutorial werden die folgenden allgemeinen Daten für unsere Angebote verwendet. Sie können jedoch beim Einfügen Ihrer eigenen Daten so kreativ sein, wie Sie möchten:

Produkt 1 | Verbrauchsmaterial | com.mobiletuts.inappdemo.1 | Tier 1
Produkt 2 | Verbrauchsmaterial | com.mobiletuts.inappdemo.2 | Tier 2
Produkt 3 | Verbrauchsmaterial | com.mobiletuts.inappdemo.3 | Tier 3

4. Bauen Sie Ihre Ladenfront auf

Nachdem Sie Ihre Premium-Artikel bei iTunesConnect registriert haben, können Sie diese Angebote in Ihre App integrieren. Für dieses Tutorial verwenden wir eine einfache UITableView, um unsere Produktliste anzuzeigen.

Wechseln Sie zur Header-Datei für Ihren Hauptanwendungsansichts-Controller, in diesem Fall InAppDemoViewController.h, und ändern Sie den Code so, dass er folgendermaßen aussieht:

Das Array productIdentifierList speichert die in Schritt 3 erstellten Produktkennungen als Zeichenfolgen, während productDetailsList die lokalisierten Produktinformationen speichert, die vom App Store bereitgestellt und dem Benutzer tatsächlich angezeigt werden.

Wechseln Sie nun zur Klassenimplementierungs datei InAppDemoViewController.m und synthetisieren Sie die Variablen, die Sie gerade in Ihrer Header-Datei deklariert haben:

Kommentieren Sie die viewDidLoad-Funktion aus und initialisieren Sie Ihre Datenquelle:

In einer realen Anwendung möchten wir diesen Kaufladecode niemals in die viewDidLoad-Methode einfügen, da er im Hauptthread ausgeführt wird und die Anwendungsschnittstelle beim Abrufen der Daten kurz sperrt. Wir verwenden viewDidLoad hier nur zu Demonstrationszwecken.

Ab Zeile 6 erstellen wir eine for-Schleife, um die Anzahl der Elemente zu durchlaufen, die angezeigt werden sollen. Da wir für unsere Produktkennungen ein gemeinsames Namensschema verwenden, können wir mehrere Elemente im laufenden Betrieb erstellen, ohne jede Kennung manuell eingeben zu müssen. Beachten Sie, dass dieses Muster durch einige Internet-Programmierungen weiter verbessert werden kann: Ihre Produktkennungsliste wird idealerweise von einem externen Server geladen, damit Sie Produkte dynamisch hinzufügen oder entfernen können, ohne jedes Mal eine neue Binärdatei durch den App Store zu senden.

Ab Zeile 10 wird unser erstes Store Kit Framework-Objekt, SKProductsRequest, vorgestellt. Dieses Objekt wird verwendet, um eine Liste mit Produktkennungen an den App Store zu senden, um eine Liste mit lokalisierten Produktinformationen und genauen Produktpreisinformationen zrück zu erhalten. Diese dynamische Lokalisierungs- und Produkterfassungstechnik ermöglicht Ihnen eine viel größere Flexibilität als die manuelle Codierung dieser Attribute.

In Zeile 12 legen wir den Anforderungsdelegierten fest, den das Store Kit Framework nach Erhalt eines Ergebnisses aufruft. Kopieren Sie den folgenden Code und fügen Sie ihn ein, um diesem Delegatenprotokoll zu entsprechen:

Die productsRequest-Methode wird aufgerufen, nachdem die Liste der Produkte aus dem App Store abgerufen wurde, und wir weisen diese Liste der Produktobjekte aus dem App Store unserem productDetailsList-Array zur späteren Verwendung zu. Die beiden anderen Protokollmethoden funktionieren wie erwartet.

Nun richten wir die UITableView ein, mit der unsere Produktinformationen angezeigt werden. Beginnen Sie mit dem Einrichten Ihrer NIB-Datei in Interface Builder. Erweitern Sie den Ordner "Ressourcen" im Bereich "Gruppen und Dateien" und doppelklicken Sie auf die Datei "InAppViewController.xib", um den Interface Builder zu öffnen.

Ziehen Sie im Bibliotheksbereich ein UITableView-Objekt in das Fenster In App Demo View Controller. Klicken Sie mit der rechten Maustaste auf die UITableView im Fenster, verbinden Sie die dataSource und delegieren Sie sie an den Eigentümer der Datei. Klicken Sie dann mit der rechten Maustaste auf den Eigentümer der Datei und verbinden Sie productDisplayTableView mit dem UITableView-Objekt. Speichern und schließen Sie die Feder.

Kehren Sie zu Ihrer View Controller-Implementierungsdatei InAppDemoViewController.m zurück.

Fügen Sie die folgenden Zeilen ein, um die Protokollanforderungen für UITableViewDelegate und UITableViewDataSource zu erfüllen:

Das meiste davon ist Standardcode für die Anzeige von Text in UITableView-Zellen. Beachten Sie jedoch, dass wir eine Instanz von SKProduct, thisProduct, erstellen, um die Produktdaten für die aktuelle Zeile abzurufen, und dass wir lokalisierte Produktinformationen problemlos von den Datenelementen des Objekts abrufen können. Weitere Informationen zu allen verfügbaren Datenelementen finden Sie in der offiziellen Apple SKProduct-Referenz.

Sie sollten jetzt in der Lage sein, Ihre Anwendung zu kompilieren und auszuführen, aber es gibt einen Haken: Im App Store können Käufe nur auf einem tatsächlichen Gerät getestet werden. Sie müssen daher ein Bereitstellungsprofil für diese Anwendung erstellen und installieren, um die Anwendung zu testen Code.

Nachdem Sie Ihr Bereitstellungsprofil installiert und Xcode konfiguriert haben, erstellen Sie die Anwendung und führen Sie sie auf Ihrem Gerät aus. Eine einfache Tabellenansicht mit Produkttiteln ist für Ihre App in der realen Welt zu einfach, aber das Schöne am In-App-Kaufsystem ist, dass die Storefront-Skin ganz bei Ihnen liegt. In zukünftigen Tutorials dieser Reihe wird eine erweiterte Benutzeroberfläche erstellt. Erweitern Sie in der Zwischenzeit Ihre Kreativität und verwenden Sie das Design, mit dem Sie Ihre Produkte präsentieren möchten!

5. Wählen Sie eine Vertriebsstrategie

Bevor Sie Transaktionen autorisieren und neue Inhalte an Ihre Benutzer verkaufen, nehmen Sie sich einen Moment Zeit, um darüber nachzudenken, wie diese neuen Inhalte bereitgestellt werden. Mit dem Store Kit-Framework können Sie einen Kauf problemlos autorisieren, sind jedoch bei der Auftragserfüllung auf sich allein gestellt. Das integrierte Produktmodell und das Serverproduktmodell sind die beiden primären Entwurfsmuster, aus denen Sie auswählen können, um sicherzustellen, dass Ihre Benutzer das erhalten, wofür sie bezahlen.

Eingebautes Produktmodell

Mit dem integrierten Produktmodell ist alles, was ein Benutzer erwerben kann, bereits beim ersten Herunterladen in der Anwendung enthalten. Dieser Inhalt ist gesperrt oder für die Verwendung verborgen, bis nach dem Kauf einer In-App das Angebot nutzbar wird.

Das folgende Diagramm von Apple Inc. zeigt das integrierte Produktmodell:

In App Purchase Built in Product Model LifecycleIn App Purchase Built in Product Model LifecycleIn App Purchase Built in Product Model Lifecycle

Server-Produktmodell

Im Server-Produktmodell wird der Inhalt zum Zeitpunkt des Kaufs von einem von Ihnen kontrollierten Server dynamisch auf das Gerät des Benutzers übertragen. Im Serverproduktmodell müssen Sie den zusätzlichen Schritt hinzufügen, um zu überprüfen, ob der vom Clientgerät empfangene Transaktionsbeleg gültig ist, und Sie müssen möglicherweise einen Mechanismus zur Identifizierung Ihrer Benutzer einrichten, um sicherzustellen, dass Abonnements und andere nicht verbrauchbare Produkte dies können Der Zugriff erfolgt weiterhin von jedem iPhone OS-Gerät aus, das der kaufende Benutzer besitzt, und nicht nur von dem Gerät, auf dem er den Artikel ursprünglich gekauft hat (dies ist eine Geschäftsanforderung von Apple). Sie sind auch dafür verantwortlich, die Netzwerkverbindung auszuhandeln, um eine möglicherweise beträchtliche Menge an Text- oder Multimediadaten zu übertragen.

Einer der Hauptvorteile des Server-Produktmodells besteht darin, dass Sie eine sehr große Menge an Inhalten bei Bedarf verkaufen können, während die anfängliche Downloadgröße Ihrer Anwendung klein bleibt. Es ist auch viel schneller, neue Premium-Inhalte zu erstellen und für Ihre App bereitzustellen, da Sie keine neue Anwendungsbinärdatei über den iTunes Store übertragen müssen, um neue Artikel zum Verkauf anzubieten.

Das folgende Diagramm von Apple Inc. zeigt das Server-Produktmodell:

Server Product Model CycleServer Product Model CycleServer Product Model Cycle

Wie Sie sehen können, ist das integrierte Produktmodell das einfachere der beiden Entwurfsmuster. Es ist einfacher zu implementieren und zu warten, es fehlt jedoch die Leistung der On-Demand-Bereitstellung. Das Server-Produktmodell ist weitaus komplexer, ermöglicht es Ihnen jedoch, neue Inhalte mit größerer Flexibilität und Geschwindigkeit zu erstellen und Ihre Anwendungsgröße schlank zu halten, indem Sie große Downloads nur nach Bedarf bereitstellen.

Sowohl das integrierte Produktmodell als auch das Serverproduktmodell werden in zukünftigen Teilen dieser Serie ausführlich behandelt.

Jetzt ist ein guter Zeitpunkt, um diese beiden Verteilungsmodelle zu berücksichtigen und festzustellen, welches für Ihre Anwendung am besten geeignet ist.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.