Hintergrund
In meiner App habe ich eine Schaltfläche "Bewerte mich". Es folgt dem üblichen Pfad - der Benutzer klickt ein, startet eine Absicht und öffnet die Liste der App im Play Store. Alles schön und gut. Jetzt möchte ich versuchen, meine App über verschiedene App-Stores (z. B. Amazon) zu verteilen. Wenn der Nutzer also auf die Schaltfläche "Bewerten mich" klickt, möchte ich nicht, dass der Nutzer zum Google Play Store gelangt, sondern zu einem beliebigen anderen Laden, aus dem sie es bekommen haben.
APK Für jedes Geschäft
Dies ist zwar möglich, aber ich denke, es wäre ein Albtraum, dies zu verwalten (wie das Erstellen einer neuen APK für jedes Geschäft jedes Mal, wenn ich ein neues Update herausgebe.
Also suche ich so etwas wie diesen Pseudocode:
if(rate-me button pressed){
if (from Google Play Store){
Go to Google Play Store
}
else if (from Amazon Store){
Go to Amazon Store
}
}
Und so weiter.......
Ich vermute, es gibt einen Weg (den einige Apps sicherlich nutzen müssen), aber ich habe keine Ahnung, wie ich vorgehen soll.
quelle
Antworten:
Ich gehe davon aus, dass Sie in Java schreiben, während Sie für Android schreiben, aber wenn Sie dies nicht tun, können Sie Methoden in der Sprache Ihrer Wahl nachschlagen, um das gleiche Ergebnis zu erzielen. Da Java keine integrierte Unterstützung für die bedingte Kompilierung bietet, können Sie hier einige recht einfache Dinge tun. Manchmal ist die Low-Tech-Lösung die beste.
Stellen Sie für jeden App Store eine andere App bereit, die aus unterschiedlichem Code kompiliert wurde. So einfach kann es sein. Haben Sie einfach eine globale Zeichenfolge (oder nicht, kapseln Sie sie dort, wo sich die entsprechende Logik befindet) und weisen Sie ihr einfach einen Wert zu, kompilieren Sie sie und stellen Sie sie bereit. So einfach ist das.
Dies kann eine Zeichenfolge, ein Aufzählungswert oder eine Ganzzahl sein. Es spielt keine Rolle - solange jeder Wert pro App Store eindeutig ist. Ich würde eine schnelle, stark typisierte Aufzählung mit Optionen wie "Amazon", "GooglePlay", "XXXX", "ZZZZ", "JJJJ" vorschlagen. Schreiben Sie Skripte, um diesen Wert zu ändern, oder übergeben Sie Kompilierungsflags mit Tools von Drittanbietern, wenn dies automatisiert werden soll.
Automatisieren
Wenn Sie noch einen Schritt weiter gehen möchten, analysieren Sie die Option als Ressourcendatei . Schreiben Sie Skripte, eines für jede Bereitstellung. Haben Sie eine Datei mit dem Namen "store.dat" und schreiben Sie den Wert des Speichers, der bei der Bereitstellung bereitgestellt wird, in die Datei. Wenn Sie unter Linux oder OSX arbeiten, kann dies so einfach sein wie
Erstellen Sie ein Skript, um alle diese Skripte im Sperrschritt auszuführen, und Sie haben eine robuste, automatisierte Lösung.
quelle
Versuche dies:
quelle