Tester für App gesucht

  • 9 Antworten
  • Letztes Antwortdatum
F

FTSPgames

Neues Mitglied
0
Hi,

ich suche Tester für eine Mathe Lern App im geschlossenen Test. Voraussetzung ist die App mind. 14 Tage installiert zu lassen, besser etwas länger weil ich meine die 12 notwendigen Tester müssen parallel zueinander aktiv sein. Über tatsächliches "Testen" (=Grundschulmathe+einfaches Spiel kombiniert) und eine gute Bewertung würde ich mich natürlich freuen, ist aber kein Muss...wer helfen mag schickt mir einfach seine Mailadresse die mit einem Playstore verbunden ist. Ich trage diese dann in eine Google Gruppe und bei Google als Tester ein, so dass ihr die App installieren könnt.

Für alle die sich auskennen: Ich bekomme beim Einlösen der Gutscheine für die App den Fehler PRS-RPCPM-18, weiß jemand woran es liegt? Meine Lösung bisher ist die Tester ins Lizenzprogramm aufzunehmen, so dass sie die App kostenfrei installieren können.

Danke euch und viele Grüße 👋
 
Zuletzt bearbeitet:
Ich bekomme beim Einlösen der Gutscheine für die App den Fehler PRS-RPCPM-18
Wo bekommst du den Fehler ?
Im Log ? Bei der Debug/ReleaseVersion ? ist das Gerät als Testdevice registriert ?

Meine Lösung bisher ist die Tester ins Lizenzprogramm aufzunehmen, so dass sie die App kostenfrei installieren können.
Für diese Tests solltest du auch keine Paywall mitliefern - also raus damit
 
Zuletzt bearbeitet:
@swa00 ja ist über eine Google Gruppe eingetragen, das führt aber beim Einlösen des Codes, egal ob global oder direkt beim App Kauf zu diesem Fehler (also der der es installieren will mit dem Code bekommt den Fehler, nicht ich als Entwickler)

Ich habe dazu die Info bekommen dass man schon beim geschlossenen Test was verlangen muss wenn man das später evtl. möchte:
  • Geschlossener Test & kostenpflichtige App: Tester müssen zahlen. Ausnahme: Interner Test – dort können Tester eine kostenpflichtige App gratis installieren.
 
Zuletzt bearbeitet:
Alles richtig, Du befindest dich aber noch in der "UpcommingPhase" bei Google, weshalb ich dir angeraten habe die Paywall (resp. BillingLibrary) bei dieser Phase auszuklammern , das funktioniert in vielen Fällen dann noch nicht und verprellt dir die Tester .

Und was den Fehler ansich betrifft, bitte ich nochmal um die Beantwortung des ersten Teils -
Was sagt das Response JSON ? (Beim Lizenzgerät)
 
Zuletzt bearbeitet:
Wie klammere ich das denn aus ohne dass ich mir die Möglichkeit verbaue es später als Kauf anzubieten?

Und wo finde ich dieses Response JSON ?

Danke dir
 
Wie klammere ich das denn aus ohne dass ich mir die Möglichkeit verbaue es später als Kauf anzubieten?
Du hast es doch eingebunden und je nach Rückmeldung setzt du doch deine OptionsFlags - also dort

Und wo finde ich dieses Response JSON ?
Die Billing library liefert dir ein komplettes Json zurück, worauf du reagierst.
(Gutschein , Zahlung , Zeitraum, Preise, Erstattungen etc . )
Das hast du doch auch integriert.

Ich frage einmal anders herum : Womit hast du denn die App erstellt ?
(Umgebung, Codesprache etc. )
 
@swa00 Nein, also im Code habe ich das alles nicht integriert. Basiert auf Android Studio und WebView (.html+Sounddateien) und wenn Bezahlung dann einmal bei Appkauf, also über den Playstore. Für Abo oder in App Käufe wäre der Weg natürlich nicht möglich, da müsste man es integrieren so wie du wahrscheinlich meinst.
 
Zuletzt bearbeitet:
Langsam ernährt sich das Eichhörnchen - diese Info hast du leider weg gelassen :)

  • Du hast also eine grundsätzlich kostenpflichtige App, die ohne Zahlung nicht installiert werden kann
  • Es gibt somit keine "Probierphase" für den Nutzer
  • Er hätte maximal nur 2 Stunden Zeit, eine Erstattung zu beantragen

Deine TestUser willst du jetzt mit einem Gutschein ausstatten , damit sie die App installieren können.

Ist das jetzt Richtig ?

Dann nochmal die Frage aus Post #2 - Wer oder was gibt dir die Meldung PRS-RPCPM-18 aus ?
Das hört sich nach einem Fehler an, den nur den internen Test betrifft und von Google ausgegeben wird ( undokumentiert)

Was hindert dich daran, den TestNutzern gleich die APp erst mal kostenlos zur Verfügung zu stellen und erst das Release kostenpflichtig zu upgraden ?
 
Zuletzt bearbeitet:
Das stimmt soweit.

Der Fehler kommt in kleiner roter Schrift direkt in dem Feld "Code einlösen" im Playstore, direkt unterhalb dem Feld wo man den Code eingegeben hat. Beim internen Test war die App noch kostenlos, da war der Fehler nicht relevant.

Das mit dem kostenlos hatte ich doch oben geschrieben, dass ich die Info bekommen habe dass "geschlossene Tests" kostenpflichtig sein müssen wenn die App das später evtl. sein soll. Da es meine 1. App ist und ich nichts falsch machen will und der Weg über die Promo Codes auch sinnvoll und einfach klingt, habe ich gar nicht drüber nachgedacht es anders zu machen.
Deshalb auch nun der Weg über den Eintrag als Lizenztester, der auch zu funktionieren scheint...
 
Der Fehler kommt in kleiner roter Schrift direkt in dem Feld "Code einlösen" im Playstore, direkt unterhalb dem Feld wo man den Code eingegeben hat.
Also ein Fehler direkt aus dem System-Billing-Service und nicht im Package - Danke für die Info.

Vorweg :
Google behandelt grundsätzlich diese Vorgänge unterschiedlich und da ich mich noch nie in der 14 tägigen Erprobungsphase befunden habe, kann ich das auch leider nicht nachproduzieren.


dass ich die Info bekommen habe dass "geschlossene Tests" kostenpflichtig sein müssen wenn die App das später evtl. sein soll.
Ja, aber den Preis bestimmst du selbst - Versuche daher einmal 0,-- Euro.

Dennoch würde ich hier anraten, die Billing-Library zu verwenden.
Die 10 Minuten Arbeit machen ja den Kohl nicht Fett und lassen dich weitaus flexibler agieren.

Hier für Dich ein rudimentäres Beispiel:

Java:
 @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Listener für Käufe
        PurchasesUpdatedListener purchasesUpdatedListener = (billingResult, purchases) -> {
            if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK && purchases != null) {
                for (Purchase purchase : purchases) {
                    // Kauf erfolgreich -> hier z. B. Entitlement freischalten
                }
            }
        };

        // BillingClient erstellen
        billingClient = BillingClient.newBuilder(this)
                .enablePendingPurchases()
                .setListener(purchasesUpdatedListener)
                .build();

        // Verbindung starten
        billingClient.startConnection(new BillingClientStateListener() {
            @Override
            public void onBillingServiceDisconnected() {
                // später erneut verbinden
            }

            @Override
            public void onBillingSetupFinished(BillingResult billingResult) {
                if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
                    queryProduct();
                }
            }
        });
    }

    private void queryProduct() {
        List<QueryProductDetailsParams.Product> productList = new ArrayList<>();
        productList.add(
                QueryProductDetailsParams.Product.newBuilder()
                        .setProductId("mein_inapp_produkt")   // ID aus der Play Console
                        .setProductType(BillingClient.ProductType.INAPP)
                        .build()
        );

        QueryProductDetailsParams params = QueryProductDetailsParams.newBuilder()
                .setProductList(productList)
                .build();

        billingClient.queryProductDetailsAsync(params, new ProductDetailsResponseListener() {
            @Override
            public void onProductDetailsResponse(BillingResult billingResult, List<ProductDetails> productDetailsList) {
                if (!productDetailsList.isEmpty()) {
                    productDetails = productDetailsList.get(0);
                    // z. B. Button aktivieren, um Kauf zu starten
                    startPurchase();
                }
            }
        });
    }

    private void startPurchase() {
        if (productDetails == null) return;

        BillingFlowParams.ProductDetailsParams productDetailsParams =
                BillingFlowParams.ProductDetailsParams.newBuilder()
                        .setProductDetails(productDetails)
                        .build();

        List<BillingFlowParams.ProductDetailsParams> productDetailsParamsList = new ArrayList<>();
        productDetailsParamsList.add(productDetailsParams);

        BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder()
                .setProductDetailsParamsList(productDetailsParamsList)
                .build();

        billingClient.launchBillingFlow(this, billingFlowParams);
    }
}


Zumal sei die Anmerkung aus Erfahrung erlaubt :
Eine vor dem Download kostenpflichtige App wird i.d.R. vom Markt nicht angenommen - da würde ich nochmal drüber nachdenken.
Auch wenn du in deinem Falle laufende Hostinggebühren aufwendest.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Nightly

Ähnliche Themen

migi01
Antworten
26
Aufrufe
2.061
migi01
migi01
M
Antworten
21
Aufrufe
1.416
swa00
swa00
Mr-Fisch
Antworten
0
Aufrufe
532
Mr-Fisch
Mr-Fisch
Mr-Fisch
Antworten
8
Aufrufe
1.032
Mr-Fisch
Mr-Fisch
6
Antworten
4
Aufrufe
994
626100
6
Zurück
Oben Unten