Apps Kit SDK logoApps Kit SDK
Tài liệu · Tích hợp iOS

3. Cấu hình dự án

3.1 AdMob App ID

Nếu AdMob/GAM là một trong các mạng quảng cáo bạn đã bật, hãy thêm AdMob App ID của bạn vào Info.plist (ID này dành riêng cho từng ứng dụng — không thể đóng gói sẵn trong các xcframework):

xml
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-XXXXXXXXXXXXXXXX~YYYYYYYYYY</string>

3.2 SKAdNetworkItems

Các mạng hòa giải quảng cáo (mediation)/phân bổ lượt cài đặt (attribution) mà AKS sử dụng (AppLovin, IronSource và các đối tác đấu giá của họ) cần các mục SKAdNetworkIdentifier để phân bổ lượt cài đặt chính xác theo cơ chế ATT. Ứng dụng mẫu có sẵn khoảng 48 mục cho các đối tác mediation của AppLovin/IronSource/Meta/v.v. Hãy lấy danh sách hiện hành từ bảng điều khiển của các mạng quảng cáo (AppLovin, IronSource và AdMob đều công bố danh sách riêng) thay vì sao chép danh sách cũ — các mạng này sẽ bổ sung ID mới theo thời gian.

3.3 App Tracking Transparency (ATT) — phần bạn cần tự bổ sung

Lưu ý: bản tích hợp mẫu không có NSUserTrackingUsageDescription và cũng không gọi ATTrackingManager.requestTrackingAuthorization(). AKS không thay bạn hiển thị lời nhắc cấp quyền ATT trên iOS. Nếu muốn các mạng mediation AdMob/AppLovin/IronSource và các nền tảng attribution AppsFlyer/Adjust có thể sử dụng IDFA, bạn cần tự thêm cả hai:

xml
<key>NSUserTrackingUsageDescription</key>
<string>Your data will be used to deliver personalized ads.</string>
swift
import AppTrackingTransparency

ATTrackingManager.requestTrackingAuthorization { status in
    // call this before initializing ads — see §4.4
}

Nếu thiếu chuỗi mô tả mục đích sử dụng, việc gọi requestTrackingAuthorization sẽ khiến ứng dụng bị crash khi chạy — vì vậy, đừng thêm lời gọi này nếu chưa có khóa tương ứng trong Info.plist, và đừng cho rằng một trong hai phần đã được xử lý chỉ vì bạn đã tích hợp SDK.

3.4 GoogleService-Info.plist

Thêm GoogleService-Info.plist của Firebase vào target ứng dụng theo cách thông thường (kéo tệp vào thư mục mã nguồn, đảm bảo tệp được gán vào đúng target). Bước này không có yêu cầu riêng nào của AKS — chỉ cần áp dụng nguyên trạng quy trình thiết lập tiêu chuẩn của Firebase.

3.5 Phiên bản iOS triển khai tối thiểu

AppsKit.xcframework/AKSKit.xcframework được build cho iOS 15.0 trở lên, bằng Swift 5.9 (Xcode 15.2+), với BUILD_LIBRARY_FOR_DISTRIBUTION: YES để đảm bảo tính ổn định của module. Đặt IPHONEOS_DEPLOYMENT_TARGET của target ứng dụng thành 15.0 hoặc cao hơn — và lưu ý rằng post_install trong Podfile (§1.2) cũng buộc mọi target pod sử dụng phiên bản 15.0, nên nếu đặt phiên bản tối thiểu của ứng dụng thấp hơn, quá trình liên kết với các pod vẫn sẽ gặp lỗi.