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 دون مشكلات على أي حال.