البدء

هذا الدليل موجّه للناشرين الذين يريدون تحقيق الربح المادي من تطبيق iOS باستخدام AdMob، والذين لا يستخدمون Firebase. وإذا كنت تخطط لإدراج Firebase في تطبيقك (أو أنت تفكّر في ذلك)، اطلع على إصدار AdMob مع Firebase من هذا الدليل بدلاً من ذلك.

إن دمج حزمة SDK لإعلانات Google على الأجهزة الجوّالة في تطبيق هو الخطوة الأولى نحو عرض الإعلانات وتحقيق أرباح. بعد دمج حزمة تطوير البرامج (SDK)، يمكنك متابعة تنفيذ واحد أو أكثر من أشكال الإعلانات المتوافقة.

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

  • استخدام Xcode 13.2.1 أو إصدار أحدث
  • الإصدار 10.0 أو الإصدارات الأحدث من iOS

استيراد حزمة تطوير البرامج (SDK) للإعلانات على الأجهزة الجوّالة

CocoaPods (الخيار المفضّل)

أسهل طريقة لاستيراد حزمة تطوير البرامج (SDK) إلى مشروع iOS هي استخدام CocoaPods. افتح Podfile في مشروعك وأضِف هذا السطر إلى هدف التطبيق:

pod 'Google-Mobile-Ads-SDK'

بعد ذلك، يمكنك تشغيل سطر الأوامر:

pod install --repo-update

إذا كنت مستخدمًا جديدًا لتطبيق CocoaPods، يمكنك الاطّلاع على المستندات الرسمية للحصول على معلومات حول كيفية إنشاء ملفات Podfiles واستخدامها.

مدير الحزم Swift

تتوافق حزمة SDK لإعلانات Google على الأجهزة الجوّالة مع مدير حزمة Swift بدءًا من الإصدار 9.0.0. اتّبِع الخطوات التالية لاستيراد حزمة Swift.

  1. في Xcode، ثبِّت حزمة Swift لإعلانات Google على الأجهزة الجوّالة من خلال الانتقال إلى File > Add Packages... (الملف والحزمة).

  2. في الرسالة التي تظهر، ابحث عن مستودع GitHub في حزمة Swift لإعلانات Google للأجهزة الجوّالة:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. يُرجى اختيار إصدار حزمة Swift لإعلانات Google على الأجهزة الجوّالة التي تريد استخدامها. بالنسبة إلى المشاريع الجديدة، ننصح باستخدام الإصدار الرئيسي التالي.

بعد الانتهاء، سيبدأ Xcode في حل اعتماديات الحزمة وتنزيلها في الخلفية. لمزيد من التفاصيل حول كيفية إضافة المهام التابعة للحزمة، يُرجى الاطّلاع على مقالة Apple's.

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

  1. يمكنك تنزيل إطار عمل حزمة تطوير البرامج (SDK) وفك ضغطه مباشرةً، واستيراد أُطر العمل التالية إلى مشروع Xcode:

    • GoogleAppMeasurement.xcframework
    • GoogleAppMeasurementIdentitySupport.xcframework
    • GoogleMobileAds.xcframework
    • GoogleUtilities.xcframework
    • nanopb.xcframework
    • PromisesObjC.xcframework
    • UserMessagingPlatform.xcframework
  2. أضِف علامة الرابط -ObjC إلى علامات الروابط الأخرى في إعدادات إنشاء مشروعك:

تعديل ملف Info.plist

عدِّل ملف Info.plist في تطبيقك لإضافة مفتاحَين:

  1. مفتاح GADApplicationIdentifier مع قيمة سلسلة AdMob لرقم تعريف التطبيق (المحدَّد في AdMob واجهة المستخدم).
  2. مفتاح SKAdNetworkItems مع قيم SKAdNetworkIdentifier لـ Google (cstr6suwn9.skadnetwork) واختيار مشترين إضافية قدّموا هذه القيم إلى Google.
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</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>5a6flpkh64.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>c6k4g5qg8m.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>s39g8k73mm.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>3qy4746246.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>3sh42y64q3.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>prcb7njmu6.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>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>9rd848q2bz.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>n6fk4nfna4.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>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>av6w8kgt66.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>424m5254lk.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>e5fvkxwrpn.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>8c4e2ghe7u.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>zq492l623r.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>3qcr597p9d.skadnetwork</string>
    </dict>
  </array>

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

إعداد حزمة تطوير البرامج (SDK) للإعلانات على الأجهزة الجوّالة

قبل تحميل الإعلانات، يجب استدعاء طريقة startWithCompletionHandler: على GADMobileAds.sharedInstance، التي تعمل على إعداد حزمة تطوير البرامج (SDK) واستدعاء معالج الاكتمال بعد اكتمال الإعداد (أو بعد انتهاء المهلة التي تبلغ 30 ثانية). يجب إجراء ذلك مرة واحدة فقط، ويُفضَّل عند إطلاق التطبيق. يجب الاتصال بالرقم startWithCompletionHandler: في أقرب وقت ممكن.

في ما يلي مثال على كيفية استدعاء الطريقة startWithCompletionHandler: في AppDelegate:

مثال على AppApp.m (مقتطف)

Swift

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }

}

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GADMobileAds.sharedInstance startWithCompletionHandler:nil];
  return YES;
}

@end

إذا كنت تستخدم التوسّط، ننصحك بالانتظار إلى أن يتم استدعاء معالج الإكمال قبل تحميل الإعلانات، لأنّ ذلك سيضمن إعداد جميع محوّلات التوسّط.

اختيار شكل الإعلان

يتم الآن استيراد حزمة تطوير البرامج (SDK) للإعلانات على الأجهزة الجوّالة وإعدادها، وأنت على استعداد لتنفيذ الإعلان. AdMob يقدّم عددًا من أشكال الإعلانات المختلفة، بحيث يمكنك اختيار الشكل الذي يناسب تجربة المستخدم على تطبيقك.

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

تنفيذ إعلان بانر

إعلان بيني

إعلانات ملء الشاشة التي تغطي واجهة التطبيق حتى يغلقها المستخدم. ويتم استخدامها على أفضل نحو في فترات الإيقاف المؤقت خلال سير تنفيذ التطبيق، على سبيل المثال بين مستويات اللعبة أو بعد اكتمال مهمة مباشرةً.

تنفيذ إعلان بيني

مدمجة مع المحتوى

يمكنك تخصيص الإعلانات التي تطابق مظهر تطبيقك ومضمونه. ويمكنك اختيار كيفية الوصول إلى الموقع الجغرافي ومكانه، بحيث يكون التنسيق أكثر اتساقًا مع تصميم تطبيقك.

التنفيذ Native Ads

تم منح المكافأة

الإعلانات التي تكافئ المستخدمين على مشاهدة فيديوهات قصيرة وتفاعلهم مع إعلانات تشغيل إصدار بسيط من اللعبة ومع الاستطلاعات. هذا الخيار جيد لتحقيق الربح من مستخدمي التشغيل المجاني.

تنفيذ الإعلانات بمكافأة تنفيذ الإعلانات بمكافأة (واجهات برمجة التطبيقات الجديدة)