APK'lar ve Parçalar

Google Play Developer API, uygulamalarınız için yeni APK'lar yüklemenize ve bunları farklı sürüm kanallarında yayınlamanıza olanak tanır. Bu sayede, onaylı kullanıcılara sunulan uygulamanızın alfa ve beta sürümlerini dağıtabilirsiniz. Bu sayede, uygulamanın kullanıcılarının küçük bir kısmına otomatik olarak sunulan bir aşamalı sunum sürümü de dağıtabilirsiniz. Aşamalı sunum sürümünü yayınladıktan sonra, bu sürümü nihayet "üretim" sürümü olarak dağıtana kadar uygulamayı alan kullanıcı sayısını kademeli olarak artırabilirsiniz.

APK ekleme ve değiştirme

  1. Edits.apks: upload yöntemini çağırarak bir veya daha fazla APK yükleyin.

    Bu yöntem, APK'yı bir depolama "paketine" yükler. Burada APK, kullanıcılara dağıtılmak üzere bir "kanala" atanabilir. (Düzenleme silinir veya atılırsa bu düzenlemeye yüklenen tüm APK'lar da kaybolur.)

  2. Edits.tracks: update'i çağırarak APK'ları "kanallarda" yayınlayın. Aşağıdaki kanallarda APK yayınlayabilirsiniz:

    • "alpha" ve "beta" gibi test kanalları

      Uygulamanın alfa ve beta sürümleri, alfa ve beta test gruplarına atadığınız kullanıcılara dağıtılır. Google Play Console'u kullanarak bu gruplara kullanıcı atarsınız.

    • Dahili test kanalı: "qa"

      Uygulamanızın dahili sürümleri, Google Play Console'da yapılandırıldığı şekilde dahili test kanalınıza dağıtılır.

    • Üretim kanalı: "production"

      "Üretim" kanalındaki sürümler tüm kullanıcılara dağıtılır. Sürümünüzü önce üretim kullanıcılarının küçük bir yüzdesine güvenli bir şekilde dağıtmak, ardından sürümle ilgili güveniniz arttıkça bu yüzdeliği kademeli olarak yükseltmek için "üretim" kanalında aşamalı sürümlerden yararlanabilirsiniz.

    Basit mod kullanıcıları, herhangi bir kanala birden fazla APK eklememelidir. Birden fazla APK desteğini kullanan ileri mod kullanıcıları, her kanala sıfır, bir veya daha fazla APK yükleyebilir.

Form faktörü kanalları için parça adı

Form faktörü parçalarının parça adının önüne belirli bir tanımlayıcı eklenir.

Form Faktörü Ön numara
Android Automotive OS otomotiv
Wear OS wear
Android TV tv
Android XR android_xr
PC Üzerinde Google Play Games google_play_games_pc

Belirli bir form faktörü parçası için parça adı nasıl hesaplanır?

Üretim, açık test ve dahili test kanalı gibi yaygın kanal türlerinin iyi bilinen bir kanal adı vardır.

İzleme türü Varsayılan Parça Adı
Üretim üretilen belge(ler) : belge : belge üretimi
Açık Test beta
Dahili Test qa

Belirli bir form faktörü parçası için parça adı şu şekilde hesaplanabilir: "[prefix]:defaultTrackName". Örneğin, Wear OS form faktöründe şu adlara sahip kanallar bulunur: "wear:production", "wear:beta" ve "wear:qa".

Kapalı test kanalları manuel olarak oluşturulur ve özel adları vardır. Dolayısıyla, $name adlı bir form faktörü için kapalı test kanalının adı "[prefix]:$name" olur.

APK İş Akışı Örneği

Bu bölümde, Tracks API'nin tipik bir kullanım şekli açıklanmaktadır. Bu durumda, her kanal için APK'nın yeni sürümlerini yüklemek ve aşamalı sunum sürümünü alacak kullanıcı sayısını atamak istediğinizi varsayıyoruz. (Uygulamada, bir geliştiricinin bu işlemlerin tümünü aynı işlemde yapması pek olası değildir. Bunun yerine, beta sürümünü bir gün güncelleyebilir, başka bir gün "üretim" üzerinde kademeli bir yayın oluşturabilir vb.)

  1. Düzenleme İş Akışı bölümünde açıklandığı şekilde yeni bir düzenleme açın.
  2. Yüklemek istediğiniz her APK için Edits.apks: upload yöntemini çağırın. APK'yı yöntemin istek gövdesinde iletin. (Bu işlem, APK'yı bir depolama alanına yerleştirir ancak bir kanalda yayınlamaz veya dağıtmaz.) Yöntem, yüklediğiniz her APK için bir sürüm kodu döndürür. Bu sürüm kodunu, APK'yı bir kanalda yayınlarken APK'ya referans vermek için kullanırsınız.
  3. APK'ları yayınlamak istediğiniz her kanal için Edits.tracks: update yöntemini çağırın. İstek gövdesinde, kullanıma sunmak istediğiniz sürümü içeren bir Edits.tracks kaynağı iletin. Örneğin, sürüm kodu 88 olan bir APK'yı yayınlamak için:

    {
    "releases": [{
      "versionCodes": ["88"],
      "status": "completed"
    }]
    }

    Bu aşamada, APK'lar henüz kullanıcılara sunulmaz. Diğer düzenlemelerde olduğu gibi, değişiklikler siz göndermeden yayınlanmaz.

  4. Değişiklikleri uygulamak için Edits: commit yöntemini çağırın. Bu işlemi yaptıktan sonra her kanaldaki kullanıcılara APK'nın güncellenmiş sürümü sunulur. (Tüm düzenlemelerde olduğu gibi, değişikliklerin geçerlilik kazanması birkaç saat sürebilir.)

Aşamalı sunumlar

APK'nızın kademeli olarak dağıtmak istediğiniz yeni bir sürümü varsa bunu "aşamalı sunum" sürümü olarak yayınlamayı seçebilirsiniz. Bu işlemi yaparsanız Google Play, belirtmiş olduğunuz uygulama kullanıcılarının istenen bir kısmına otomatik olarak dağıtır. "Kullanıma sunulan" APK'da herhangi bir sorun yoksa (ör. kilitlenme vb.) bu sürümü alan kullanıcıların oranını artırabilirsiniz. Hazır olduğunuzda bu APK'yı yeni üretim sürümü olarak dağıtabilirsiniz.

Bu bölümde, bir APK'nın aşamalı sunumunu gerçekleştirmek ve ardından üretimde tanıtmak için uygulayacağınız adımlar açıklanmaktadır:

  1. Düzenleme İş Akışı'nda açıklandığı şekilde bir düzenleme oluşturun.

  2. Edits.apks: upload yöntemini kullanarak düzenlemeye yeni bir APK yükleyin.

  3. Edits.tracks: update yöntemini kullanarak üretim kanalında "inProgress" aşamalı sürüm başlatın. Yeni APK'yı alması gereken kullanıcıların oranını seçin. Bu noktada APK henüz hiçbir son kullanıcı tarafından kullanılamaz.

    {
    "releases": [{
      "versionCodes": ["99"],
      "userFraction": 0.05,
      "status": "inProgress"
    }]
    }

  4. Edits: commit'i çağırarak etkin düzenlemedeki değişiklikleri kaydedin. Yeni APK, önümüzdeki birkaç saat içinde kullanıcılara sunulacak. Seçtiğiniz kullanıcıların bir kısmı yeni APK'yı alır.

Aşamalı sunumun başarısına bağlı olarak, bu sürüm için uygun kullanıcıların yüzdesini artırmak veya sürümü durdurmak isteyebilirsiniz.

Aşamalı kullanıma sunumda kullanıcı oranını artırma

Önceki bölümde açıklandığı gibi %5'lik bir kademeli yayınlamanızın devam ettiğini varsayarsak bu bölümde, yayınlamanın iyi gittiği durumlarda yüzdeliği nasıl artıracağınız açıklanmaktadır:

  1. Düzenleme İş Akışı'nda açıklandığı şekilde bir düzenleme oluşturun.

  2. Edits.tracks: update yöntemini kullanarak üretim kanalındaki "inProgress" aşamalı sürümünü değiştirin. Yeni APK'yı alması gereken kullanıcıların oranını artırın:

    {
    "releases": [{
      "versionCodes": ["99"],
      "userFraction": 0.1,
      "status": "inProgress"
    }]
    }

  3. Edits: commit'i çağırarak etkin düzenlemedeki değişiklikleri kaydedin. Yeni APK, önümüzdeki birkaç saat içinde kullanıcılara sunulacak. Seçtiğiniz kullanıcıların bir kısmı yeni APK'yı alır.

Aşamalı sunumu durdurma

Önceki bölümde açıklandığı gibi %5'lik bir kademeli kullanıma sunma sürecinizin devam ettiğini varsayarsak bu bölümde, bir sorun keşfetmeniz durumunda kademeli kullanıma sunma sürecini nasıl durduracağınız açıklanmaktadır:

  1. Düzenleme İş Akışı'nda açıklandığı şekilde bir düzenleme oluşturun.

  2. Edits.tracks: update yöntemini kullanarak üretim kanalındaki "inProgress" aşamalı sürümünü değiştirin. Durumu "halted" olarak ayarlayın.

    {
    "releases": [{
      "versionCodes": ["99"],
      "status": "halted"
    }]
    }

  3. Edits: commit'i çağırarak etkin düzenlemedeki değişiklikleri kaydedin. Sürümünüz artık yeni kullanıcılara sunulmaz.

Daha sonra durdurulan bir sürümü devam ettirmeye karar verirseniz durumunu tekrar "inProgress" olarak ayarlayarak bunu yapabilirsiniz.

Aşamalı sunumu tamamlama

Aşamalı sunumunuzdan memnun kaldıktan sonra sürümü kullanıcıların% 100'üne sunmak isterseniz sürüm durumunu "completed" olarak ayarlayabilirsiniz:

  1. Düzenleme İş Akışı'nda açıklandığı şekilde bir düzenleme oluşturun.

  2. Edits.tracks: update yöntemini kullanarak üretim kanalındaki "inProgress" aşamalı sürümünü değiştirin. Durumu "completed" olarak ayarlayın.

    {
    "releases": [{
      "versionCodes": ["99"],
      "status": "completed"
    }]
    }

  3. Edits: commit'i çağırarak etkin düzenlemedeki değişiklikleri kaydedin. Yeni APK, önümüzdeki birkaç saat içinde kullanıcılara sunulacak. Seçtiğiniz kullanıcıların bir kısmı yeni APK'yı alır.

Tamamlanmış bir kullanıma sunma işlemini durdurma

Önceki bölümde açıklandığı gibi bir kanalda tamamlanmış bir kullanıma sunma işleminiz olduğunu varsayarsak bu bölümde, bir sorun keşfetmeniz durumunda tamamlanmış kullanıma sunma işlemini nasıl durduracağınız açıklanmaktadır:

  1. Düzenleme İş Akışı'nda açıklandığı şekilde bir düzenleme oluşturun.

  2. Edits.tracks: update yöntemini kullanarak üretim kanalındaki "completed" sürümünü değiştirin. Durumu "halted" olarak ayarlayın.

    {
    "releases": [{
      "versionCodes": ["99"],
      "status": "halted"
    }]
    }

  3. Edits: commit'i çağırarak etkin düzenlemedeki değişiklikleri kaydedin. Sürümünüz artık yeni kullanıcılar tarafından kullanılamaz veya mevcut kullanıcılar tarafından yükseltilemez.

"completed" sürümünün yerine yayınlanmaya başlayacak sürüm, yayınlanmış ve durdurulmamış kanaldaki önceki "completed" sürümü olacaktır. Bu, bir kanalda yalnızca daha önce bir veya daha fazla "completed" yayınlanmışsa "completed" yayın durdurabileceğiniz anlamına gelir.

"completed" sürümü durdurulmuşken GetTrack veya ListTracks'u çağırırsanız "yedek sürüm yayınlanıyor" mesajı, daha önce "completed" sürümünün durdurulduğu kanalda tamamlanmış sürüm olarak gösterilir.

Örneğin, başlangıçta şu şekilde görünen bir alpha parçanız varsa:

{
  "track": "alpha",
  "releases": [
    {
      "name": "2 (2.0)",
      "versionCodes": [
        "2"
      ],
      "status": "completed"
    }
  ]
}

ve bu bölümdeki adımları uygulayarak "completed" sürümünü durdurduysanız, alpha parçası için GetTrack çağrısı yapıldığında şu gibi bir yanıt döndürülür:

{
  "track": "alpha",
  "releases": [
    {
      "name": "2 (2.0)",
      "versionCodes": [
        "2"
      ],
      "status": "halted"
    },
    {
      "name": "1 (1.0)",
      "versionCodes": [
        "1"
      ],
      "status": "completed"
    }
  ]
}

Daha sonra "completed" sürümünü devam ettirmeye karar verirseniz durumunu "inProgress" veya "completed" olarak ayarlayarak bunu yapabilirsiniz. "inProgress" sürümünün üzerine yeni bir "completed" durum sürümü oluşturabileceğinizi ancak bu durumda yalnızca "completed" sürümünü %100'e (yani "completed" durumuna) geri döndürebileceğinizi unutmayın.

Taslak sürümler

Taslak sürümler, APK'ları otomatik olarak yüklemenize ve API aracılığıyla sürüm oluşturmanıza olanak tanır. Bu sürümler daha sonra Google Play Console üzerinden dağıtılabilir. Bir kanalda taslak sürüm oluşturmak için:

  1. Düzenleme İş Akışı bölümünde açıklandığı şekilde yeni bir düzenleme açın.
  2. Yüklemek istediğiniz her APK için Edits.apks: upload yöntemini çağırın. APK'yı yöntemin istek gövdesinde iletin. Yöntem, yüklediğiniz her APK için bir sürüm kodu döndürür. Bu sürüm kodunu, APK'yı bir sürüme atadığınızda APK'ya referans vermek için kullanırsınız.
  3. Yayınlamak istediğiniz her parça için Edits.tracks: update yöntemini çağırın. İstek gövdesinde, oluşturmak istediğiniz taslak sürümü içeren bir Edits.tracks kaynağı iletin. Örneğin:

    {
    "releases": [{
      "name": "My draft release",
      "versionCodes": ["88"],
      "status": "draft"
    }]
    }

  4. Değişiklikleri uygulamak için Edits: commit yöntemini çağırın. Taslak sürümünüz artık Google Play Console veya API üzerinden incelenebilir ve kullanıma sunulabilir.

Sürüm notlarını belirtme

Uygulamanızın yeni bir sürümünü yayınlarken sürüm notlarını belirterek kullanıcılara yenilikleri vurgulayabilirsiniz.

Bunun için Edits.tracks: update yöntemine Edits.tracks kaynağı sağlarken "releaseNotes" alanını kullanın.

{
  "releases": [{
      "name": "Release with notes",
      "versionCodes": ["88"],
      "status": "completed",
      "releaseNotes": [
        {"language": "en-US", "text": "Describe what's new in this release."}
      ]
  }]
}