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

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

لعرض الإعلانات وتحقيق الإيرادات، عليك دمج Google Mobile Ads SDK في تطبيقك على iOS. ولإعداد مشروعك، عليك استيراد Google Mobile Ads SDK وإعدادها قبل طلب الإعلانات.

إذا كنت تستخدم Firebase في تطبيقك على iOS، اطّلِع على مقالة بدء استخدام AdMob في مشروعك على iOS.

يغطّي هذا الدليل استيراد Google Mobile Ads SDK وإعدادها، واختيار شكل إعلان.

المتطلبات الأساسية

قبل المتابعة، تأكَّد من توفُّر ما يلي:

  • استخدِم Xcode 16.0 أو إصدارًا أحدث.
  • استهدِف iOS 13.0 أو إصدارًا أحدث.

استيراد Google Mobile Ads SDK

لاستيراد Google Mobile Ads SDK، أكمل أحد القسمَين التاليَين:

Swift Package Manager

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

  1. افتح Xcode.
  2. انتقِل إلى ملف > إضافة موارد الاعتمادية للحزمة (File > Add Package Dependencies)....
  3. ثبِّت حزمة Google Mobile Ads SDK Swift Package.

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

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

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. في إعدادات عام لهدفك، انتقِل إلى الأطر والمكتبات والمحتوى المضمّن (Frameworks, Libraries, and Embedded Content).

  5. تأكَّد من أنّك ضبطت GoogleMobileAds.xcframework وUserMessagingPlatform.xcframework على تضمين وتوقيع (Embed & Sign).

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

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

تعديل ملف Info.plist

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

مثال مُكتمل

<key>GADApplicationIdentifier</key>
<!-- Sample AdMob 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 برقم تعريف تطبيقك على AdMob. أثناء الاختبار، استخدِم رقم تعريف نموذج التطبيق الموضّح في المثال السابق.

إذا لم يسبق لك إنشاء حساب على AdMob وتسجيل تطبيق، هذا هو الوقت المناسب للقيام بذلك.

إعداد 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، يمكنك اختيار شكل إعلان لتنفيذه.

تقدّم AdMob أشكال الإعلانات التالية:

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