SDK Runtime API: Entegrasyon kılavuzu

Android'de Özel Korumalı Alan dokümanlarını okurken, çalıştığınız program sürümünü seçmek için Geliştirici Önizlemesi veya Beta düğmesini kullanın, talimatlar farklılık gösterebilir.


Entegrasyon planlaması konusunda size yardımcı olmak amacıyla bu kılavuz, entegrasyon sürecinin kapsamlı bir görünümünü sağlar. Bu bakış açısı, Android Geliştirici Önizlemesi'nde Özel Korumalı Alan'ın şu anki aşamasında henüz uygulanmamış özellikleri içerebilir. Bu durumlarda zaman çizelgesiyle ilgili rehberlik sağlanır.

Aşağıdaki grafikte, SDK Çalışma Zamanı entegrasyonu için güncellenmiş geliştirme iş akışı gösterilmektedir. Aynı sütunda listelenen bölümler üzerinde paralel olarak çalışılabilir. Örneğin, iş ortağı etkileşimi, test ortamınızın ayarlanmasıyla eş zamanlı olarak yapılabilir.

SDK Çalışma Zamanı entegrasyonu iş akışının görsel diyagramı.
SDK Çalışma Zamanı entegrasyonu için iş akışı.

Ön Koşullar ve Kurulum

Bu ön çalışma bölümünü tamamlamak SDK Çalışma Zamanı hakkında yeterli bilgi sahibi olmanızı sağlar ve reklam teknolojisi ekosisteminde API'yi kullanırken anlamlı sonuçlar elde etmenizi sağlar.

API'yi tanıma

SDK Çalışma Zamanı, işlevleri ve kısıtlamaları hakkında bilgi edinmek için Tasarım Teklifi'ni okuyarak başlayın.

Kullanım alanlarınızda ihtiyaç duyacağınız kod ve API çağrılarını nasıl dahil edeceğinizi öğrenmek için Geliştirici Kılavuzu'nu okuyun.

Lütfen dokümanlarla ilgili, özellikle de cevaplanmamış sorularla ilgili geri bildirimlerinizi gönderin.

Android'de Özel Korumalı Alan ile ilgili güncellemeleri almak için kaydolun. Bu sayede, gelecekteki sürümlerde kullanıma sunulacak yeni özelliklerden haberdar olabilirsiniz.

Örnek uygulamayı kurma ve test etme

Entegrasyonunuza başlamaya hazır olduğunuzda, burada listelenen talimatları izleyerek Android Studio'daki en son Geliştirici Önizlemesini indirin. Bu kılavuz, Android Studio'nun en son Canary sürümünün kullanılmasını gerektirir. Android Studio'nun bu sürümünü, kullandığınız diğer sürümlere paralel olarak çalıştırabilirsiniz. Bu nedenle, bu sürüm sizin için uygun değilse lütfen bize bildirin.

"example-sdk" adlı RE SDK'yı ve "client-app" adlı istemci uygulamasını bir cihaza veya emülatöre yükleme hakkında bilgi edinmek için örnek uygulamamızdaki kodu çatallayıp çalıştırın. Örnek reklamın yükleneceğinden emin olun.

Mevcut SDK'yı SDK Çalışma Zamanına uyarlama

Bu bölümün amacı, çalışma zamanı özellikli bir SDK'da (RE SDK) mevcut SDK'dan banner reklam gösterme gibi işlevleri uygulamak ve uygulama ile RE SDK arasında iletişim kurmaktır.

  • RE SDK'da işlevselliği uygulamak için sdk-example ve sdk-uygulaması oluşturun veya güncelleyin.

  • Mimari açıdan RE SDK'sını, sarmalayıcı görevi gören mevcut SDK'ya bağımlılık olarak eklemeyi düşünün. Bu, istemci uygulamasının mevcut SDK'yı veya sarmalayıcıyı doğrudan çağırmaya devam etmesine olanak tanır. Sarmalayıcı SDK'sı, API çağrılarını aşağıda açıklanan farklı stratejilere göre yönlendirebilir.

SDK Çalışma Zamanı entegrasyonundan sonraki Sistem mimarisinin görsel şeması.
SDK Çalışma Zamanı entegrasyonundan sonra sistem mimarisi.

PPAPI'leri çağırma gibi özel veri gerektiren kullanım alanları için IPC kullanılarak bir API tanımı oluşturulması gerekir. Android'in IBinder ve AIDL'yi kullanarak gerekli bilgiler veya gerekli işlemler için çalışma zamanı özellikli SDK'ya bilgi göndermek üzere bir iletişim protokolü oluşturun. Buradaki SDK Çalışma Zamanı geliştirici kılavuzundan daha fazla bilgi edinebilirsiniz.

Trafiği, Çalışma Zamanı Etkin SDK'ya yönlendirme

API çağrıları için yönlendirme stratejileri

Kullanım alanlarınıza bağlı olarak, SDK çağrılarını mevcut SDK ve RE SDK kod yolları üzerinden yönlendirmeniz önerilir. Bu, ilk kullanıma sunma sürecinde A/B testini uygulamanıza yardımcı olacaktır. Bu kılavuzda, uygulama entegrasyonunu kolaylaştırmak için uygulamanın RE SDK'ya bağlı olacağı ve uygun olduğunda mevcut SDK'ya yetki verileceği dikkate alınır. Aşağıdaki stratejileri göz önünde bulundurun:

SDK çağrılarının bir yüzdesini RE SDK'ya yönlendirme

SDK çağrılarının yalnızca bir yüzdesini RE SDK'ya yönlendirin. Geri kalanını mevcut SDK kodu yoluna yönlendirin. Örneğin, banner reklam görüntüleme gibi SDK isteğini bir kez karşılamanız gereken durumlarda bu stratejiyi kullanabilirsiniz.

  • Mevcut SDK'nızı değiştirerek isteklerin belirli bir yüzdesini RE SDK'ya yönlendirin. Örneğin, sapma ölçütlerini dinamik olarak kontrol etmek için Firebase Remote Config gibi sunucu tabanlı bir dinamik yapılandırma işareti kullanın.
  • Bu durum esasen mevcut SDK'yı, uygulamanın etkileşimde bulunduğu ve SDK isteklerini yeni RE SDK'ya yönlendirmekten sorumlu tek arayüz haline getirir.
  • Kodunuz yalnızca RE SDK tarafından işlenebilen istekleri yönlendirmelidir. Örneğin, reklam biçiminin SDK Çalışma Zamanı tarafından desteklendiğini doğrulayın.
  • SDK kodunuzu RE SDK ile etkileşim kuracak şekilde güncellemek için bu talimatları uygulayın.

Yönlendirme mantığı için sözde kod:

void showAd(AdRequest request) {
  if (request.isBannerAd() && enableRuntimeSdkDiversion() == true) {
    // Call showAd() from the RE SDK
  } else {
    // Call showAd() using the existing SDK code path
  }
}

Tüm SDK çağrılarını hem mevcut hem de RE SDK'larına yönlendirin

Desteklenen cihazlarda tüm SDK çağrılarını hem mevcut SDK kod yoluna hem de RE SDK kod yoluna yönlendirin. Bu stratejiyi, karşılaştırma amacıyla hem mevcut hem de yeni kod yollarını çalıştırmanız gereken durumlarda kullanabilirsiniz. Örneğin, dönüşüm raporlama sonuçlarını karşılaştırın.

  • Kodunuzu, tüm SDK çağrılarını hem mevcut SDK kodu yoluna hem de RE SDK kod yoluna yönlendirecek şekilde değiştirin. İşlevin SDK Çalışma Zamanı tarafından desteklendiğini ve RE SDK'nın başarıyla yüklendiğini doğrulamanız gerekir.

Yönlendirme mantığı için sözde kod:

void reportAttribution(AdRequest request) {
  if (request.isFeatureSupported() && isSdkLoaded() == true) {
    // Call RE SDK
  }

  // Call existing SDK code path
}

Çalışma zamanı özellikli SDK dağıtımı için kapalı beta

Google Play, Beta programına kaydolan ve yerel test gerçekleştiren geliştiricilere, reklamlarla ilgili SDK'lar için kapalı beta programı sunuyor. Katılmak istiyorsanız buradan kaydolun.