2014-01-09 6 views
7

Ich habe eine erfolgreich bezahlte Anwendung im Google Play Store und möchte diese App als kostenlose Anwendung mit In-App-Kauf aktualisieren.Ändern einer kostenpflichtigen Android-App in eine kostenlose App mit In-App-Kauf

Ich habe gerade die kostenlose Version der App entwickelt, die den Benutzern eingeschränkten Zugriff gewährt, die dann mit einem In-App-Kaufsystem freigeschaltet werden können.

Das Problem, das ich habe, ist, dass alle meine bestehenden Benutzer, die für die App bezahlt haben, aktualisieren und dann aufgefordert werden, wieder zu zahlen, was natürlich nicht richtig ist.

Gibt es eine Möglichkeit, die Kaufhistorie des Benutzers zu überprüfen, zu identifizieren, dass sie für die App zuvor bezahlt haben und die zusätzlichen Funktionen ohne In-App-Kauf freischalten?

Danke für jede Hilfe. Lewis

+0

man kann tun, dass – Goofy

+0

könnten Sie eine Abhilfe finden? Ich bin an der gleichen Stelle, um meine kostenpflichtige App kostenlos mit der App-Abrechnung zu machen – abedfar

Antwort

4

Es ist ein Jahr her, so dass die OP wahrscheinlich dies nicht benötigen, aber falls jemand anderes passiert auf diesem ...

Man könnte dies ein paar Möglichkeiten, nähert. Offensichtlich gibt es auf Ihrer neuen In-App-Einkaufs-App eine Geschäftslogik, um zu verfolgen, wer/Sie nicht bezahlt hat. So sind die zwei Möglichkeiten, ich sehe Sie in der Lage zu sein, darüber zu gehen, ist wie folgt:

Idee 1:

Sie könnten eine vorläufige Update auf Ihre bezahlten App tun, die eine SharedPreference oder eine andere Persistenz in den Läden app (Sie könnten den versionCode speichern, damit Sie wissen, worauf Sie gerade upgraden, und über eine Geschäftslogik verfügen). Dann auf die kostenlose Version aktualisieren, und die kostenlose Version überprüfen Sie Ihre gemeinsamen Präferenz und tun das Richtige bei einem Update von einem "kostenpflichtigen" VersionCode.

Idee 2:

Sie halten könnten beide Anwendungen trennen (eine bezahlte Version und eine kostenlose mit In-App-Käufe), und drücken Sie ein Update auf die Vollversion eine BroadcastReceiver zu haben, die nicht wirklich Tun Sie etwas anderes, als auf bestimmte Absichten zu hören, und lassen Sie Ihre In-App-Kaufüberprüfung durchführen, um zu sehen, ob etwas Ihre benutzerdefinierte Absicht aufnimmt. Wenn Ihre alte kostenpflichtige Version existiert, dann haben sie dafür bezahlt, wenn nicht. (Wenn sie für die bezahlte Version bezahlt dann deinstalliert haben Probleme offensichtlich haben werden ...)

Idee 3:

Sie könnten halten beide Anwendungen trennen (eine bezahlte Version und eine kostenlose mit in- App-Käufe), und schieben Sie ein Update auf die kostenpflichtige Version, die nur eine Intent postet, um die In-App-Kauf-App (wenn sie installiert ist) mit einigen speziellen Argumenten zu öffnen, um Sie wissen zu lassen, dass sie es über eine kostenpflichtige App geöffnet haben und das richtige tun etwas, um sie so einzurichten, dass sie dafür in-App bezahlt haben. Das öffnet sich allerdings zu einigen Problemen bei der Erkennung bis ... (Solvable aber irgendwie klobig)

0

Bei Google Play gibt es keinen Unterschied zwischen einer kostenpflichtigen App oder einem kostenlosen Download. Wenn ein Nutzer beispielsweise eine App lädt, während sie kostenlos ist und später auf "Bezahlt" geändert wird, hat der Nutzer weiterhin uneingeschränkten Zugriff darauf und kann ihn sogar auf anderen Geräten herunterladen.

Es gibt einige lahm Abhilfen dafür:

  • aktivieren google play game services auf die kostenpflichtige Version und versuchen, Benutzer zu überzeugen, um eine Verbindung herzustellen. Verwenden Sie Google Play-Dienste zu speichern „gekauft, während bezahlt“ Informationen in die Cloud und es wieder, sobald sich der Benutzer-Logins
  • alle Benutzer geben, die einige Schlüssel gekauft haben, um Funktionen freischalten
  • eine andere erstellen für die kostenlose Version des Spiel

Das sagte, bedenken Sie, dass viele Spiele nach einiger Zeit frei geworden sind. Vielleicht wird es den Benutzern nicht so viel ausmachen.

1

Sie können die vorhandene kostenpflichtige Version beibehalten und eine weitere kostenlose Version erstellen.

Wenn Sie wirklich nicht 2 Versionen haben wollen, machen Sie es einfach kostenlos und sagen Sie den Benutzern etwas wie 'Kontaktieren Sie uns, wenn Sie die kostenpflichtige Version gekauft haben. Wir geben Ihnen Code einlösen, um xxx zu entsperren.

0

https://developer.android.com/distribute/tools/launch-checklist.html#decide-price

Dieser Link relevant erscheint, hoffe, es

Auf Google hilft Spielen, können Sie Apps veröffentlichen als frei zum Download oder zum Preis. Kostenlose Apps können von jedem Android-Nutzer in Google Play heruntergeladen werden. Bezahlte Apps können nur von Nutzern heruntergeladen werden, die sich in einem Land befinden, das kostenpflichtige Downloads unterstützt, und bei Google Play ein Zahlungsmittel registriert haben, z. B. eine Kreditkarte oder die direkte Abrechnung über Mobilfunkanbieter.

Die Entscheidung, ob Ihre Apps kostenlos oder kostenpflichtig sein sollen, ist wichtig, da kostenlose Apps bei Google Play kostenlos bleiben müssen.

Sobald Sie eine App als kostenlose App veröffentlicht haben, können Sie sie nicht zu einer kostenpflichtigen App ändern. Sie können jedoch weiterhin In-App-Produkte und Abonnements über den In-App-Abrechnungsdienst von Google Play verkaufen. Wenn Sie Ihre App als kostenpflichtige App veröffentlichen, können Sie sie jederzeit als kostenlose App ändern (aber nicht zu einem anderen Preis ändern). Sie können auch In-App-Produkte und Abonnements verkaufen. Wenn für Ihre App ein Preis festgelegt ist oder Sie In-App-Produkte verkaufen, müssen Sie vor der Veröffentlichung ein Google-Zahlungshändlerkonto einrichten.

0

fühle ich mich der einfachste Weg theese Linie von Codes zu verwenden ist

Dies gibt Ihnen den alten Code Version

SharedPreferences prefs = getSharedPreferences("Name_of_Prefs", MODE_PRIVATE); 
int oldVersionCode = prefs.getInt("version_code", -1); 

Dies gibt Ihnen die aktuelle Version Code

int currentVersionCode = getPackageManager().getPackageInfo(getPackageName(),0).versionCode; 

Jetzt können Sie vergleichen und tun, was Sie wollen. Vergessen Sie nicht, nach jedem Mal mit dieser Codezeile zu aktualisieren

prefs.edit().putInt(PREF_VERSION_CODE_KEY, currentVersionCode).commit(); 
Verwandte Themen