لعرض الإعلانات وتحقيق الإيرادات، عليك دمج Google Mobile Ads SDK في تطبيق iOS. ولإعداد مشروعك، عليك استيراد Google Mobile Ads SDK وإعدادها قبل طلب الإعلانات.
يغطّي هذا الدليل استيراد Google Mobile Ads SDK وإعدادها، واختيار شكل إعلان.
المتطلبات الأساسية
قبل المتابعة، تأكَّد من توفّر ما يلي:
- استخدِم Xcode 16.0 أو إصدارًا أحدث.
- استخدِم iOS 13.0 أو إصدارًا أحدث.
استيراد Google Mobile Ads SDK
لاستيراد Google Mobile Ads SDK، أكمل أحد الأقسام التالية:
Swift Package Manager
لـ إضافة تبعية حزمة إلى مشروعك، اتّبِع الخطوات التالية:
- افتح Xcode.
- انتقِل إلى ملف > إضافة تبعيات الحزمة....
ثبِّت حزمة Google Mobile Ads SDK Swift.
في الرسالة التي تظهر، ابحث عن مستودع Google Mobile Ads Swift Package على GitHub:
https://github.com/googleads/swift-package-manager-google-mobile-ads.gitاختَر إصدار حزمة Google Mobile Ads SDK Swift الذي تريد استخدامه. بالنسبة إلى المشاريع الجديدة، ننصحك باستخدام حتى الإصدار الرئيسي التالي.
CocoaPods
لاستخدام CocoaPods، اتّبِع الخطوات التالية:
افتح ملف Podfile الخاص بمشروعك وأضِف هذا السطر إلى إعدادات إنشاء
targetلتطبيقك:pod 'Google-Mobile-Ads-SDK'
في الوحدة الطرفية، شغِّل ما يلي:
pod install --repo-update
التنزيل يدويًا
لتنزيل Google Mobile Ads SDK يدويًا، اتّبِع الخطوات التالية:
- نزِّل Google Mobile Ads SDK.
- استخرِج حزمة
googlemobileadssdkios.zip. في مشروع Xcode، أضِف الأطر التالية:
GoogleMobileAds.xcframeworkUserMessagingPlatform.xcframework
في إعدادات عام لهدفك، انتقِل إلى الأطر والمكتبات والمحتوى المضمّن.
تأكَّد من أنّك ضبطت
GoogleMobileAds.xcframeworkوUserMessagingPlatform.xcframeworkعلى التضمين والتوقيع.في إعدادات إنشاء مشروعك، اتّبِع الخطوات التالية:
- أضِف المسار
/usr/lib/swiftإلى مسارات البحث عن Runpath. - أضِف علامة الرابط
-ObjCإلى علامات الرابط الأخرى.
- أضِف المسار
تعديل ملف Info.plist
في ملف Info.plist الخاص بتطبيقك، أضِف المفاتيح التالية:
مفتاح
GADApplicationIdentifierبقيمة سلسلة تمثّل رقم تعريف تطبيقك في "مدير إعلانات Google" الذي يظهر في واجهة "مدير إعلانات Google" ويكون بالتنسيقca-app-pub-################~##########.مفتاح
SKAdNetworkItems. يتضمّن هذا المفتاح قيمSKAdNetworkIdentifierلـ Googlecstr6suwn9.skadnetworkو بعض المشترين من جهات خارجية.
مثال مُكتمل
<key>GADApplicationIdentifier</key>
<!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~1458002511 -->
<string>SAMPLE_APP_ID</string>
<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>cstr6suwn9.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>4fzdc2evr5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>2fnua5tdw4.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ydx93a7ass.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>p78axxw29g.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>v72qych5uu.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ludvb6z3bs.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>cp8zw746q7.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3sh42y64q3.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>c6k4g5qg8m.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>s39g8k73mm.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>wg4vff78zm.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3qy4746246.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>f38h382jlk.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>hs6bdukanm.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>mlmmfzh3r3.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>v4nxqhlyqp.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>wzmmz9fp6w.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>su67r6k2v3.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>yclnxrl5pm.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>t38b2kh725.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>7ug5zh24hu.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>gta9lk7p23.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>vutu7akeur.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>y5ghdn5j9k.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>v9wttpbfk9.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>n38lu8286q.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>47vhws6wlr.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>kbd757ywx3.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>9t245vhmpl.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>a2p9lx4jpn.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>22mmun2rn5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>44jx6755aq.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>k674qkevps.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>4468km3ulz.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>2u9pt9hc89.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>8s468mfl3y.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>klf5c3l5u5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ppxm28t8ap.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>kbmxgpxpgc.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>uw77j35x4d.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>578prtvx9j.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>4dzt52r2t5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>tl55sbb4fm.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>c3frkrj4fj.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>e5fvkxwrpn.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>8c4e2ghe7u.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3rd42ekr43.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>97r2b46745.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3qcr597p9d.skadnetwork</string>
</dict>
</array>استبدِل SAMPLE_APP_ID برقم تعريف تطبيقك في "مدير إعلانات Google". أثناء الاختبار، استخدِم رقم تعريف نموذج التطبيق الموضّح في المثال السابق.
لمساعدة تطبيقك في الإعداد بشكل أسرع، اربط مجموعات تحقيق الربح بتطبيقات معيّنة. إذا كانت مجموعة الشبكات الإعلانية المدِرّة للأرباح تستهدف أجهزة iOS، ولكنّها غير مرتبطة بتطبيق، ترسل Google المجموعة إلى جميع تطبيقات iOS في حسابك. ويمكن أن يؤدي هذا النهج إلى إبطاء الأداء.
إعداد Google Mobile Ads SDK
قبل تحميل الإعلانات، عليك إعداد Google Mobile Ads SDK من خلال طلب طريقة start()
من السمة GADMobileAds.sharedInstance. تطلب هذه الطريقة معالجًا لإكمال العملية بعد Google Mobile Ads SDK و
محوّلات التوسّط من المعالجة، أو بعد 30 ثانية.
يُعدّ المثال التالي Google Mobile Ads SDK:
Swift
// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()
SwiftUI
// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()
Objective-C
// Initialize the Google Mobile Ads SDK.
[GADMobileAds.sharedInstance startWithCompletionHandler:nil];
أثناء الإعداد، قد تحمِّل Google Mobile Ads SDK الإعلانات مسبقًا أو تُعدّ حِزم SDK التابعة لجهات خارجية عند طلب طريقة startWithCompletionHandler:. إذا كنت بحاجة إلى الحصول على موافقة المستخدمين في المنطقة الاقتصادية الأوروبية أو المملكة المتحدة أو سويسرا، اضبط العلامات الخاصة بالطلب. إذا كنت بحاجة إلى ضبط
العلامات الخاصة بالطلب، تأكَّد من ضبطها قبل إعداد
Google Mobile Ads SDK. لمعرفة التفاصيل، اطّلِع على مقالة الاستهداف.
اختيار شكل الإعلان
بعد استيراد Google Mobile Ads SDK، يمكنك اختيار شكل إعلان لتنفيذه.
يوفّر "مدير إعلانات Google" أشكال الإعلانات التالية:
| شكل الإعلان | الوصف | الوثائق |
|---|---|---|
| بانر | يعرض إعلانات مستطيلة في قسم من تصميم تطبيقك. ويتم تعديل هذا الإعلان تلقائيًا على فترات زمنية محدّدة. يشاهد المستخدمون هذه الإعلانات بشكل دوري عند البقاء على الشاشة نفسها. | إعداد "إعلانات بانر" |
| إعلان بيني | يعرض إعلانات بملء الصفحة في تطبيقك. يمكنك عرض هذا الإعلان في لحظات التنقّل أو الفواصل التي تحدث بشكلٍ تلقائي في واجهة تطبيقك، على سبيل المثال، بعد اكتمال مستوىً معيّن في أحد تطبيقات الألعاب. | الإعلانات البينية |
| مدمج مع المحتوى | يتيح لك تخصيص مواد العرض، مثل العناوين وعبارات الحث على اتخاذ إجراء، في تطبيقاتك. عند تخصيص الإعلان، يمكنك إنشاء إعلانات تتطابق مع التصميم المرئي لتطبيقك. | تحميل إعلان مدمج مع المحتوى |
| تمت المكافأة | يحصل المستخدمون على مكافآت داخل التطبيق، مثل العملات المعدنية أو النقاط، من خلال تشغيل الألعاب أو المشاركة في الاستطلاعات أو مشاهدة الفيديوهات. يمكنك إعداد مكافآت للوحدات الإعلانية، وتحديد قيم المكافأة والعناصر التي يتلقّاها المستخدمون. | الإعلانات مقابل مكافأة |
| إعلان بيني مقابل مكافأة | يتيح لك تقديم مكافآت، مثل العملات المعدنية أو محاولات إضافية للإعلانات التي تظهر أثناء عمليات النقل في التطبيق. | الإعلانات البينية مقابل مكافأة |
| إعلان على شاشة فتح التطبيق | يظهر عندما يفتح المستخدمون تطبيقك أو يعودون إليه. ويغطّي الإعلان شاشة التحميل. | الإعلانات على شاشة فتح التطبيق |