Vor einigen Wochen habe ich mein erstes WordPress-Plugin mit dem Namen „Google Play Appbox“ für jedermann verfügbar gemacht. Ursprünglich war das Plugin nur für den Eigengebrauch entwickelt worden, auf Nachfrage habe ich das ganze etwas weniger hardcoded und dann ins WordPress Plugin Directory geladen. Mit dem Zuspruch für das Plugin habe ich nicht gerechnet – und nun wird das Kapitel „Google Play Appbox“ komplett geschlossen.
Sagt „Hallo“ zu WP-Appbox. WP-Appbox basiert auf der Appbox für Google Play und bietet neben dem Play Store auch weitere Stores an: App Store, Mac App Store, Microsoft Store, Microsoft Edge-Add-Ons, F-Droid, Firefox Erweiterungen, Chrome Web Store, Huawei AppGallery, Steam, Amazon Apps und Opera.
Die Installation ist kinderleicht: ZIP herunterladen, entpacken, auf den Server ziehen und das Plugin über das Backend installieren. Im Anschluss stehen euch neue Buttons zur Verfügung: Ein für jeweils einen App Store, der App Store für iOS und für den Mac sind kombiniert – außerdem gibt es die Möglichkeit, alle Stores unter einem Splitbutton zu nutzen. Für jede App benötigt ihr außerdem eine ID, die ihr in der Regel aus der URL zum App Store extrahieren könnt – ganze Links funktionieren nicht mehr. Kurze Übersicht, was die ID in der URL darstellt:
Amazon Apps:
App Store & Mac App Store:
Chrome Web Store:
Firefox Erweiterungen (keine Themes):
F-Droid:
GOG (Good Old Games):
Google Play Store:
Huawei AppGallery:
Microsoft Edge-Add-Ons:
Microsoft Store (Universal):
Opera Add-ons:
Snapcraft:
Steam:
WordPress Plugins:
Für jeden Store stehen außerdem zwei verschiedene Anzeigeformate zur Verfügung: „Simple Badge“, „Compact Badge“, „Screenshots“ und „Screenshots-Only“. Grundsätzlich wird ein App-Badge immer nach folgendem System aufgerufen:
[ appbox *storename* screenshots *id*]
Wird kein Format angegeben, wird immer das Format ausgewählt, welches für den entsprechenden Store in den Einstellungen ausgewählt wurde. Es ist übrigens egal, in welcher Reihenfolge ihr die Attribute einsetzt. Ob erst das Format, dann den Store und dann die ID oder erst Store, dann Format, dann ID oder sonst was spielt keine Rolle. Kleines Beispiel gefällig? Bitte sehr:
[ appbox appstore screenshots 447119634 ]
[ appbox appstore 1474856599 ]
[ appbox appstore 1187777468 ] (=> entfernte App)
[ appbox appstore bundle 1475746848 ]
[ appbox screenshots 9PB2MZ1ZMB1S microsoftstore ]
[ appbox ifoakfbpdcdoeenechcleahebpibofpc edgeaddons ]
[ appbox googleplay screenshots turbo.client ]
[ appbox appgallery C103174615]
[ appbox firefoxaddon twitter-app ]
[ appbox fdroid org.openhab.habdroid.beta screenshots ]
[ appbox chromewebstore ndjpnladcallmjemlbaebfadecfhkepb ]
[ appbox amazonapps B00CKOYVG8 ]
[ appbox amazonapps B07VYKR4BP ]
[ appbox snapcraft spotify ]
[ appbox steam 359550 ]
[ appbox goodoldgames fallen_enchantress_legendary_heroes ]
[ appbox operaaddons evernote-web-clipper ]
[ appbox wordpress wp-appbox ]
Wer eine Affiliate-ID für PHG/Apple oder Amazon besitzt, der kann diese beim (Mac) App Store und Amazon App Show in den Einstellungen eingeben und mit dem Plugin nutzen. Auch wurden zwei große Mängel am „Google Play Appbox“-Plugin beseitigt: Zum einen werden sämtliche Daten gecacht, was den Vorteil hat, dass man keine „leeren“ Badges aufgrund von Spam-Sperren zum Beispiel von Google erhält. Zum anderen wird nun bei kleineren Screens der QR-Code und der Download-Button ausgeblendet, wodurch es alles auch auf kleineren Displays sauberer aussehen sollte.
Die Entwicklung läuft natürlich auch immer weiter. Es kann ebenso vorkommen, dass irgendwann mal etwas nicht mehr funktioniert. Das Plugin scannt prinzipiell immer die Webseite der entsprechenden App im Store und verarbeitet das HTML. Ändert ein Anbieter etwas an der Struktur, findet das Plugin dementsprechend nichts mehr. Sollte so etwas vorkommen, werden Korrekturen natürlich so schnell wie möglich vorgenommen. Auch weitere Features KÖNNEN hinzukommen, MÜSSEN aber nicht. Mal schauen was die Zeit so bringt…
Ganz wichtig, für alle, die einen Fehler erhalten sollten (zum Beispiel eine leere Seite oder ähnliches):
Sollte irgendetwas nicht funktionieren, bitte überprüft die folgenden Dinge: Läuft auf eurem Server mindestens PHP 5.3? Ist cURL aktiviert? Wird mb_eregi unterstützt? Könnt ihr über eine php-info-Abfrage herausfinden – läuft es nicht, solltet ihr euren Hoster kontaktieren.