Aceleniz varsa anahtar kelimelerinizi doğrudan tarayıcınızda bayt cinsinden sayın. Araç ücretsizdir, kayıt istemez ve hiçbir şey yüklemez.
Apple ne diyor (ve insanlar ne gözlemliyor)
Soru basit görünse de Apple'ın kendi sayfaları farklı şeyler söylüyor:
- App Store Connect referansı Keywords alanını şöyle tanımlıyor: "You can provide up to 100 bytes of content." Bayt.
- Creating Your Product Page sayfası 100 karakterden söz ediyor.
- Geliştirici forumlarında, 2022'de bir Apple ekip üyesi API üzerinden Tayca anahtar kelimeleri test etti: 100 karakter kabul edildi, 106 reddedildi. Oysa 100 Tayca karakter 100 bayttan çok daha fazladır.
Yani referans dokümantasyon bayt diyor, en az bir gözlem ise karakterlerin sayıldığını gösteriyor. Apple netleştirene kadar bir kural seçmeniz gerekiyor.
Fark neden önemli
UTF-8'de aksansız Latin harfleri bir bayt, aksanlı bir harf (Türkçedeki ç, ğ, ı, ö, ş, ü dahil) iki bayt, Japonca veya Tayca bir karakter üç bayt yer kaplar.
| Anahtar kelime | Karakter | Bayt |
|---|---|---|
| shopping | 8 | 8 |
| épicerie | 8 | 9 |
| alışveriş | 9 | 12 |
| Einkaufsliste | 13 | 13 |
| 買い物リスト | 6 | 18 |
| รายการ | 6 | 18 |
İngilizcede bu soru hiç gündeme gelmez. Türkçe, Fransızca veya İspanyolcada fark, dolu bir listede birkaç bayttır. Japonca veya Tayca bir listede ise bayt sayarsanız aynı alan üç kat daha az metin alır; seçtiğiniz kural asıl burada fark yaratır.
Kendiniz saymak
Bir terminalde, fastlane dosyanız üzerinde ($(cat …) sondaki satır sonunu atar):
printf '%s' "$(cat fastlane/metadata/fr-FR/keywords.txt)" | wc -c # bayt
printf '%s' "$(cat fastlane/metadata/fr-FR/keywords.txt)" | wc -m # karakter
wc -m karakterleri terminalinizin locale ayarına göre sayar; UTF-8 olmayan bir locale ile wc -c ile aynı sayıyı döndürür. Dart'ta:
import 'dart:convert';
final keywords = 'courses,épicerie,liste,famille,partagée';
print(utf8.encode(keywords).length); // 41 bytes
print(keywords.runes.length); // 39 characters
Uyguladığımız kural
Bayt sayın. Referans dokümantasyon bunu söyler ve en katı seçenek de budur: 100 bayta sığan bir alan 100 karaktere de mutlaka sığar, bu yüzden reddedilmez. LocalePilot bunu App Store sayfası ekranında uygular; siz yazarken örneğin "94 / 100 bayt" gösterir.
Japonca, Çince, Korece veya Tayca için bunun gerçek bir bedeli var: kullanılmayan alan bırakıyor olabilirsiniz. Bu pazarlar sizin için önemliyse App Store Connect'te daha uzun bir liste deneyin: fazla uzun bir alanı hemen reddeder, böylece bugün neyin kabul edildiğini öğrenirsiniz.
Birim ne olursa olsun
- Virgüller, çevresinde boşluk olmadan. Virgülden sonraki her boşluk boşuna bir bayt harcar.
- Uygulama adınızı ve alt başlığınızı tekrarlamayın. ASO rehberlerinin çoğu, bu iki alanın zaten söylediklerini anahtar kelimelerde tekrarlamamayı önerir.
- Her dil için bir dosya. fastlane ile her yerelleştirmenin kendi
fastlane/metadata/<locale>/keywords.txtdosyası vardır. İngilizce listeyi kelimesi kelimesine çevirmek, insanların gerçekten yazdığı terimleri nadiren verir: hedef dildeki aramalardan yola çıkın.