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 nên không thể đóng gói trong các xcframework):

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

3.2 SKAdNetworkItems

Các mạng mediation/đo lường phân bổ mà AKS sử dụng (AppLovin, IronSource và các đối tác đấu giá quảng cáo của họ) cần các mục SKAdNetworkIdentifier để ghi nhận chính xác nguồn lượt cài đặt theo cơ chế ATT. Ứng dụng tham khảo có sẵn khoảng 48 mục, bao gồm các đối tác mediation của AppLovin/IronSource/Meta/v.v. Hãy lấy danh sách mới nhất từ trang quản trị của các mạng quảng cáo bạn sử dụng (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 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 tham khảo không có NSUserTrackingUsageDescription hay lệnh gọi ATTrackingManager.requestTrackingAuthorization() nào. AKS không thay bạn hiển thị yêu cầu cấp quyền ATT trên iOS. Nếu muốn IDFA khả dụng cho mediation của AdMob/AppLovin/IronSource và tính năng đo lường phân bổ của AppsFlyer/Adjust, 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, lệnh gọi requestTrackingAuthorization sẽ khiến ứng dụng bị crash khi chạy — vì vậy, đừng thêm lệnh gọi này khi 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 cho đúng target). Không có yêu cầu riêng nào của AKS ở bước này — chỉ cần làm theo 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 tối thiểu 15.0, 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 trở lên — đồng thời lưu ý rằng post_install trong Podfile (§1.2) cũng buộc mọi target pod dùng phiên bản 15.0, nên nếu target ứng dụng dùng phiên bản thấp hơn thì việc liên kết với các pod cũng sẽ gặp lỗi.