3. إعداد المشروع
3.1 معرّف تطبيق AdMob
إذا كانت AdMob/GAM إحدى شبكات الإعلانات المفعّلة لديك، فأضف معرّف تطبيق AdMob الخاص بك إلى Info.plist (هذا المعرّف خاص بالتطبيق، ولا يمكن تضمينه داخل ملفات xcframework):
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-XXXXXXXXXXXXXXXX~YYYYYYYYYY</string>3.2 SKAdNetworkItems
تحتاج شبكات الوساطة الإعلانية وإسناد عمليات التثبيت التي يعتمد عليها AKS (مثل AppLovin وIronSource وشركائهما في عروض الأسعار) إلى إدخالات SKAdNetworkIdentifier لإسناد عمليات التثبيت بشكل صحيح في ظل ATT. يتضمن التطبيق المرجعي نحو 48 إدخالًا تغطي شركاء الوساطة لدى AppLovin وIronSource وMeta وغيرها. احصل على القائمة الحالية من لوحات تحكم شبكات الإعلانات لديك (تنشر كل من AppLovin وIronSource وAdMob قائمة خاصة بها) بدلًا من نسخ قائمة قديمة، إذ تضيف هذه الشبكات معرّفات جديدة بمرور الوقت.
3.3 شفافية تتبّع التطبيقات (ATT) — إعداد ناقص يجب إكماله بنفسك
تنبيه: لا يتضمن التكامل المرجعي المفتاح NSUserTrackingUsageDescription ولا أي استدعاء للطريقة ATTrackingManager.requestTrackingAuthorization(). لا يعرض AKS طلب إذن ATT نيابةً عنك على iOS. إذا أردت إتاحة IDFA للوساطة الإعلانية عبر AdMob/AppLovin/IronSource ولإسناد عمليات التثبيت عبر AppsFlyer/Adjust، فعليك إضافة كليهما بنفسك:
<key>NSUserTrackingUsageDescription</key>
<string>Your data will be used to deliver personalized ads.</string>import AppTrackingTransparency
ATTrackingManager.requestTrackingAuthorization { status in
// call this before initializing ads — see §4.4
}من دون نص وصف الاستخدام، يؤدي استدعاء requestTrackingAuthorization إلى تعطل التطبيق أثناء التشغيل. لذا لا تُضف الاستدعاء من دون المفتاح المقابل في Info.plist، ولا تفترض أن أيًا منهما قد أُعدّ بالفعل لمجرد دمج SDK.
3.4 GoogleService-Info.plist
أضف ملف GoogleService-Info.plist الخاص بـ Firebase إلى هدف التطبيق بالطريقة المعتادة (اسحبه إلى مجلد الشيفرة المصدرية، وتأكد من تضمينه في الهدف). لا توجد متطلبات خاصة بـ AKS هنا، فإعداد Firebase القياسي ينطبق كما هو.
3.5 الحد الأدنى لإصدار النظام المستهدف
بُني كل من AppsKit.xcframework/AKSKit.xcframework للعمل على iOS 15.0 كحد أدنى، باستخدام Swift 5.9 (Xcode 15.2+)، مع ضبط BUILD_LIBRARY_FOR_DISTRIBUTION: YES لضمان استقرار الوحدات البرمجية. اضبط IPHONEOS_DEPLOYMENT_TARGET لهدف تطبيقك على 15.0 أو إصدار أحدث. وتذكّر أن post_install في Podfile (§1.2) يفرض أيضًا الإصدار 15.0 على كل هدف pod، لذا فإن تعيين إصدار أقل على مستوى التطبيق سيؤدي إلى مشكلات في الربط مع حزم pods على أي حال.