2012-08-09 4 views
6

ich derzeit ein Puzzle-Spiel für Android entwickle, und ich möchte die folgenden Eigenschaften haben, wenn beendet:Wie Sie sich richtig, eine Anwendung sichern, die in-App nutzt Einkäufe und lokale DB

  • Free (ad spielen -geträgerten) so eine aktive Internetverbindung erforderlich ist (nicht in der Lage, wenn nicht in der Lage zu spielen Anzeigen schalten)
  • In-App-Kauf-Option, um Anzeigen zu entfernen und Konnektivitätsprüfung
  • In-App-Käufe für zusätzliche Inhalte

aber mir, dass es klar viele Fragen, die von meinen Anforderungen stammen ...

  1. Ist es eine gute Idee, eine einzige Version und bietet die Möglichkeit, zu entfernen Anzeigen über einen In-App-Kauf haben, anstatt 2 Versionen des Spiels im Play Store? Vielleicht ist es eine bessere Idee, 2 separate Apps zu haben, aber wie könnte ich dann Daten zwischen den 2 teilen? z.B. Wenn ein Benutzer zusätzliche Inhalte in der kostenlosen Version kauft und sich dann entschließt, die werbefreie Version zu kaufen, möchte ich, dass der Inhalt, den er in der kostenlosen Version gekauft hat, auch in seiner kostenpflichtigen Version verfügbar ist.

  2. Welche Best Practices sollen sicherstellen, dass das Spiel nicht "gehackt" werden kann, um den zusätzlichen Inhalt frei zu bekommen? Ich verstehe, dass neue Inhalte nicht in der ursprünglichen App enthalten sein und separat heruntergeladen werden sollten, sobald der Kauf getätigt wurde. Aber was kann ich tun, um zu verhindern, dass ein Nutzer, der einige Inhalte gekauft hat, diese nicht frei weiterverbreiten kann? Schließlich ruft "Herunterladen zusätzlicher Inhalte" einfach einen Server auf, um Daten zu erhalten, und fügt sie dann der lokalen Datenbank hinzu.

  3. Die einzige Möglichkeit, die Version "Keine Werbung und Offline-Wiedergabe" zu implementieren (ohne 2 Distincts-Version im Play Store), besteht darin, ein einfaches Feld in der lokalen Datenbank zu aktualisieren Clevere Lösung, denn dann könnte ein technisch versierter Anwender dieses Bit einfach selbst wechseln, um die werbefreie Version freizuschalten. Was ist der beste Weg, dies zu verhindern?

Vielen Dank!

p.s. Nun, die Antworten fließen nicht ein ... Upvote diese Frage für mehr Sichtbarkeit, wenn Sie es beantwortet haben möchten!

+0

Sie Menschen in Arbeitsstunden setzen sich Gedanken sind Ihr Spiel zu knacken, um nicht ein paar Dollar zahlen ? – mach

+0

Ja, das ist, was ich endlich zum Abschluss kam lol. Trotzdem, ein interessantes Problem. – ibiza

+0

können Sie diese Techniken verwenden [link] (https://www.airpair.com/android/posts/adding-tampering-detection-to-your-android-app) –

Antwort

1

Nun, es ist sehr unwahrscheinlich, dass ein normaler Benutzer kann überschüssige/Datenpartition (Anwendungsdaten), aber wenn Sie können auf Nummer sicher gehen; Sie können SqlCipher (Transparente 256-Bit-AES-Verschlüsselung von Datenbankdateien) verwenden.

können Sie überprüfen, ist es beispielsweise bei:

http://sqlcipher.net/sqlcipher-for-android/

Danke, Munish

Verwandte Themen