يُعدّ دمج حزمة تطوير البرامج (SDK) لإعلانات Google على الأجهزة الجوّالة في أحد التطبيقات الخطوة الأولى نحو عرض الإعلانات وتحقيق الربح. بعد دمج حزمة تطوير البرامج (SDK)، يمكنك مواصلة تنفيذ واحد أو أكثر من أشكال الإعلانات المتوافقة.
المتطلبات الأساسية
- استخدام Xcode 14.1 أو إصدار أحدث
- الإصدار 11.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.
في Xcode، يجب تثبيت حزمة Swift لإعلانات Google على الأجهزة الجوّالة من خلال الانتقال إلى ملف > إضافة حِزم....
في الإشعار الذي يظهر، ابحث عن مستودع حزمة Mobile Swift من GitHub
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
اختَر إصدار حزمة إعلانات Google للأجهزة الجوّالة التي تريد استخدامها. بالنسبة إلى المشاريع الجديدة، ننصح باستخدام ما يصل إلى الإصدار الرئيسي التالي.
بعد الانتهاء، ستبدأ خدمة Xcode في حل مشكلة اعتماديات الحزمة وتنزيلها في الخلفية. لمعرفة مزيد من التفاصيل حول طريقة إضافة العناصر التابعة للحزمة، يُرجى الاطّلاع على مقالة Apple.
التنزيل يدويًا
يمكنك تنزيل إطار عمل حزمة تطوير البرامج (SDK) وفك ضغطه مباشرةً، واستيراد أُطر العمل التالية إلى مشروع Xcode:
GoogleAppMeasurement.xcframework
GoogleAppMeasurementIdentitySupport.xcframework
GoogleMobileAds.xcframework
GoogleUtilities.xcframework
nanopb.xcframework
PromisesObjC.xcframework
UserMessagingPlatform.xcframework
أضف علامة رابط
-ObjC
إلى علامات رابط أخرى في إعدادات إنشاء مشروعك:
تعديل Info.plist
يجب تعديل ملف Info.plist
لتطبيقك لإضافة مفتاحَين:
مفتاح
GADApplicationIdentifier
مع قيمة سلسلة Ad Manager app ID found in the Ad Manager UI and of the formca-app-pub-################~##########
.مفتاح
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>4pfyvq9l8r.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>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>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>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>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>n6fk4nfna4.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>eh6m2bh4zr.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>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>ecpz2srf59.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>uw77j35x4d.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>pwa73g5rt2.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>mlmmfzh3r3.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>3rd42ekr43.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3qcr597p9d.skadnetwork</string> </dict> </array>
لتحقيق أفضل أداء إعداد، من المهم ربط مجموعات العائد بالتطبيقات المحدّدة التي يتم استخدامها فيها. سيتم إرسال عمليات ضبط المجموعات التي تستهدف iOS وغير المرتبطة بأي تطبيق معيّن إلى جميع تطبيقات iOS في حسابك، ما قد يؤدي إلى إطالة الوقت المطلوب لإعدادها.
إعداد حزمة تطوير البرامج (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) للإعلانات على الأجهزة الجوّالة وإعدادها، ويمكنك الآن تنفيذ أحد الإعلانات. Ad Manager تقدّم عددًا من أشكال الإعلانات المختلفة، حتى تتمكّن من اختيار الشكل الذي يناسب تجربة المستخدم على تطبيقك على أفضل نحو.
بانر
إعلانات مستطيلة تظهر في أعلى شاشة الجهاز أو أسفلها. تظل إعلانات البانر على الشاشة أثناء تفاعل المستخدمين مع التطبيق، ويمكن إعادة تحميلها تلقائيًا بعد فترة زمنية معيّنة. إذا كنت جديدًا في مجال الإعلان على الأجهزة الجوّالة، فهي نقطة بداية رائعة.
إعلان بيني
الإعلانات بملء الشاشة التي تغطي واجهة تطبيق إلى أن يغلقها المستخدم وتُستخدم هذه التطبيقات على أفضل نحو في فترات الإيقاف المؤقت أثناء تنفيذ التطبيق، مثل الانتقال بين مستويات اللعبة أو بعد اكتمال المهمة.
مدمجة مع المحتوى
إعلانات قابلة للتخصيص تناسب مظهر تطبيقك ومضمونه، وعليك اختيار كيفية وضعها ومكانها، بحيث يصبح التنسيق أكثر اتساقًا مع تصميم تطبيقك.
يقدّم "مدير إعلانات Google" طريقتَين لتنفيذ الإعلانات المدمجة مع المحتوى، وهما: الأنماط المدمجة مع المحتوى والعرض المخصّص.
تم تصميم الأنماط المدمجة مع المحتوى لتسهيل تنفيذ الإعلانات المدمجة مع المحتوى قدر الإمكان، ويُعد اختيارًا رائعًا إذا كنت حديث العهد بهذا الشكل. تم تصميم العرض المخصّص لزيادة حرية الحرية في إنشاء عروضك التقديمية.
تنفيذ أنماط الإعلانات المدمجة مع المحتوى | تنفيذ العرض المخصّص |
تم منح المكافأة
الإعلانات التي تكافئ المستخدمين على مشاهدة فيديوهات قصيرة وتفاعلهم مع إعلانات تشغيل إصدار بسيط من اللعبة والاستطلاعات هذا الخيار مناسب لتحقيق الربح من مستخدمي الإصدار المجاني.
تنفيذ الإعلانات بمكافأة | تنفيذ الإعلانات بمكافأة (واجهات برمجة التطبيقات الجديدة) |