App Bundle ID — ano ito, identifier ng aplikasyon at pagpaparehistro

May-akda: IT Sectr Nai-publish: 2026-04-17 Oras ng pagbabasa: 8 min

App Bundle ID — ay isang natatanging identifier ng aplikasyon na ginagamit sa mga ekosistema ng Apple at Google para sa pagpaparehistro, pagpirma at pamamahagi ng software product. Ang bawat aplikasyon ay tumatanggap ng sarili nitong Bundle ID sa paggawa ng proyekto, at ang identifier na ito ay nananatiling hindi nagbabago sa buong lifecycle. Ayon sa Apple Developer Documentation, ang Bundle ID ay ginagamit para sa pag-link ng mga serbisyo, sertipiko at mga profile sa pagpirma.

Mga Pangunahing Punto

  • App Bundle ID — pandaigdigang identifier, natatangi para sa bawat aplikasyon sa tindahan
  • Format batay sa reverse domain notation: com.company.appname
  • Pagpaparehistro ay ginagawa sa App Store Connect at Google Play Console
  • Pagbabago ng Bundle ID pagkatapos ng paglathala ay imposible nang hindi gumagawa ng bagong aplikasyon
  • Pag-link ng mga serbisyo (Push, CloudKit, Firebase) ay ginagawa sa pamamagitan ng Bundle ID

Ano ang App Bundle ID

Bundle Identifier — ay isang string na natatanging kumikilala sa aplikasyon sa operating system at app store. Sa iOS at macOS ito ay tinatawag na Bundle ID, sa Android — Package Name, kahit na functionally pareho silang gumaganap ng parehong papel: tinitiyak ang pagiging natatangi ng aplikasyon sa device at sa tindahan.

Layunin ng Bundle ID

Ginagamit ng operating system ang Bundle ID upang pag-ibahin ang mga aplikasyon sa device. Dalawang aplikasyon na may parehong identifier ay hindi maaaring i-install nang sabay — itinuturing sila ng system bilang parehong produkto. Sinusuri rin ng mga app store ang pagiging natatangi ng Bundle ID sa paglathala.

Kasaysayan at mga pamantayan sa pagpapangalan

Ipinakilala ng Apple ang Bundle ID sa paglabas ng iOS SDK noong 2008. Ang format na reverse domain notation ay kinuha mula sa Java (package naming convention), kung saan ito ginagamit upang maiwasan ang mga salungatan sa pangalan ng klase. Pinagtibay ng Google ang kasanayang ito para sa Android, na tiniyak ang pagkakapareho sa parehong ekosistema ng mobile.

PlatformPangalan ng fieldHalimbawa
iOS/macOSBundle Identifiercom.example.myapp
AndroidPackage Namecom.example.myapp
watchOSBundle Identifiercom.example.myapp.watchkit
tvOSBundle Identifiercom.example.myapp.tvos

Paano nakaayos ang format ng Bundle ID

Bundle ID ay binubuo ng ilang segment na pinaghihiwalay ng tuldok. Ang unang bahagi — identifier ng developer o kumpanya (com, org, net). Pangalawa — domain ng kumpanya (example, google, apple). Ang mga sumusunod na segment ay tumutukoy sa pangalan ng aplikasyon at platform.

Istraktura ng Bundle ID

Ang tipikal na Bundle ID ay mukhang com.company.appname. Inirerekomenda ng Apple ang paggamit ng reverse notation ng domain name upang garantiya ang pandaigdigang pagiging natatangi. Kung walang domain ang kumpanya, pinapayagan ang paggamit ng email: com.example.myapp o org.example.myapp.

  • Segment 1 — TLD sa reverse order: com, org, io, net
  • Segment 2 — domain ng kumpanya o developer: google, apple, mycompany
  • Segment 3 — pangalan ng aplikasyon: maps, mail, notes
  • Karagdagan — platform o extension: watchkit, todaywidget

Wildcard Bundle ID

Sinusuportahan ng Apple ang Wildcard Bundle ID — isang template ng identifier na may asterisk: com.example.*. Ang ganitong template ay nagpapahintulot sa paggamit ng isang App ID para sa maraming aplikasyon ng isang kumpanya. Ang Wildcard ID ay maginhawa sa yugto ng pag-develop, ngunit hindi inirerekomenda para sa produksyon dahil nililimitahan nito ang paggamit ng ilang serbisyo ng Apple.

Mga limitasyon ng wildcard: Push Notifications, CloudKit, In-App Purchase at Game Center ay nangangailangan ng eksplicit (explicit) Bundle ID. Kapag ginagamit ang template na com.example.*, ang mga serbisyong ito ay hindi available. Para sa mga production application, laging gumamit ng explicit Bundle ID upang matiyak ang buong functionality ng lahat ng serbisyo ng Apple.

Bukod sa wildcard, sinusuportahan ng Apple ang prefix identifier na itinatalaga sa mga development team sa pagpaparehistro sa Apple Developer Program. Ang prefix (Team ID) ay awtomatikong idinaragdag sa lahat ng App ID at mga profile sa pagpirma. Dalawang magkaibang Team ID ay maaaring lumikha ng parehong Bundle ID, ngunit sa device sila ay itinuturing na magkaibang mga aplikasyon.

Pagpaparehistro ng Bundle ID sa mga console

Pagpaparehistro ng Bundle ID — isang mandatoryong yugto bago ang paglathala ng aplikasyon. Sa ekosistema ng Apple, ang pagpaparehistro ay ginagawa sa Apple Developer Portal sa pamamagitan ng section na Certificates, Identifiers & Profiles. Sa Google Play, ang Bundle ID ay tinutukoy sa paggawa ng aplikasyon sa console ng developer.

Pagpaparehistro sa Apple Developer Portal

Sa portal ng Apple Developer, piliin ang section na Identifiers, i-click ang Register button at tukuyin ang uri ng App ID. Ilagay ang eksaktong pangalan ng Bundle ID at piliin ang mga kinakailangang capabilities: Push Notifications, CloudKit, Sign in with Apple. Pagkatapos ng pagpaparehistro, ang identifier ay nagiging available para sa paggawa ng mga profile sa pagpirma.

swift
// Sinusuri ang Bundle ID sa code ng aplikasyon
let bundleID = Bundle.main.bundleIdentifier
print("Kasalukuyang Bundle ID: \(bundleID ?? "unknown")")

// Sinusuri ang Bundle ID para sa mga kondisyon ng compilation
if bundleID == "com.example.app.production" {
    // Configuration ng produksyon
    Analytics.shared.configure(.production)
}

Pagpaparehistro sa Google Play Console

Google Play Console ay hindi nangangailangan ng paunang pagpaparehistro ng Bundle ID. Ang identifier ay tinutukoy sa build.gradle file ng module ng aplikasyon at dapat na natatangi sa buong Google Play. Pagkatapos gawin ang aplikasyon, imposible ang pagbabago ng Package Name, kaya piliin ang identifier nang maingat at suriin ang pagiging natatangi nito sa pamamagitan ng paghahanap sa Google Play. Hindi pinapalaya ng Google ang mga identifier ng mga tinanggal na aplikasyon, kaya ang isang beses na kinuha na Bundle ID ay nananatiling hindi available para sa ibang mga developer.

Sa pagpaparehistro sa App Store Connect, dapat tukuyin ang isang Bundle ID mula sa umiiral na set ng mga rehistradong identifier. Kung ang identifier ay hindi pa rehistrado sa Apple Developer portal, ang system ay mag-aalok na awtomatikong likhain ito. Pagkatapos ng pagpaparehistro, ang Bundle ID ay nakatali sa team at hindi maililipat sa ibang developer account nang hindi nakikipag-ugnayan sa suporta ng Apple. Ang bawat Bundle ID ay maaaring magkaroon ng maraming profile sa pagpirma para sa iba't ibang kapaligiran: Development, Ad Hoc, App Store.

Sa pagpaparehistro ng Bundle ID para sa iOS application na may mga extension, bawat component ay dapat na rehistradong hiwalay. Ang mga extension ng widget, keyboard, Notification Service at Watch App ay may sariling identifier na nagmula sa pangunahing identifier. Pinagsasama sila ng App Store Connect sa isang grupo sa paggawa ng App Record, na nagpapahintulot sa paglathala ng lahat ng component bilang isang aplikasyon.

Pagsasaayos ng Bundle ID sa Xcode project

Pagsasaayos ng Bundle ID sa Xcode ay ginagawa sa maraming lugar: Info.plist, Build Settings at Signing & Capabilities. Ang sentral na field — Bundle Identifier sa target ng aplikasyon. Lahat ng serbisyo ng Apple, mula Push Notifications hanggang CloudKit, ay naka-link sa identifier na ito. Ang maling tinukoy na Bundle ID ay humahantong sa mga error sa pagpirma at imposibilidad ng paglathala sa App Store.

Pagbabago ng Bundle ID sa Xcode

xml
<!-- Info.plist — batayang Bundle ID ng proyekto -->
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

<!-- Build Settings — variable na PRODUCT_BUNDLE_IDENTIFIER -->
<!-- Debug: com.example.app.dev -->
<!-- Release: com.example.app -->

Ginagamit ng Xcode ang variable na PRODUCT_BUNDLE_IDENTIFIER sa Build Settings. Para sa iba't ibang configuration ng compilation, maaaring itakda ang iba't ibang halaga: com.example.app.dev para sa Debug at com.example.app para sa Release. Ito ay maginhawa para sa parallel na pag-install ng development version sa tabi ng production version sa parehong device para sa pagsubok.

Multi-target configuration

Kung ang aplikasyon ay may mga extension (Notification Service, Widget, Watch App), bawat extension ay tumatanggap ng sarili nitong Bundle ID na may suffix. Pangunahing aplikasyon: com.example.app. Extension ng widget: com.example.app.widget. Watch App: com.example.app.watchkit. Bawat identifier ay rehistradong hiwalay sa Apple Developer Portal at tumatanggap ng hiwalay na profile sa pagpirma. Awtomatikong pinamamahalaan ng Xcode ang mga dependency na ito sa compilation.

Mga pagkakaiba ng App Bundle ID at Package Name

App Bundle ID (Apple) at Package Name (Google) — ay mga analog na entity na may parehong layunin, ngunit may iba't ibang mga patakaran sa paggamit sa iOS at Android ekosistema. Parehong identifier ay gumagamit ng reverse domain notation at hindi mababago pagkatapos ng paglathala sa mga opisyal na app store.

Mga functional na pagkakaiba

Sa ekosistema ng Apple, ang Bundle ID ay naka-link sa profile sa pagpirma at mga sertipiko. Sa pagbabago ng development team, ang Bundle ID ay maililipat sa pagitan ng mga account sa pamamagitan ng App Store Connect. Sa Android, ang Package Name ay mahigpit na nakatali sa aplikasyon sa Google Play at hindi maililipat sa pagitan ng mga developer account.

KatangianiOS Bundle IDAndroid Package Name
Pinakamataas na habaWalang limitasyon150 character
Paghihiwalay ng segmentTuldok (.)Tuldok (.)
Mga pinapayagang characterA-Z, a-z, 0-9, tuldok, gitlingA-Z, a-z, 0-9, tuldok, underscore
WildcardSinusuportahan (*)Hindi sinusuportahan
Paggamit sa codeBundle.main.bundleIdentifierBuildConfig.APPLICATION_ID

Sa kabila ng mga pagkakaiba, parehong identifier ay gumaganap ng kritikal na papel: kung wala ang mga ito, imposible ang paglathala ng aplikasyon sa opisyal na tindahan. Rekomendasyon para sa cross-platform projects — gamitin ang parehong identifier sa iOS at Android na mga bersyon upang pasimplehin ang integrasyon sa Firebase, Analytics at iba pang serbisyo. Pinapadali din nito ang nabigasyon para sa development team: isang identifier para sa parehong proyekto ay nagbabawas ng kalituhan sa pag-configure ng CI/CD at mga kapaligiran.

Sa pag-develop gamit ang Flutter o React Native, ang isang pare-parehong identifier ay lalong mahalaga dahil ang code base ay magkabahagi at maraming automatic compilation tool ay umaasa sa parehong package name para sa parehong platform. Ang Firebase project ay naka-link din sa isang identifier para sa iOS at Android, na nagpapasimple sa pag-configure ng analytics at pag-uulat ng error.

Mga Madalas Itanong

Maaari bang baguhin ang Bundle ID pagkatapos ng paglathala ng aplikasyon?

Pagbabago ng Bundle ID pagkatapos ng paglathala sa App Store o Google Play ay imposible. Ituturing ng system ang bagong identifier bilang isang ganap na ibang aplikasyon. Para sa pag-update ng umiiral na produkto, ang Bundle ID ay dapat manatiling hindi nagbabago sa buong lifecycle ng aplikasyon.

Ano ang mangyayari kung ang dalawang aplikasyon ay may parehong Bundle ID?

Ang iOS o Android na device ay hindi papayag na i-install ang pangalawang aplikasyon na may parehong identifier sa ibabaw ng una. Magpapakita ang system ng error at mag-aalok na tanggalin ang umiiral na aplikasyon. Sa mga tindahan, ang paglathala na may duplicate na Bundle ID ay haharangin din.

Paano pumili ng tamang Bundle ID para sa bagong proyekto?

Gamitin ang reverse domain notation ng iyong kumpanya: com.pangalangkumpanya.pangalangaplikasyon. Iwasan ang mga gitling at espesyal na character. Kung ang aplikasyon ay may mga extension, magdagdag ng mga suffix sa pamamagitan ng tuldok. Tiyakin na ang identifier ay natatangi at hindi kinuha ng ibang developer.

Kailangan ba ng hiwalay na Bundle ID para sa bawat extension ng aplikasyon?

Oo, bawat extension — widget, Watch App, Notification Service — ay nangangailangan ng sarili nitong Bundle ID. Ang mga identifier ay bumubuo ng isang hierarchy: com.example.app bilang base, com.example.app.widget para sa widget, com.example.app.watchkit para sa Watch. Lahat sila ay rehistradong hiwalay sa Apple Developer Portal at gumagamit ng karaniwang App ID kasama ang parent na aplikasyon.

Ano ang pagkakaiba ng Bundle ID at App ID sa Apple Developer portal?

Bundle ID — ay ang identifier string sa code ng aplikasyon. App ID — ay isang object sa Apple Developer Portal na pinagsasama ang Bundle ID sa isang set ng mga naka-enable na serbisyo (capabilities). Ang App ID ay nilikha batay sa Bundle ID at ginagamit para sa pag-generate ng mga profile sa pagpirma.

Konklusyon

  • App Bundle ID — natatanging identifier ng aplikasyon sa iOS at Android ekosistema
  • Format batay sa reverse domain notation: com.company.appname
  • Pagbabago ng Bundle ID pagkatapos ng paglathala ay imposible nang hindi gumagawa ng bagong aplikasyon sa tindahan
  • Wildcard Bundle ID com.example.* ay maginhawa para sa pag-develop ngunit hindi tugma sa Push, CloudKit at In-App Purchase
  • Mga extension ay tumatanggap ng sariling Bundle ID na may mga suffix sa pamamagitan ng tuldok
  • Pagpaparehistro ay ginagawa sa Apple Developer Portal at Google Play Console ayon sa pagkakabanggit
  • Rekomendasyon — pumili ng identifier nang may pag-iisip, suriin ang pagiging natatangi bago ang paglathala

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din