يُعدّ دمج حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" في تطبيقك الخطوة الأولى نحو عرض الإعلانات وتحقيق الإيرادات. بعد دمج حزمة SDK، يمكنك المتابعة لتنفيذ شكل واحد أو أكثر من أشكال الإعلانات المتوافقة.
المتطلبات الأساسية
- استخدام الإصدار 16.0 من Xcode أو إصدار أحدث
- استهداف الإصدار 12.0 من نظام التشغيل iOS أو الإصدارات الأحدث
استيراد حزمة تطوير البرامج (SDK) لعرض الإعلانات على الأجهزة الجوّالة
استخدِم إحدى الطريقتَين التاليتَين لاستيراد "حزمة تطوير البرامج (SDK) لإعلانات Google على الأجهزة الجوّالة".
Swift Package Manager
لإضافة تبعية حزمة إلى مشروعك، اتّبِع الخطوات التالية:
في Xcode، ثبِّت حزمة Google Mobile Ads Swift Package من خلال الانتقال إلى ملف > إضافة تبعيات الحزمة....
في الطلب الذي يظهر، ابحث عن مستودع Google Mobile Ads Swift Package GitHub:
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
اختَر إصدار حزمة Google Mobile Ads Swift التي تريد استخدامها. بالنسبة إلى المشاريع الجديدة، ننصحك باستخدام Up to Next Major Version.
CocoaPods
قبل المتابعة، راجِع مقالة استخدام CocoaPods للحصول على معلومات حول إنشاء ملفات Podfile واستخدامها.
لاستخدام CocoaPods، يُرجى اتّباع الخطوات التالية:
افتح Podfile الخاص بمشروعك وأضِف هذا السطر إلى إعدادات
target
الإنشاء في تطبيقك:pod 'Google-Mobile-Ads-SDK'
في الوحدة الطرفية، شغِّل:
pod install --repo-update
التنزيل يدويًا
نزِّل حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" و
Embed & Sign
الأُطر التالية في مشروع Xcode:GoogleMobileAds.xcframework
UserMessagingPlatform.xcframework
في إعدادات الإصدار لمشروعك، اتّبِع الخطوات التالية:
- أضِف مسار
/usr/lib/swift
إلى مسارات البحث Runpath. - أضِف علامة ربط
-ObjC
إلى علامات الربط الأخرى.
- أضِف مسار
تعديل ملف Info.plist
عدِّل ملف Info.plist
في تطبيقك لإضافة مفتاحَين:
مفتاح
GADApplicationIdentifier
بقيمة سلسلة تتضمّن معرّف تطبيقك على "مدير إعلانات Google" الذي يمكنك العثور عليه في واجهة مستخدم "مدير إعلانات Google"، ويكون بالتنسيقca-app-pub-################~##########
.مفتاح
SKAdNetworkItems
يتضمّن قيمSKAdNetworkIdentifier
خاصة بـ Google (cstr6suwn9.skadnetwork
) ومشترين محدّدين من جهات خارجية قدّموا هذه القيم إلى Google.
المقتطف الكامل
<key>GADApplicationIdentif<ier/ke<y> !-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~1458002>5<11 -- string>SAMP<LE_APP_ID</string> key>S<KAdNet<workItems</key> a<rray> dict> k<ey>SKAd<NetworkIdentifier/key> < string><cstr6suwn<9.skadnetw<ork/string> /dict><; dict&g<t; key>SKAdNetworkIden<tifier/key&<gt; s<tring>4<fzdc2evr5.skadnetwork/str<ing> </dict> dict> key&<gt;SKAdNetw<orkIdenti<fier/key&g<t; string>2fnua5td<w4.skadnet<work/string> /dict> < dict> < key><;SKAdNetwo<rkIdentifier/key> <string><ydx93a7ass.skadnetwork/string<> /dic<t> d<ict> < key>SKAdNetworkIdent<ifier/key&<gt; string>p78axxw29g.<skadnetwork</string&g<t; /dict<> dict> key&g<t;SKAdNetw<orkIdentifier/key> str<ing>v72q<ych5uu.sk<adnetwork/<string> /dict> <dict> < key>SKAdNetworkIdentifi<er/key> < strin<g>ludvb<6z3bs.skadnetwork/string&<gt; /dic<t> dict> key>S<KAdNetworkI<dentifier</key> < string>cp8zw746q7.s<kadnetwork</string> /dict> dic<t> k<ey>SKA<dNetworkId<entifier/key> stri<ng>3sh4<2y64q3.skadnetwork/string>< /dict><; dict&<gt; ke<y>SKAdNetworkIdentifie<r/key> < string>c6k4g5qg8m.skad<network/str<ing> < /dict>< dict> key>SK<AdNetworkI<dentifier/key> string&<gt;s39g8k73<mm.skadne<twork/stri<ng> /dict> dict<> k<ey>SKAdNetworkIdentifier/k<ey> <string><;3qy474624<6.skadnetwork/string> < /dict><; dict> key>SKAdN<etworkIdent<ifier/key<> s<tring>f38h382jlk.skadn<etwork/str<ing> /dict> dict><; key&g<t;SKAdNet<workIdenti<fier/key> string&g<t;hs6bduka<nm.skadnetwork/string> /<dict> <dict> < key><;SKAdNetworkIdentifier/ke<y> <string>mlmmfzh3r3.skadnetw<ork/string&<gt; /di<ct> d<ict> key>SKAdNe<tworkIdent<ifier/key> string>v<4nxqhlyqp.s<kadnetwor<k/string&g<t; /dict> dict>< key&g<t;SKAdNetworkIdentifier/key&g<t; stri<ng>wzm<mz9fp6w.sk<adnetwork/string> /d<ict> <dict> key>SKAdNetwo<rkIdentifie<r/key>< strin<g>su67r6k2v3.skadnetwo<rk/string&<gt; /dict> dict> < key>SK<AdNetwork<Identifier</key> string>yc<lnxrl5pm.s<kadnetwork/string> /dict<> dict<> <key>SKA<dNetworkIdentifier/key><; stri<ng>t38b2kh725.skadnetwork/<string> < /dict&g<t; dict&<gt; key>SKAdNetwor<kIdentifie<r/key> string>7ug5z<h24hu.skadn<etwork/st<ring> < /dict> dict> < key>SK<AdNetworkIdentifier/key> < string&g<t;gta9lk7<p23.skadne<twork/string> /dict&<gt; dict<> key>SKAdNetworkId<entifier/ke<y> < string><;vutu7akeur.skadnetwork/s<tring> < /dict> dict> ke<y>SKAdNe<tworkIden<tifier/key<> string>y5ghdn<5j9k.skadn<etwork/string> /dict>< dict>< key&<gt;SKAdNet<workIdentifier/key> < string&g<t;v9wttpbfk9.skadnetwork/stri<ng> /d<ict> < dict> < key>SKAdNetworkIde<ntifier/ke<y> string>n38lu8286<q.skadnetwo<rk/string<> /di<ct> dict> key<>SKAdNe<tworkIdentifier/key> s<tring>47<vhws6wlr.<skadnetwor<k/string> /dict> < dict>< key>SKAdNetworkIdenti<fier/key><; str<ing>kbd<757ywx3.skadnetwork/strin<g> /d<ict> dict> key><;SKAdNetwor<kIdentifi<er/key>< string>9t245vhmpl<.skadnetwo<rk/string> /dict> d<ict> < key>S<KAdNetwork<Identifier/key> st<ring>a2<p9lx4jpn.skadnetwork/string&g<t; /dict&<gt; dic<t> <key>SKAdNetworkIdentif<ier/key><; string>22mmun2rn5.sk<adnetwork/s<tring>< /dict&g<t; dict> key><SKAdNetwor<kIdentifier/key> strin<g>44jx67<55aq.skad<network/st<ring> /dict> di<ct> < key>SKAdNetworkIdentifier</key> < string&<gt;k674qke<vps.skadnetwork/string><; /dict&<gt; dict> key>SKA<dNetworkIde<ntifier/k<ey> < string>4468km3ulz.ska<dnetwork/s<tring> /dict> dict&<gt; key<>SKAdN<etworkIden<tifier/key> string<>2u9pt9<hc89.skadnetwork/string> < /dict> < dict><; key&<gt;SKAdNetworkIdentifier/<key> < string>8s468mfl3y.skadne<twork/strin<g> /<dict> < dict> key>SKAd<NetworkIde<ntifier/key> string><;klf5c3l5u5<.skadnetw<ork/string<> /dict> dict&g<t; key<>SKAdNetworkIdentifier/key<> st<ring>p<pxm28t8ap.<skadnetwork/string> </dict> < dict> key>SKAdNet<workIdentif<ier/key&g<t; str<ing>kbmxgpxpgc.skadnet<work/strin<g> /dict> dict> < key><SKAdNetwo<rkIdentifi<er/key> string><uw77j35x4d<.skadnetwork/string> /di<ct> di<ct> < key>S<KAdNetworkIdentifier/key&<gt; st<ring>578prtvx9j.skadnetwor<k/string><; /di<ct> 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 وغير مرتبطة بأي تطبيق معيّن إلى جميع تطبيقات iOS في حسابك، ما قد يؤدي إلى إطالة الوقت المطلوب لعملية التهيئة.
إعداد حزمة تطوير البرامج (SDK) للإعلانات على الأجهزة الجوّالة
قبل تحميل الإعلانات، استدعِ طريقة start()
في GADMobileAds.sharedInstance
، ما يؤدي إلى تهيئة حزمة تطوير البرامج (SDK) واستدعاء معالج الإكمال مرة أخرى بعد اكتمال عملية التهيئة (أو بعد انتهاء المهلة البالغة 30 ثانية). يجب استدعاء start()
في أقرب وقت ممكن.
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];
اختيار شكل إعلان
تم الآن استيراد حزمة "SDK للإعلانات على الأجهزة الجوّالة" وإعدادها، وأنت جاهز لتنفيذ إعلان. يوفّر "مدير إعلانات Google" عددًا من أشكال الإعلانات المختلفة، ما يتيح لك اختيار الشكل الأنسب لتجربة المستخدم في تطبيقك.
بانر
تعرض الوحدات الإعلانية لإعلانات البانر إعلانات مستطيلة تشغل جزءًا من تصميم التطبيق. ويمكن تحديثها تلقائيًا بعد فترة زمنية معيّنة. وهذا يعني أنّ المستخدِمين سيشاهدون إعلانًا جديدًا على فترات زمنية منتظمة، حتى إذا ظلّوا على الشاشة نفسها في تطبيقك. ويُعدّ هذا الشكل أبسط أشكال الإعلانات التي يمكن تنفيذها.
إعلان بيني
تعرض وحدات الإعلانات البينية إعلانات بملء الصفحة داخل تطبيقك. ويمكنك عرض هذه الإعلانات في لحظات التنقّل أو الفواصل التي تحدث بشكلٍ تلقائي في واجهة تطبيقك، على سبيل المثال، بعد اكتمال مستوىً معيّن في أحد تطبيقات الألعاب.
مدمجة مع المحتوى
الإعلانات المدمجة مع المحتوى هي إعلانات يمكنك تخصيص طريقة عرض مواد العرض فيها، مثل العناوين وعبارات الحث على اتّخاذ إجراء، في تطبيقاتك. من خلال تصميم الإعلان بنفسك، يمكنك إنشاء عروض إعلانية طبيعية وغير متداخلة يمكن أن تساهم في تقديم تجربة مستخدم غنية.
يوفّر "مدير إعلانات Google" طريقتَين لتنفيذ "الإعلانات المدمجة مع المحتوى": أنماط الإعلانات المدمجة مع المحتوى و"الإعلانات المدمجة مع المحتوى" العادية من خلال العرض المخصّص.
تم تصميم "الأنماط الأصلية" لتبسيط عملية تنفيذ الإعلانات المدمجة مع المحتوى، وهي خيار رائع إذا كنت جديدًا على هذا الشكل. تم تصميم العرض المخصّص لزيادة الحرية المتاحة لك في إنشاء عروضك التقديمية.
تنفيذ أنماط الإعلانات المدمجة مع المحتوى تنفيذ الإعلانات المدمجة مع المحتوى (العرض المخصّص)
تم منح المكافأة
تتيح وحدات "الإعلانات مقابل مكافأة" للمستخدمين تشغيل الألعاب أو المشاركة في استطلاعات أو مشاهدة فيديوهات للحصول على مكافآت داخل التطبيق، مثل الحصول على عملات معدنية أو محاولات إضافية أو نقاط. يمكنك ضبط مكافآت مختلفة لوحدات إعلانية مختلفة، وتحديد قيم المكافأة والعناصر التي حصل عليها المستخدم.
إعلان بيني يقدّم مكافأة
الإعلان البيني بمكافأة هو نوع جديد من أشكال الإعلانات المحفَّزة التي تتيح لك تقديم مكافآت، مثل العملات المعدنية أو محاولات إضافية للإعلانات التي تظهر تلقائيًا أثناء عمليات النقل العادية للتطبيقات.
على عكس الإعلانات مقابل مكافأة، لا يُطلب من المستخدمين الموافقة على عرض إعلان بيني مقابل مكافأة.
وبدلاً من رسالة طلب الموافقة داخل "الإعلانات مقابل مكافأة"، تتطلّب "الإعلانات البينية مقابل مكافأة" شاشة تمهيدية تُعلن عن المكافأة وتمنح المستخدمين فرصة للإيقاف إذا أرادوا إجراء ذلك.
تنفيذ الإعلانات البينية التي تضمّ مكافأة
إعلان على شاشة فتح التطبيق
"الإعلانات على شاشة فتح التطبيق" هي شكل إعلان يظهر عندما يفتح المستخدمون تطبيقك أو يعودون إليه. يظهر الإعلان على شاشة التحميل.
تنفيذ "الإعلانات على شاشة فتح التطبيق"