App Bundle ID — bu nədir, tətbiq identifikatoru və qeydiyyat

Müəllif: IT Sectr Dərc olunub: 2026-04-17 Oxuma vaxtı: 8 dəq

App Bundle ID — bu Apple və Google ekosistemlərində proqram məhsulunun qeydiyyatı, imzalanması və yayılması üçün istifadə olunan unikal tətbiq identifikatorudur. Hər bir tətbiq layihə yaradılarkən öz Bundle ID-ni alır və bu identifikator bütün həyat dövrü boyu dəyişməz qalır. Apple Developer Documentation-ya görə, Bundle ID xidmətlərin, sertifikatların və imza profillərinin bağlanması üçün istifadə olunur.

Əsas məqamlar

  • App Bundle ID — mağazada hər bir tətbiq üçün unikal olan qlobal identifikator
  • Format reverse domain notation əsasındadır: com.company.appname
  • Qeydiyyat App Store Connect və Google Play Console vasitəsilə aparılır
  • Dəyişiklik Bundle ID-nin yayımlanmadan sonra dəyişdirilməsi yeni tətbiq yaratmadan mümkün deyil
  • Bağlantı xidmətlərin (Push, CloudKit, Firebase) Bundle ID vasitəsilə həyata keçirilməsi

App Bundle ID nədir

Bundle Identifier — bu, tətbiqi əməliyyat sistemində və tətbiq mağazasında birmənalı şəkildə müyyənləşdirən simvol sətri. iOS və macOS-də Bundle ID, Android-də isə Package Name adlanır, funksional olaraq hər ikisi eyni rolu oynayır: cihazda və mağazada tətbiqin unikallığını təmin edir.

Bundle ID-nin təyinatı

Əməliyyat sistemi cihazda tətbiqləri fərqləndirmək üçün Bundle ID-dən istifadə edir. Eyni identifikatora malik iki tətbiq eyni anda quraşdırıla bilməz — sistem onları eyni məhsul kimi qəbul edir. Tətbiq mağazaları da yayımlama zamanı Bundle ID-nin unikallığını yoxlayır.

Tarix və adlandırma standartları

Apple Bundle ID-ni 2008-ci ildə iOS SDK-nın buraxılması ilə təqdim etdi. Reverse domain notation formatı sinif adları konfliktlərinin qarşısını almaq üçün istifadə olunduğu Java-dan (package naming convention) götürülmüşdür. Google bu təcrübəni Android üçün mənimsədi və bu, hər iki mobil ekosistemdə vəhdeti təmin etdi.

PlatformaSahə adıNümunə
iOS/macOSBundle Identifiercom.example.myapp
AndroidPackage Namecom.example.myapp
watchOSBundle Identifiercom.example.myapp.watchkit
tvOSBundle Identifiercom.example.myapp.tvos

Bundle ID formatı necə qurulub

Bundle ID nöqtələrlə ayrılmış bir neçə seqmentdən ibarətdir. Birinci hissə — tərtibatçı və ya şirkətin identifikatoru (com, org, net). İkinci — şirkətin domeni (example, google, apple). Sonrakı seqmentlər tətbiqin və platformanın adını dəqiqləşdirir.

Bundle ID strukturu

Tipik bir Bundle ID com.company.appname kimi görünür. Apple qlobal unikallığı təmin etmək üçün domen adının tərs qeydindən istifadə etməyi tövsiyə edir. Şirkətin domeni yoxdursa, e-poçt istifadəsinə icazə verilir: com.example.myapp və ya org.example.myapp.

  • Seqment 1 — tərs qaydada TLD: com, org, io, net
  • Seqment 2 — şirkət və ya tərtibatçının domeni: google, apple, mycompany
  • Seqment 3 — tətbiqin adı: maps, mail, notes
  • Ɖlavə — platforma və ya genişləndirmə: watchkit, todaywidget

Wildcard Bundle ID

Apple Wildcard Bundle ID-ni dəstəkləyir — ulduz işarəsi olan identifikator şablonu: com.example.*. Belə bir şablon bir şirkətin bir neçə tətbiqi üçün bir App ID-dən istifadə etməyə imkan verir. Wildcard ID inkişaf mərhələsində rahatdır, lakin bəzi Apple xidmətlərinin istifadəsini məhdudlaşdırdığı üçün istehsalat üçün tövsiyə edilmir.

Wildcard məhdudiyyətləri: Push bildirişləri, CloudKit, In-App Purchase və Game Center dəqiq (explicit) Bundle ID tələb edir. com.example.* şablonundan istifadə edərkən bu xidmətlər mövcud deyil. İstehsalat tətbiqləri üçün bütün Apple xidmətlərinin tam funksionallığını təmin etmək üçün həmişə explicit Bundle ID istifadə edin.

Wildcard-dan əlavə, Apple Apple Developer Program-da qeydiyyatdan keçərkən tərtibatçı komandalarına təyin olunan prefiks identifikatorlarını dəstəkləyir. Prefiks (Team ID) avtomatik olaraq bütün App ID və imza profillərinə əlavə edilir. İki fərqli Team ID eyni Bundle ID-ni yarada bilər, lakin cihazda onlar fərqli tətbiqlər hesab olunur.

Bundle ID-nin konsollarda qeydiyyatı

Bundle ID-nin qeydiyyatı — tətbiqi yayımlamadan əvvəl məcburi mərhələdir. Apple ekosistemində qeydiyyat Apple Developer Portal-da Certificates, Identifiers & Profiles bölməsi vasitəsilə aparılır. Google Play-də Bundle ID tətbiq yaradılarkən tərtibatçı konsolunda göstərilir.

Apple Developer Portal-da qeydiyyat

Apple Developer portalında Identifiers bölməsini seçin, Register düyməsini basın və App ID növünü təyin edin. Bundle ID-nin dəqiq adını daxil edin və lazımi capabilities seçin: Push Notifications, CloudKit, Sign in with Apple. Qeydiyyatdan sonra identifikator imza profilləri yaratmaq üçün əlçatan olur.

swift
// Tətbiq kodunda Bundle ID-nin yoxlanması
let bundleID = Bundle.main.bundleIdentifier
print("Cari Bundle ID: \(bundleID ?? "unknown")")

// Yığma şərtləri üçün Bundle ID-nin yoxlanması
if bundleID == "com.example.app.production" {
    // İstehsalat konfiqurasiyası
    Analytics.shared.configure(.production)
}

Google Play Console-da qeydiyyat

Google Play Console Bundle ID-nin əvvəlcədən qeydiyyatını tələb etmir. İdentifikator tətbiq modulunun build.gradle faylında göstərilir və bütün Google Play çərçivəsində unikal olmalıdır. Tətbiq yaradıldıqdan sonra Package Name dəyişdirilə bilməz, ona görə identifikatoru diqqətlə seçin və Google Play-də axtarış vasitəsilə unikallığını yoxlayın. Google silinmiş tətbiqlərin identifikatorlarını azad etmir, buna görə bir dəfə tutulmuş Bundle ID digər tərtibatçılar üçün əlçatmaz qalır.

App Store Connect-də qeydiyyatdan keçərkən mövcud qeydiyyatdan keçmiş identifikatorlar dəstindən Bundle ID göstərilməlidir. Əgər identifikator hələ Apple Developer portalında qeydiyyatdan keçməyibsə, sistem avtomatik olaraq onu yaratmağı təklif edəcək. Qeydiyyatdan sonra Bundle ID komandaya bağlanır və Apple dəstəyinə müraciət etmədən başqa tərtibatçı hesabına köçürülə bilməz. Hər bir Bundle ID müxtəlif mühitlər üçün bir neçə imza profilinə malik ola bilər: Development, Ad Hoc, App Store.

Genişlənmələri olan iOS tətbiqi üçün Bundle ID qeydiyyatı zamanı hər bir komponent ayrıca qeydiyyatdan keçirilməlidir. Vidjetlərin, klaviaturanın, Notification Service və Watch App-in genişlənmələri əsas identifikatordan törəmə öz identifikatorlarına malikdir. App Store Connect App Record yaradılarkən onları bir qrupda birləşdirir, bu da bütün komponentləri bir tətbiq kimi yayımlamağa imkan verir.

Xcode layihəsində Bundle ID konfiqurasiyası

Bundle ID konfiqurasiyası Xcode-da bir neçə yerdə aparılır: Info.plist, Build Settings və Signing & Capabilities. Mərkəzi sahə — tətbiq targetindəki Bundle Identifier. Push bildirişlərindən CloudKit-ə qədər bütün Apple xidmətləri bu identifikatora bağlanır. Səhv göstərilən Bundle ID imza xətalarma və App Store-da yayımlama’nın qeyri-mümkünlüyünə səbəb olur.

Xcode-da Bundle ID-nin dəyişdirilməsi

xml
<!-- Info.plist — layihənin əsas Bundle ID-si -->
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

<!-- Build Settings — PRODUCT_BUNDLE_IDENTIFIER dəyişəni -->
<!-- Debug: com.example.app.dev -->
<!-- Release: com.example.app -->

Xcode Build Settings-də PRODUCT_BUNDLE_IDENTIFIER dəyişənindən istifadə edir. Müxtəlif yığma konfiqurasiyaları üçün fərqli dəyərlər təyin edilə bilər: Debug üçün com.example.app.dev və Release üçün com.example.app. Bu, bir cihazda istehsalat versiyası ilə yanaşı təkmilləşdirmə versiyasının paralel quraşdırılması üçün rahatdır.

Çox məqsədli konfiqurasiya

Əgər tətbiqin genişlənmələri varsa (Notification Service, Widget, Watch App), hər bir genişlənmə suffiksli öz Bundle ID-sini alır. Əsas tətbiq: com.example.app. Vidjet genişlənməsi: com.example.app.widget. Watch App: com.example.app.watchkit. Hər bir identifikator Apple Developer Portal-da ayrıca qeydiyyatdan keçirilir və ayrı imza profili alır. Xcode yığma zamanı bu asılılıqları avtomatik idarə edir.

App Bundle ID və Package Name arasındakı fərqlər

App Bundle ID (Apple) və Package Name (Google) — eyni təyinatlı, lakin iOS və Android ekosistemlərində fərqli istifadə qaydaları olan analoji varlıqlardır. Hər iki identifikator reverse domain notation istifadə edir və rəsmi tətbiq mağazalarında yayımlandıqdan sonra dəyişdirilə bilməz.

Funksional fərqlər

Apple ekosistemində Bundle ID imza profili və sertifikatlarla bağlıdır. Tərtibatçı komandası dəyişərkən Bundle ID App Store Connect vasitəsilə hesablar arasında köçürülə bilər. Android-də Package Name Google Play-də tətbiqə sərt şəkildə bağlanır və tərtibatçı hesabları arasında köçürülə bilməz.

XarakteristikaiOS Bundle IDAndroid Package Name
Maksimum uzunluqMəhdud deyil150 simvol
Seqment ayırıcısıNöqtə (.)Nöqtə (.)
İcazə verilən simvollarA-Z, a-z, 0-9, nöqtə, defisA-Z, a-z, 0-9, nöqtə, alt xətt
WildcardDəstəklənir (*)Dəstəklənmir
Koddakı istifadəBundle.main.bundleIdentifierBuildConfig.APPLICATION_ID

Fərqlərə baxmayaraq, hər iki identifikator kritik rol oynayır: onlar olmadan tətbiqi rəsmi mağazada yayımlamaq mümkün deyil. Tövsiyə cross-platform layihələr üçün — iOS və Android versiyalarında eyni identifikatordan istifadə edin ki, Firebase, Analytics və digər xidmətlərlə inteqrasiya sadələşsin. Bu həm də tərtibatçı komandası üçün naviqasiyanı asanlaşdırır: hər iki layihə üçün bir identifikator CI/CD konfiqurasiyası və mühit qurulumu zamanı qarışıqlığı azaldır.

Flutter və ya React Native istifadə edərək tətbiq hazırlayarkən vahid identifikator xüsusilə vacibdir, çünki kod bazası ümumidir və bir çox avtomatik yığma alətləri hər iki platforma üçün eyni paket adını gözləyir. Firebase layihəsi də iOS və Android üçün bir identifikatora bağlanır, bu da analitika və qəza hesabatının qurulmasını sadələşdirir.

Tez-tez verilən suallar

Tətbiq yayımlandıqdan sonra Bundle ID dəyişdirilə bilərmi?

Bundle ID-nin dəyişdirilməsi App Store və ya Google Play-də yayımlandıqdan sonra mümkün deyil. Sistem yeni identifikatoru tamamilə fərqli bir tətbiq kimi qəbul edəcək. Mövcud məhsulun yenilənməsi üçün Bundle ID tətbiqin bütün həyat dövrü boyu dəyişməz qalmalıdır.

İki tətbiq eyni Bundle ID-yə malik olarsa nə baş verər?

iOS və ya Android cihazı eyni identifikatora malik ikinci tətbiqin birincinin üzərinə quraşdırılmasına icazə verməz. Sistem xəta göstərəcək və mövcud tətbiqi silməyi təklif edəcək. Mağazalarda təkrarlanan Bundle ID ilə yayımlama da bloklanacaq.

Yeni layihə üçün Bundle ID necə düzgün seçilməlidir?

Şirkətinizin reverse domain notation-undan istifadə edin: com.şirkətadı.tətbiqadı. Defislərdən və xüsusi simvollardan qaçının. Əgər tətbiqin genişlənmələri varsa, nöqtə vasitəsilə suffikslər əlavə edin. İdentifikatorun unikal olduğuna və başqa tərtibatçı tərəfindən tutulmadığına əmin olun.

Tətbiqin hər bir genişlənməsi üçün ayrı Bundle ID lazımdır?

Bəli, hər bir genişlənmə — vidjet, Watch App, Notification Service — öz Bundle ID-sini tələb edir. İdentifikatorlar iyerarxiya təşkil edir: com.example.app əsas, com.example.app.widget vidjet üçün, com.example.app.watchkit Watch üçün. Hamısı Apple Developer Portal-da ayrıca qeydiyyatdan keçirilir və valideyn tətbiqlə ümumi App ID istifadə edir.

Apple Developer portalında Bundle ID App ID-dən nə ilə fərqlənir?

Bundle ID — tətbiq kodunda identifikator sətri. App ID — Apple Developer Portal-da Bundle ID-ni daxil edilmiş xidmətlər (capabilities) dəsti ilə birləşdirən obyektdir. App ID Bundle ID əsasında yaradılır və imza profillərinin yaradılması üçün istifadə olunur.

Nəticələr

  • App Bundle ID — iOS və Android ekosistemlərində tətbiqin unikal identifikatoru
  • Format reverse domain notation əsasında qurulur: com.company.appname
  • Dəyişiklik Bundle ID-nin yayımlanmadan sonra dəyişdirilməsi mağazada yeni tətbiq yaratmadan mümkün deyil
  • Wildcard Bundle ID com.example.* inkişaf üçün rahatdır, lakin Push, CloudKit və In-App Purchase ilə uyğun deyil
  • Genişlənmələr nöqtə vasitəsilə suffikslərlə öz Bundle ID-lərini alır
  • Qeydiyyat müvafiq olaraq Apple Developer Portal və Google Play Console-da aparılır
  • Tövsiyə — identifikatoru mənalı seçin, yayımlamadan əvvəl unikallığı yoxlayın

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun