2014-09-11 1 views
7

Ich versuche die neueste Version der Amazon IAP API in meine Android 4+ App zu integrieren. Alles scheint gut zu funktionieren, wenn die App auf meine Testgeräte (Nexus 5 und Kindle Fire) geladen und mit dem Amazon App Tester verwendet wird. Die IAPs können ohne Probleme erworben werden.Amazon IAP SDK: Keine Antwort beim Testen von IAPs im Live App Test

Wissen, ich habe eine "Live App Testing" Version der App in den Amazon Store hochgeladen und auf meinen Testgeräten installiert. Das Ausführen dieser Versionen von IAPs ist nicht möglich.

Dies ist das Protokoll ausgegeben, wenn die Version mit Sideload App Tester mit:

D/PTLog  (14109): IAPManager - init - using Amazon 

D/d   (14109): In App Purchasing SDK - Sandbox Mode: PurchasingListener registered: [email protected] 
D/d   (14109): In App Purchasing SDK - Sandbox Mode: PurchasingListener Context: xyz 
D/c   (14109): In App Purchasing SDK - Sandbox Mode: sendPurchaseUpdatesRequest/sendGetUserData first:GET_USER_ID_FOR_PURCHASE_UPDATES_PREFIX:1:fca787d5-4b9d-42e4-840f-ff28f3d13ac4 
W/ContextImpl(14109): Implicit intents with startService are not safe: Intent { act=com.amazon.testclient.iap.appUserId flg=0x10000000 (has extras) } android.content.ContextWrapper.startService:494 com.amazon.device.iap.internal.a.c.a:87 com.amazon.device.iap.internal.a.c.a:150 
D/c   (14109): In App Purchasing SDK - Sandbox Mode: sendItemDataRequest 
W/ContextImpl(14109): Implicit intents with startService are not safe: Intent { act=com.amazon.testclient.iap.itemData flg=0x10000000 (has extras) } android.content.ContextWrapper.startService:494 com.amazon.device.iap.internal.a.c.a:137 com.amazon.device.iap.internal.d.a:103 
D/c   (14109): In App Purchasing SDK - Sandbox Mode: handleResponse 
I/c   (14109): sendGetPurchaseUpdates with user idl3HL7XppEMhrOGDnur9-ulvqomrSg6qyODKmah76lJU= 
I/c   (14109): send PurchaseUpdates with user id:l3HL7XppEMhrOGDnur9-ulvqomrSg6qyODKmah76lJU=;reset flag:true, local cursor:null, parsed from old requestId:GET_USER_ID_FOR_PURCHASE_UPDATES_PREFIX:1:fca787d5-4b9d-42e4-840f-ff28f3d13ac4 
W/ContextImpl(14109): Implicit intents with startService are not safe: Intent { act=com.amazon.testclient.iap.purchaseUpdates flg=0x10000000 (has extras) } android.content.ContextWrapper.startService:494 com.amazon.device.iap.internal.a.c.a:421 com.amazon.device.iap.internal.a.c.e:388 
D/c   (14109): In App Purchasing SDK - Sandbox Mode: handleResponse 

Wie Sie das SDK Einkauf initialisiert ganz gut gesehen werden. Nun, wenn die Live-App Testing Version mit dem Log zeigt folgende:

D/PTLog (18032): IAPManager - init - using Amazon 
D/Kiwi (18032): In App Purchasing SDK - Production Mode: d: PurchasingListener registered: [email protected] 
D/Kiwi (18032): In App Purchasing SDK - Production Mode: d: PurchasingListener Context: [email protected] 
D/Kiwi (18032): In App Purchasing SDK - Production Mode: a: sendGetPurchaseUpdates 
D/Kiwi (18032): Kiwi: WARNING: Use of deprecated method detected. 
E/Kiwi (18032): Kiwi: Kiwi subsystem is not fully initialized. Cannot process task. 
D/Kiwi (18032): In App Purchasing SDK - Production Mode: a: sendGetProductDataRequest 
D/Kiwi (18032): Kiwi: WARNING: Use of deprecated method detected. 
E/Kiwi (18032): Kiwi: Kiwi subsystem is not fully initialized. Cannot process task. 

Wie man sehen kann es ein Problem mit dem Einkauf SDK zu sein scheint:

"Kiwi: WARNING: Use of deprecated method detected." 

Es spielt keine Rolle, ob die Live App Testing Version wird auf Kindle oder auf dem Nexus mit der neuesten Version der Amazon Store App verwendet. Das Ergebnis ist genau das gleiche: IAPs sind nicht möglich.

Ist dies ein bekanntes Problem? Wie kann das gelöst werden?

Vielen Dank

+0

könnte schneller Hilfe hier bekommen, http://forums.developer.amazon.com/forums/index.jspa – petey

+0

Bereits versucht, dies natürlich, aber bis jetzt habe ich keine Antwort bekommen. Eigentlich scheint das Amazon-Forum kein guter Ort zu sein, um Hilfe zu bekommen. Ich kontaktierte auch direkt Amazon, bisher auch ohne Feedback. –

+0

Altho die meisten der Foren Beiträge enden mit einer "kontaktieren Sie uns", ich habe positive Erfahrungen gemacht. Vielleicht wäre es einen Versuch wert. – petey

Antwort

4

ich endlich eine Lösung für die Probleme in meiner Frage beschrieben gefunden. Es tut uns leid, dass Sie das nicht früher gepostet haben ...

Es gibt eine hint in the Amazon API docs, die beschreibt, dass es einige Einschränkungen gibt, die man verwenden kann, um den Code zu verschleiern. Es scheint, dass einige API nicht mehr funktioniert, wenn die Verschleierung zu stark ist.

+0

Hallo Ich habe das gleiche Problem in Live App Testing. Meine App verwendet Proguard nicht, daher glaube ich nicht, dass es ein Problem mit der Verschleierung gibt. Auch wenn ich mir die Amazon-Foren anschaue, gibt es keine vernünftige Hilfe, die ich finden kann. Was haben Sie getan, um das Problem zu lösen? – user1785227

+1

Dies ist eine gute Idee zu überprüfen, aber nicht das Problem, das ich habe. FWIW, ich habe '-halte öffentliche Klasse com.amazon. ** {*; } 'in meiner proguard-rules-Datei. – arlomedia

0

Registrieren Sie den Rückruf-Listener von Amazon in MainActivity.onCreate (...)?

PurchasingService.registerListener (this.getApplicationContext(), neu YourCallbackPurchasingListener());

Wenn Sie dies nicht tun, versuchen Sie es.