← Back to list

AppCenter Kapanıyor: Kendi Uygulama Dağıtım Mağazanızı Oluşturun

Bildiğiniz gibi Microsoft AppCenter, bu ay sonunda uygulama dağıtım hizmetlerini sonlandırıyor. Bu durum, birçok geliştirici ve şirket için…

Yusuf Pamukçu in Ford Otosan · 2025-04-14 12:53 · 0 claps · 4.3 min read
#appcenter #app-distribution #appcenteralternative
Open on Medium ↗
Wiki topics: 🔧 · Data Engineering

AppCenter Kapanıyor: Kendi Uygulama Dağıtım Mağazanızı Oluşturun

Bildiğiniz gibi Microsoft AppCenter, bu ay sonunda uygulama dağıtım hizmetlerini sonlandırıyor. Bu durum, birçok geliştirici ve şirket için önemli bir sorun teşkil ediyor. Ancak her zorluk, yeni fırsatlar doğurur. Bu yazımda, AppCenter’a alternatif olarak kendi uygulama dağıtım platformunuzu nasıl oluşturabileceğinizi adım adım anlatacağım.

AppCenter Sonrası Hayat

Microsoft AppCenter, uygulama dağıtımı, test ve analitik konularında geliştiricilere büyük kolaylıklar sağlıyordu. Ancak hizmetin kapanmasıyla birlikte, özellikle kurum içi uygulama dağıtımı yapan ekipler için yeni çözümler gerekiyor.

Peki ya kendi dağıtım platformumuzu oluşturursak? Hem daha fazla kontrol sahibi olur, hem de dış hizmetlere bağımlılığımızı azaltırız.

Neden Kendi Uygulama Dağıtım Platformu?

  • Maliyet Kontrolü: Üçüncü parti hizmetlere ödenen ücretlerden tasarruf
  • Tam Kontrol: Dağıtım sürecinin her aşamasında kontrol sizde
  • Özelleştirme: Kurumunuzun ihtiyaçlarına göre özelleştirilebilir arayüz
  • Bağımsızlık: Dış hizmetlerin kapanma riskinden etkilenmeme
  • Güvenlik: Hassas kurumsal uygulamaların daha güvenli dağıtımı

Teknik Gereksinimler

Kendi uygulama dağıtım platformunuzu oluşturmak için ihtiyacınız olanlar:

  • Web Sunucusu: HTTPS desteği olan herhangi bir web sunucusu (Apache, Nginx vb.)
  • Alan Adı: Tercihen SSL sertifikalı bir alan adı
  • HTML/CSS/JS Bilgisi: Basit bir web arayüzü oluşturmak için
  • Uygulama Dosyaları: Android için APK, iOS için IPA dosyaları

Adım Adım Uygulama Mağazası Oluşturma

1. Basit ve Etkili Bir Web Arayüzü

İlk adım, kullanıcıların uygulamalarınızı indirebileceği basit bir web sayfası oluşturmak. Aşağıdaki HTML kodu, hem Android hem de iOS uygulamalarınız için indirme butonları içeren temel bir sayfa oluşturur:

<!DOCTYPE html>
<html lang="tr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Uygulama İndirme Sayfası</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            max-width: 800px;
            margin: 0 auto;
            padding: 20px;
            text-align: center;
            background-color: #f5f5f5;
        }
        h1 {
            color: #333;
            margin-bottom: 30px;
        }
        p {
            margin-bottom: 30px;
            color: #555;
            font-size: 18px;
        }
        .download-container {
            display: flex;
            justify-content: center;
            gap: 20px;
            flex-wrap: wrap;
            margin-top: 40px;
        }
        .download-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 15px 30px;
            background-color: #4CAF50;
            color: white;
            text-decoration: none;
            border-radius: 5px;
            font-size: 18px;
            font-weight: bold;
            transition: background-color 0.3s;
            min-width: 220px;
            box-sizing: border-box;
        }
        .download-button:hover {
            background-color: #45a049;
        }
        .android {
            background-color: #3ddc84;
        }
        .android:hover {
            background-color: #32b06c;
        }
        .ios {
            background-color: #007aff;
        }
        .ios:hover {
            background-color: #0062cc;
        }
        .logo {
            width: 30px;
            height: 30px;
            vertical-align: middle;
            margin-right: 10px;
        }
        .footer {
            margin-top: 50px;
            color: #666;
            font-size: 14px;
        }

        @media (max-width: 600px) {
            .download-button {
                width: 100%;
                margin-bottom: 10px;
            }
        }
    </style>
</head>
<body>
    <h1>Uygulama İndirme Sayfası</h1>

    <p>Uygulamayı indirmek için aşağıdaki butonlardan işletim sisteminize uygun olanı seçin.</p>

    <div class="download-container">
        <a href="uygulama.apk" class="download-button android">
            <svg class="logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white">
                <path d="M6 18c0 .55.45 1 1 1h1v3.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5V19h2v3.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5V19h1c.55 0 1-.45 1-1V8H6v10zM3.5 8C2.67 8 2 8.67 2 9.5v7c0 .83.67 1.5 1.5 1.5S5 17.33 5 16.5v-7C5 8.67 4.33 8 3.5 8zm17 0c-.83 0-1.5.67-1.5 1.5v7c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5zm-4.97-5.84l1.3-1.3c.2-.2.2-.51 0-.71-.2-.2-.51-.2-.71 0l-1.48 1.48C13.85 1.23 12.95 1 12 1c-.96 0-1.86.23-2.66.63L7.85.15c-.2-.2-.51-.2-.71 0-.2.2-.2.51 0 .71l1.31 1.31C6.97 3.26 6 5.01 6 7h12c0-1.99-.97-3.75-2.47-4.84zM10 5H9V4h1v1zm5 0h-1V4h1v1z"/>
            </svg>
            Android için İndir
        </a>

        <a href="itms-services://?action=download-manifest&url=https://sizin-siteniz.com/manifest.plist" class="download-button ios">
            <svg class="logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white">
                <path d="M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.52 1.54-1.19 3.05-2.53 4.08zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z"/>
            </svg>
            iOS için İndir
        </a>
    </div>

</body>
</html>

2. iOS Uygulamaları için Manifest Dosyası

iOS uygulamalarının doğrudan kurulumu için bir manifest.plist dosyası gereklidir:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>items</key>
    <array>
        <dict>
            <key>assets</key>
            <array>
                <dict>
                    <key>kind</key>
                    <string>software-package</string>
                    <key>url</key>
                    <string>https://sizin-siteniz.com/uygulama.ipa</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>com.sirketiniz.uygulama</string>
                <key>bundle-version</key>
                <string>1.0</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>Uygulama Adı</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

iOS ve Android Uygulama Dağıtım Farkları

iOS ve Android platformları arasında uygulama dağıtım mekanizmaları açısından önemli farklar vardır.

Android Uygulama Dağıtımı

Android, daha açık bir ekosisteme sahiptir ve şu özellikleri sunar:

  • Doğrudan APK Kurulumu: Android cihazlar, doğrudan APK dosyalarını indirip kurabilir. Kullanıcı sadece “Bilinmeyen Kaynaklar” ayarını etkinleştirmelidir.
  • Basit Dağıtım Mekanizması: Bir APK dosyası, uygulamanın tüm bileşenlerini (kod, kaynaklar, manifest) içeren kendi kendine yeterli bir paket dosyasıdır.

iOS Uygulama Dağıtımı

iOS, daha kapalı ve kontrollü bir ekosistemdir:

  • App Store Odaklı: Apple, uygulamaların öncelikle App Store üzerinden dağıtılmasını teşvik eder.
  • Kurumsal Dağıtım Karmaşıklığı: App Store dışında uygulama dağıtımı (Enterprise Distribution) daha karmaşık bir süreçtir.
  • Manifest.plist Gerekliliği: iOS, uygulama kurulumu için bir “manifest.plist” dosyası gerektirir.

Neden iOS için Manifest.plist Gereklidir?

  • Güvenlik Kontrolü: Apple, kurulum öncesi uygulamanın kimliğini ve bütünlüğünü doğrulamak için bu mekanizmayı kullanır.
  • Kurulum Yönlendirmesi: Manifest dosyası, iOS cihaza uygulamanın nasıl ve nereden indirileceğini söyler.
  • Sertifika Doğrulama: iOS, manifest dosyasındaki bilgileri kullanarak uygulamanın geçerli bir sertifika ile imzalanıp imzalanmadığını kontrol eder.

Özet

Android’in açık yapısı, doğrudan APK kurulumuna izin verirken, iOS’un kapalı ekosistemi, güvenlik ve kontrol amacıyla daha karmaşık bir kurulum mekanizması (manifest.plist ve itms-services:// protokolü) gerektirir.

Bu nedenle, kendi uygulama dağıtım sayfanızda Android için sadece APK dosyasına bir bağlantı yeterli olurken, iOS için hem manifest.plist dosyası hem de özel bir kurulum protokolü (itms-services://) kullanmanız gerekmektedir.

Sonuç

Kendi uygulama dağıtım sisteminizi kurmak için sadece 4 dosyayı web sunucunuza yüklemeniz ve kullanıcılarınızla paylaşmanız yeterlidir:

  • index.html: Kullanıcıların uygulamaları indirebileceği ana web sayfası
  • manifest.plist: iOS uygulamasının kurulum bilgilerini içeren yapılandırma dosyası
  • [uygulama-adı].apk: Android uygulamanızın kurulum dosyası
  • [uygulama-adı].ipa: iOS uygulamanızın kurulum dosyası

Buraya kadar sabırla okuduğunuz için teşekkür ederim.

Farklı konularda yeniden buluşana kadar hatasız kodlamalar. :)

Ford Otosan — Dijital Ürünler ve Servisler Plan 2 Delivery Tribe Liderliği — Mobile Software Development Team Member Yusuf PAMUKÇU


메타데이터
post_id
288aa8a131c0
slug
appcenter-kapanıyor-kendi-uygulama-dağıtım-mağazanızı-oluşturun-288aa8a131c0
url
https://medium.com/@yusufpamukcu/appcenter-kapan%C4%B1yor-kendi-uygulama-da%C4%9F%C4%B1t%C4%B1m-ma%C4%9Fazan%C4%B1z%C4%B1-olu%C5%9Fturun-288aa8a131c0
canonical_url
https://medium.com/@yusufpamukcu/appcenter-kapan%C4%B1yor-kendi-uygulama-da%C4%9F%C4%B1t%C4%B1m-ma%C4%9Fazan%C4%B1z%C4%B1-olu%C5%9Fturun-288aa8a131c0
author_url
https://medium.com/@yusufpamukcu
status
ok
fetched_at
2026-07-11 17:13:33