Wenn es schnell gehen soll: Zählen Sie Ihre Keywords in Bytes direkt im Browser, kostenlos, ohne Anmeldung und ohne Upload.
Was Apple sagt (und was man beobachtet)
Die Frage klingt einfach. Apples eigene Seiten sind sich aber nicht einig:
- Die Referenz von App Store Connect beschreibt das Keywords-Feld so: „You can provide up to 100 bytes of content.“ Bytes.
- Die Seite Creating Your Product Page spricht von 100 Zeichen.
- In den Entwicklerforen hat 2022 ein Mitglied des Apple-Teams thailändische Keywords über die API getestet: 100 Zeichen gingen durch, 106 wurden abgelehnt. Und 100 thailändische Zeichen belegen weit mehr als 100 Bytes.
Die Referenzdokumentation sagt also Bytes, und mindestens eine Beobachtung zeigt, dass Zeichen gezählt werden. Solange Apple das nicht klärt, müssen Sie sich für eine Regel entscheiden.
Warum der Unterschied zählt
In UTF-8 belegen lateinische Buchstaben ohne Akzent ein Byte, ein Umlaut oder Akzentbuchstabe zwei, ein japanisches oder thailändisches Zeichen drei.
| Keyword | Zeichen | Bytes |
|---|---|---|
| shopping | 8 | 8 |
| épicerie | 8 | 9 |
| supermarché | 11 | 12 |
| Einkaufsliste | 13 | 13 |
| 買い物リスト | 6 | 18 |
| รายการ | 6 | 18 |
Im Englischen stellt sich die Frage nie. Im Deutschen, Französischen oder Spanischen macht es über eine volle Liste ein paar Bytes aus: Jedes ä, ö, ü oder ß kostet eines mehr. Im Japanischen oder Thailändischen passt nur ein Drittel des Texts ins Feld, wenn Sie Bytes zählen, und dort hat die Wahl der Regel echte Folgen.
Selbst nachzählen
Im Terminal, auf Ihrer fastlane-Datei ($(cat …) entfernt den abschließenden Zeilenumbruch):
printf '%s' "$(cat fastlane/metadata/fr-FR/keywords.txt)" | wc -c # bytes
printf '%s' "$(cat fastlane/metadata/fr-FR/keywords.txt)" | wc -m # characters
wc -m zählt Zeichen gemäß der Locale Ihres Terminals; mit einer Locale ohne UTF-8 liefert es dieselbe Zahl wie wc -c. In Dart:
import 'dart:convert';
final keywords = 'courses,épicerie,liste,famille,partagée';
print(utf8.encode(keywords).length); // 41 bytes
print(keywords.runes.length); // 39 characters
Die Regel, die wir anwenden
Bytes zählen. Das sagt die Referenzdokumentation, und es ist die strengste Option: Ein Feld, das in 100 Bytes passt, passt zwangsläufig in 100 Zeichen und wird daher nie abgelehnt. LocalePilot wendet sie in seiner App-Store-Ansicht an, die beim Tippen zum Beispiel „94 / 100 Bytes“ anzeigt.
Für Japanisch, Chinesisch, Koreanisch oder Thailändisch hat das einen echten Preis: Sie verschenken womöglich Platz. Wenn Ihnen diese Märkte wichtig sind, probieren Sie eine längere Liste in App Store Connect aus: Es lehnt ein zu langes Feld sofort ab, so sehen Sie, was heute durchgeht.
Was nicht von der Einheit abhängt
- Kommas, ohne Leerzeichen drumherum. Jedes Leerzeichen nach einem Komma verschwendet ein Byte.
- Keine Wiederholung von Name und Untertitel. Die meisten ASO-Ratgeber raten davon ab, in den Keywords zu wiederholen, was diese beiden Felder schon sagen.
- Eine Datei pro Sprache. Mit fastlane hat jede Lokalisierung ihre eigene
fastlane/metadata/<locale>/keywords.txt. Die englische Liste Wort für Wort zu übersetzen liefert selten die Begriffe, die Menschen tatsächlich eintippen: Gehen Sie von der Suche in der Zielsprache aus.