2014-04-24 3 views
7

Nun habe ich viel Zeit über "Entwickler Payload" gelesen Aber ich bin nicht klar zu verstehen, was für "Entwickler Payload" verwendet wird. So versuche ich dies als leer wie folgt zu verwenden:Was wird passieren, wenn "Entwickler-Payload" leer bleibt Google Play In-App Billing

public void onUpgradeAppButtonClicked(String SKU) { 
    Log.d(TAG,"Upgrade button clicked; launching purchase flow for upgrade."); 

    /* 
    * TODO: for security, generate your payload here for verification. See 
    * the comments on verifyDeveloperPayload() for more info. Since this is 
    * a SAMPLE, we just use an empty string, but on a production app you 
    * should carefully generate this. 
    */ 
    String payload = ""; 

    mHelper.launchPurchaseFlow(this, SKU, RC_REQUEST, 
      mPurchaseFinishedListener, payload); 
} 

Und:

boolean verifyDeveloperPayload(Purchase p) { 
    String payload = p.getDeveloperPayload(); 
    return true; 
} 

So habe ich ein Bild machen. für 3 Situationen. Ich möchte lernen, was nach dem Zustand

enter image description here

+0

Ich bin mir nicht sicher, ob ich verstehe, wie sich Ihr Diagramm auf die Frage bezieht. Können Sie erklären, wonach der Diagrammteil fragt? – Kat

+0

Gut im Diagramm gibt es 3 Situationen. Ich frage, was passiert, wenn Benutzer ein Produkt in diesen drei Situationen kaufen. Ersteres, wenn Benutzer meine App auf einem anderen Gerät mit demselben Konto geöffnet hat. Zweitens, wenn ein anderer Nutzer meine App auf demselben Gerät mit einem anderen Konto verwendet. Drittens gibt es irgendwelche verwandten zwischen jedem Benutzer – mehmet

+0

Ich sehe. Es gibt vielleicht zwei unterschiedliche Vorstellungen von Benutzern. Es gibt den Nutzer für Google Play, dessen Google-Konto mit dem Artikel verknüpft ist. Ihre App könnte einen separaten Benutzerbegriff haben. Von wem sprichst du? – Kat

Antwort

5

Ja, die meisten möglichen Scheiße tritt bei Szenario 2.

Aber wie viele Benutzer auf Szenario 2? Ich denke, es wären nicht viele. Die meisten Menschen teilen ihre Geräte nicht.

Aber ich denke über eine weitere Crack-Möglichkeit nach, wenn diese Payload-Zeichenfolge leer gelassen wird. Es wäre leicht, es zu knacken.

Das einzige, was mich wütend macht, ist, dass dieses Ding auf Google API-Seite sein sollte. Die Aufgabe von Google besteht darin, zu überprüfen, wer den Artikel gekauft hat. Warum brauchen wir unseren eigenen Server?

1
passieren wird

Es ist nicht erforderlich, aber es wird empfohlen. Laut der Dokumentation können Sie eine leere Zeichenfolge senden, obwohl ich mir über null nicht sicher bin. Aus Sicherheitsgründen ist es jedoch ratsam. Sie können die Payload verwenden, um zu überprüfen, ob der Kauf zum Beispiel von dem gewünschten Benutzer getätigt wurde. Siehe Abrechnung Security Best Practices

+0

Was Sie über mein Diagramm denken. Für meine Baumsituationen schrieb ich meinen Gedanken auf der rechten Seite. Ist das wahr – mehmet

2

Sie sollten ein Zeichenfolgen-Token übergeben, das Ihrer Anwendung bei der Identifizierung des Benutzers, der den Kauf getätigt hat, hilft, damit Sie später überprüfen können, ob es ein rechtmäßiger Kauf durch diesen Benutzer ist.

Betrachten Sie dies als eine Quittung. Wenn ein Kunde kam und einen Artikel oder eine Garantie zurückgeben wollte, sollten Sie sicher sein, dass der Beleg nicht zu Hause gedruckt wurde. Mit diesem Token können Sie Betrug verhindern.

Verwandte Themen