إعداد حزمة "SDK لإعلانات Google على الأجهزة الجوّالة"

اختيار النظام الأساسي: Android iOS Unity Flutter Android (إصدار قديم)

لعرض الإعلانات وتحقيق الإيرادات، عليك دمج 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

لـ إضافة تبعية حزمة إلى مشروعك، اتّبِع الخطوات التالية:

  1. افتح Xcode.
  2. انتقِل إلى ملف > إضافة تبعيات الحزمة....
  3. ثبِّت حزمة Google Mobile Ads SDK Swift.

  4. في الرسالة التي تظهر، ابحث عن مستودع Google Mobile Ads Swift Package على GitHub:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  5. اختَر إصدار حزمة Google Mobile Ads SDK Swift الذي تريد استخدامه. بالنسبة إلى المشاريع الجديدة، ننصحك باستخدام حتى الإصدار الرئيسي التالي.

CocoaPods

لاستخدام CocoaPods، اتّبِع الخطوات التالية:

  1. افتح ملف Podfile الخاص بمشروعك وأضِف هذا السطر إلى إعدادات إنشاء target لتطبيقك:

    pod 'Google-Mobile-Ads-SDK'
  2. في الوحدة الطرفية، شغِّل ما يلي:

    pod install --repo-update

التنزيل يدويًا

لتنزيل Google Mobile Ads SDK يدويًا، اتّبِع الخطوات التالية:

  1. نزِّل Google Mobile Ads SDK.
  2. استخرِج حزمة googlemobileadssdkios.zip.
  3. في مشروع Xcode، أضِف الأطر التالية:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  4. في إعدادات عام لهدفك، انتقِل إلى الأطر والمكتبات والمحتوى المضمّن.

  5. تأكَّد من أنّك ضبطت GoogleMobileAds.xcframework وUserMessagingPlatform.xcframework على التضمين والتوقيع.

  6. في إعدادات إنشاء مشروعك، اتّبِع الخطوات التالية:

    • أضِف المسار /usr/lib/swift إلى مسارات البحث عن Runpath.
    • أضِف علامة الرابط -ObjC إلى علامات الرابط الأخرى.

تعديل ملف Info.plist

في ملف Info.plist الخاص بتطبيقك، أضِف المفاتيح التالية:

مثال مُكتمل

<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" أشكال الإعلانات التالية:

شكل الإعلان الوصف الوثائق
بانر يعرض إعلانات مستطيلة في قسم من تصميم تطبيقك. ويتم تعديل هذا الإعلان تلقائيًا على فترات زمنية محدّدة. يشاهد المستخدمون هذه الإعلانات بشكل دوري عند البقاء على الشاشة نفسها. إعداد "إعلانات بانر"
إعلان بيني يعرض إعلانات بملء الصفحة في تطبيقك. يمكنك عرض هذا الإعلان في لحظات التنقّل أو الفواصل التي تحدث بشكلٍ تلقائي في واجهة تطبيقك، على سبيل المثال، بعد اكتمال مستوىً معيّن في أحد تطبيقات الألعاب. الإعلانات البينية
مدمج مع المحتوى يتيح لك تخصيص مواد العرض، مثل العناوين وعبارات الحث على اتخاذ إجراء، في تطبيقاتك. عند تخصيص الإعلان، يمكنك إنشاء إعلانات تتطابق مع التصميم المرئي لتطبيقك. تحميل إعلان مدمج مع المحتوى
تمت المكافأة يحصل المستخدمون على مكافآت داخل التطبيق، مثل العملات المعدنية أو النقاط، من خلال تشغيل الألعاب أو المشاركة في الاستطلاعات أو مشاهدة الفيديوهات. يمكنك إعداد مكافآت للوحدات الإعلانية، وتحديد قيم المكافأة والعناصر التي يتلقّاها المستخدمون. الإعلانات مقابل مكافأة
إعلان بيني مقابل مكافأة يتيح لك تقديم مكافآت، مثل العملات المعدنية أو محاولات إضافية للإعلانات التي تظهر أثناء عمليات النقل في التطبيق. الإعلانات البينية مقابل مكافأة
إعلان على شاشة فتح التطبيق يظهر عندما يفتح المستخدمون تطبيقك أو يعودون إليه. ويغطّي الإعلان شاشة التحميل. الإعلانات على شاشة فتح التطبيق