Apps Kit SDK logoApps Kit SDK
Dokümantasyon · iOS Entegrasyonu

1. Bağımlılıklar (Podfile)

1.1 Neden hâlâ bir Podfile gerekiyor?

AKSKit.xcframework/AppsKit.xcframework, pod olarak değil, doğrudan ikili framework olarak bağlanır (§2). Ancak AppsKit.xcframework içindeki derlenmiş Swift modülü, çeşitli üçüncü taraf SDK'lardaki (Firebase, Google Mobile Ads, IronSource, Adjust, AppsFlyer, AppLovin) sembollere referans verir. Çoğunu doğrudan çağırmasanız bile bu SDK'ların CocoaPods aracılığıyla bağımlılık grafiğinizde bulunması gerekir; aksi takdirde derlemenin bağlama (link) aşaması başarısız olur.

1.2 Zorunlu pod'lar (her zaman gerekli)

ruby
source 'https://cdn.cocoapods.org'

platform :ios, '15.0'

target 'YourApp' do
  use_frameworks!

  # Remote Config drives almost all AKS behavior; Analytics/Crashlytics back AKS events and crash reporting
  pod 'Firebase/Analytics',    '~> 12.15.0'
  pod 'Firebase/Crashlytics',  '~> 12.15.0'
  pod 'Firebase/RemoteConfig', '~> 12.15.0'

  pod 'Google-Mobile-Ads-SDK'

  # Required by AppsKit.xcframework's compiled swiftinterface — these are transitive
  # dependencies of the AKS facade itself, not direct calls you make.
  pod 'IronSourceSDK',         '~> 9.1.0.0'
  pod 'Adjust',                '~> 5.4.6'
  pod 'AppsFlyerFramework'
  pod 'AppsFlyer-AdRevenue'

  pod 'AppLovinSDK'
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0'
      config.build_settings['DEBUG_INFORMATION_FORMAT'] = 'dwarf-with-dsym'
    end
  end
end

Yukarıdaki sürümler, çalıştığı doğrulanmış bir referans entegrasyonda şu anda çözümlenen sürümlerdir (Podfile.lock): Firebase/* 12.15.0, en güncel sürümü takip etmek için sürümü sabitlenmemiş Google-Mobile-Ads-SDK (geçişli bağımlılık olarak GoogleUserMessagingPlatform paketini de getirir), IronSourceSDK 9.1.0.0, Adjust 5.4.6, AppsFlyerFramework/AppsFlyer-AdRevenue 6.14.3, AppLovinSDK 13.5.0. Bunları kesin bir sürüm kısıtlaması olarak değil, çalıştığı doğrulanmış bir başlangıç noktası olarak değerlendirin. Uygulamanızın ihtiyaçlarına göre sürümleri yükseltebilirsiniz; ancak AppsKit.xcframework/AKSKit.xcframework için kullanılan derleme hedefiyle uyumlu olması için IPHONEOS_DEPLOYMENT_TARGET değerini 15.0 veya üzerinde tutun.

post_install içindeki DEBUG_INFORMATION_FORMAT = 'dwarf-with-dsym' satırı, isteğe bağlı kozmetik bir ayar değildir. Bu satır olmadan bazı pod'lar (özellikle AppLovinSDK) dSYM dosyaları üretmez. Bu da çökme raporlarının sembolleştirilmesini engeller ve yükleme sırasında App Store Connect'in dSYM doğrulamasının başarısız olmasına yol açabilir.

1.3 MMP SDK'ları

Solar Engine, eklemeniz gereken bir pod değildir — zaten AKSKit.xcframework içine derlenmiştir; dolayısıyla Podfile dosyanızda yer almaz ve eklemeniz de gerekmez. Buna karşılık AppsFlyer ve Adjust, entegrasyonu yapan uygulama tarafında eklenen pod'lardır (yukarıdaki §1.2). Bunun nedeni, AppsKit.xcframework içindeki Swift kodunun bu SDK'ların gerçek metotlarını doğrudan çağırmasıdır (IOSBridgeImp.swift içindeki initializeAppsFlyer/initializeAdjust).

1.4 Reklam ağı / reklam arabuluculuğu (mediation) SDK'ları

Referans Podfile yalnızca Google-Mobile-Ads-SDK, IronSourceSDK ve AppLovinSDK ekler; ayrı "AdMob mediation adapter" pod'ları içermez. AKS portal yapılandırmanız, listelenenlerin dışındaki ağlar için AdMob üzerinden teklif verme (bidding) veya şelale (waterfall) arabuluculuğunu etkinleştiriyorsa ilgili ağın kendi CocoaPods adaptörüne (örneğin bir GoogleMobileAdsMediation* pod'una) ihtiyaç duyup duymadığını kontrol edin. Bu kılavuz yalnızca referans uygulamada çalıştığı doğrulanmış yapılandırmayı belgeler.