كيفية دمج AdMob Banner Ads مع تطبيقات iOS الخاصة بك باستخدام Google Mobile Ads SDK

مثل معظم المطورين ، ربما تبحث عن طرق لكسب أموال إضافية من تطبيقك. الطريقة الأكثر مباشرة هي وضع تطبيقك في متجر التطبيقات وبيعه مقابل 0.99 دولار أو أكثر. هذا النموذج المدفوع يعمل بشكل جيد في بعض التطبيقات. ولكن هذا ليس هو النموذج الوحيد لتحقيق الدخل. في هذا البرنامج التعليمي ، دعونا نرى كيفية استثمار التطبيق الخاص بك باستخدام Google AdMob.

مهلا ، لماذا جوجل AdMob؟ نحن نعمل على تطوير تطبيقات iOS. لماذا لا نستخدم Apple iAd؟

أوقفت Apple شبكة iAd App الخاصة بها في 30 يونيو 2016. لذلك ، لم يعد بإمكانك استخدام iAd كحل إعلاني لتطبيقات iOS. عليك أن تبحث عن بدائل أخرى لوضع إعلانات البانر.

من بين جميع شبكات إعلانات الجوال ، لا يمكن إنكار أن AdMob من Google هو الأكثر شعبية. على غرار iAd ، توفر Google SDK للمطورين لتضمين الإعلانات في تطبيق iOS الخاص بهم. تبيع Google المساحة الإعلانية (مثل الشعارات) داخل تطبيقك لمجموعة من المعلنين. تكسب إيرادات الإعلانات عندما يشاهد المستخدم إعلاناتك أو ينقر عليها.

لاستخدام AdMob في تطبيقاتك ، ستحتاج إلى استخدام Google Mobile Ads SDK. التكامل ليس صعبا. لعرض لافتة إعلانية بسيطة ، لا يتطلب الأمر سوى بضعة سطور من التعليمات البرمجية وكنت على استعداد للبدء في جني الأرباح من تطبيقك.

لا توجد طريقة أفضل لتعلم تكامل AdMob من تجربة ذلك. إذا كنت قارئًا لوقت طويل لدروسنا التعليمية ، فأنت تعلم أننا نشجعك على التعلم بالممارسة. لذلك ، كالعادة ، سنعمل على مشروع عينة ثم نضيف إعلان لافتة. يمكنك تنزيل قالب مشروع Xcode من هنا.

تطبيق حساب Google AdMob

قبل أن تتمكن من دمج تطبيقاتك مع Google AdMob ، ستحتاج أولاً إلى التسجيل في خدمة AdMob. افتح الآن الرابط أدناه باستخدام Safari أو متصفحك المفضل:

https://www.google.com/admob/

نظرًا لأن AdMob أصبح الآن جزءًا من Google ، يمكنك ببساطة تسجيل الدخول بحسابك في Google أو تسجيل حساب جديد. يتطلب AdMob أن يكون لديك حساب AdSense صالح وحساب AdWords. إذا لم يكن لديك واحد من هذين الحسابين أو كليهما ، فاتبع عملية الاشتراك وربطهما بحسابك في Google.

تسجيل الدخول إلى جوجل AdMob

بمجرد الانتهاء من التسجيل ، سيتم توجيهك إلى لوحة معلومات AdMob. في التنقل على يسارك ، حدد خيار التطبيقات.

لوحة تحكم AdMob

هنا ، اختر خيار "إضافة تطبيقك الأول". سوف يسألك AdMob أولاً عما إذا كان قد تم نشر تطبيقك في متجر التطبيقات. بافتراض عدم نشر تطبيقك ، حدد الخيار "لا". سنقوم بتسجيل التطبيق عن طريق ملء النموذج يدويا. في المستقبل ، إذا كان لديك بالفعل تطبيق على App Store ، يمكنك السماح لـ AdMob باسترداد معلومات التطبيق الخاصة بك.

عيّن اسم التطبيق إلى GoogleAdMobDemo واختر iOS لخيار النظام الأساسي. انقر فوق "إضافة" للمتابعة إلى الخطوة التالية. سيقوم AdMob بعد ذلك بإنشاء معرف تطبيق للتطبيق. يرجى تقديم ملاحظة لمعرف التطبيق هذا. سنحتاج إلى إضافته إلى تطبيقنا للتكامل مع AdMob.

معرف تطبيق AdMob الخاص بك

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

إنشاء إعلان لافتة

انقر فوق "حفظ" لإنشاء معرف الوحدة الإعلانية. هذا يكمل تكوين التطبيق الجديد الخاص بك. ستجد معرف التطبيق ومعرف الوحدة الإعلانية في إرشادات التنفيذ. يرجى حفظ هذه المعلومات. سنحتاج إليها في القسم التالي عندما ندمج AdMob مع مشروع Xcode الخاص بنا.

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

باستخدام Google Mobile Ads Framework

الآن وبعد الانتهاء من التكوين في AdMob ، دعنا ننتقل إلى التنفيذ الفعلي. قم بتشغيل Xcode وافتح GoogleAdDemo.xcworkspace لمشروع البدء. يرجى ملاحظة أنه GoogleAdDemo.xcworkspace بدلاً من GoogleAdDemo.xcodeproj أقترح عليك تجميع وتشغيل قالب المشروع بحيث يكون لديك فكرة أساسية عن التطبيق التجريبي ؛ إنه تطبيق بسيط يستند إلى جدول يعرض قائمة بالمقالات. سنقوم بتعديله لإظهار إعلان لكسب بعض الإيرادات الإضافية.

التطبيق التجريبي

لدمج Google AdMob في تطبيقك ، أول ما عليك فعله هو تثبيت إطار عمل Google Mobile Ads في مشروع Xcode. بالنسبة للمشروع المبدئي ، أضفت بالفعل الإطار باستخدام CocoaPods. إذا كنت بحاجة إلى القيام بذلك بنفسك ، فكل ما تحتاج إليه هو إنشاء ملف Podfile في مشروع Xcode ، ثم قم بإضافة السطر التالي إلى هدف التطبيق الخاص بك في الملف:

جراب "جوجل موبايل إعلانات SDK"

ثم تقوم بتشغيل تثبيت pod للاستيلاء على SDK ، والسماح لـ CocoaPods بدمج SDK في مشروع Xcode الخاص بك. على أي حال ، أفترض أنك تستخدم مشروع بداية لمتابعة هذا البرنامج التعليمي.

في مشروع بدء التشغيل ، إذا نظرت عن كثب إلى متصفح المشروع ، ستجد مشروعين: GoogleAdDemo و Pods. السابق هو المشروع الأصلي ، بينما Pods هو المشروع الذي يجمع SDK إعلانات Google Mobile. للحصول على تفاصيل حول كيفية تثبيت CocoaPods واستخدامه لتثبيت SDK ، أوصيك بمراجعة هذه المقالة.

لاستخدام Google Mobile Ads SDK في التعليمات البرمجية ، سيتعين عليك استيراد الإطار وتسجيل معرف التطبيق الخاص بك. سنفعل التهيئة في ملف AppDelegate.swift. أدخل عبارة الاستيراد في بداية الملف:

بعد ذلك ، أدخل السطر التالي من التعليمات البرمجية في التطبيق (_: didFinishLaunchingWithOptions :) method:

يرجى التأكد من استبدال معرف التطبيق بك. يتيح بدء تشغيل SDK لإعلانات Google للجوال في تشغيل التطبيق لـ SDK أداء مهام التكوين في أقرب وقت ممكن.

عرض إعلانات البانر في رأس عرض الجدول

لنبدأ بأبسط طريقة لعرض إعلان بانر في تطبيقك. سنطلب لافتة إعلانية من Google ونعرض الإعلان على رأس الجدول.

لعرض إعلان بانر في هذا الموضع ، كل ما عليك فعله هو إنشاء كائن GADBannerView ، وتعيين المفوض ، وجهاز التحكم في عرض الجذر. ثم يمكنك استدعاء طريقة التحميل الخاصة بها مع طلب إعلان لاسترداد إعلان بانر. عندما يكون الإعلان جاهزًا للعرض ، سيتصل بأسلوب adViewDidReceiveAd (bannerView :) لبروتوكول GADBannerViewDelegate. لذلك تحتاج فقط إلى تنفيذ طريقة لإظهار لافتة إعلانية في رأس عرض الجدول.

حسنًا ، دعنا الآن نذهب إلى التطبيق.

الآن افتح NewsTableViewController.swift. أولاً ، قم باستيراد إطار عمل GoogleMobileAds:

بعد ذلك ، قم بتعريف متغير من النوع GADBannerView. هذا هو المتغير لعقد عرض الشعار:

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

نحن نستخدم التهيئة البطيئة (أحيانًا ما يطلق عليه مثيل مثيل التحميل أو التحميل) لتهيئة المتغير adBannerView. في Swift ، يمكنك استخدام الكلمة الأساسية البطيئة للإشارة إلى أنه يمكن تهيئة المتغير لاحقًا. بشكل أكثر تحديدًا ، سيتم إنشاء مثيل للمتغير فقط عند استخدامه. هذه التقنية لتأخير إنشاء كائن تكون مفيدة بشكل خاص عندما يستغرق تحميل كائن ما وقتًا طويلاً أو أن الكائن الذي تشير إليه غير جاهز في وقت إنشاء الكائن. أثناء التهيئة ، قمنا بتعيين خصائص المفوض و rootViewController إلى الذات. نظرًا لأن NewsTableViewController غير جاهز في ذلك الوقت ، فإننا نستخدم كسول لتأجيل تهيئة adBannerView.

الآن بعد أن أنشأنا متغير adBannerView ، فإن الشيء التالي هو طلب الإعلان. للقيام بذلك ، كل ما عليك القيام به هو إضافة سطور التعليمات البرمجية التالية في طريقة viewDidLoad:

نبدأ تشغيل كائن GADRequest وقمنا بتعيين testDevices على أجهزة الاختبار الخاصة بنا ، والتي تتضمن جهاز محاكاة مضمن (على سبيل المثال kGADSimulatorID) ومعرف نموذج الجهاز. إذا كنت ترغب في اختباره على جهاز iPhone / iPad ، فيرجى التأكد من استبدال معرف الهوية بمعرف جهازك. يمكنك العثور على معرف الجهاز عن طريق توصيل جهاز iPhone الخاص بك بجهاز Mac ثم فتح نافذة> جهاز ومحاكاة في Xcode.

قد تتساءل لماذا تحتاج إلى تحديد أجهزة الاختبار. ماذا لو حذفت هذا السطر من الكود؟ سيعمل تطبيقك وعرض الإعلانات. لكن سياسة Google يجب عليك الامتثال لها.

بمجرد تسجيل تطبيق ما في AdMob UI وإنشاء معرّفات الوحدة الإعلانية الخاصة بك لاستخدامها في التطبيق الخاص بك ، ستحتاج إلى تهيئة جهازك بشكل صريح كجهاز اختبار عندما تقوم بالتطوير. هذا مهم للغاية. يعد الاختبار باستخدام إعلانات حقيقية (حتى إذا لم تضغط عليها مطلقًا) مخالفًا لسياسة AdMob ويمكن أن يتسبب في تعليق حسابك.
- دليل تكامل AdMob

أخيرًا ، نحتاج إلى اعتماد بروتوكول GADBannerViewDelegate. سننشئ امتدادًا لاعتماد البروتوكول وتطبيق طريقتين اختياريتين مثل:

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

حاول تشغيل التطبيق التجريبي واللعب معه. عندما يتم تشغيل التطبيق ، سترى لافتة إعلانية في الجزء العلوي من عرض الجدول.

لافتة الإعلانات على رأس عرض الجدول
ملاحظة: إذا فشل تطبيقك في استرداد الإعلان ، فالرجاء محاولة تغيير قيمة adUnitId إلى ca-app-pub-3940256099942544/2934735716.

مضيفا الرسوم المتحركة خفية

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

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

كما ذكر من قبل ، يتم استدعاء طريقة adViewDidReceiveAd عندما يكون الإعلان جاهزًا. لتحريك لافتة الإعلانات ، كل ما نحتاج إلى القيام به هو تعديل الطريقة مثل هذه:

نقوم أولاً بإنشاء translateTransform لنقل عرض الشعار خارج الشاشة. ثم ندعو UIView.animate لتحريك الشعار لأسفل على الشاشة.

قم بتشغيل المشروع مرة أخرى لاختبار التطبيق. سيتم عرض الإعلان بتأثير متحرك.

موحية لافتة إعلانية

عرض إعلان بانر مثبت

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

يتم الآن إدراج إعلان الشعارات في عرض رأس الجدول. إذا كنت ترغب في جعلها لزجة ، فيمكنك إضافتها إلى عرض رأس القسم بدلاً من عرض رأس الجدول.

دعونا نرى كيفية تنفيذها.

أدخل الطرق التالية في فئة NewsTableViewController:

نحن نتجاوز الجدول الافتراضي viewView (_: viewForHeaderInSection :) method with our method to return the banner view view.

الارتفاع الافتراضي للرأس صغير جدًا بالنسبة إلى لافتة الإعلانات. لذا ، فإننا نتجاوز أيضًا طريقة الجدول tableView (_: heightForHeaderInSection :) ونعيد ارتفاع إطار عرض الشعارات.

أخيرًا ، قم بتعديل طريقة adViewDidReceiveAd مثل هذا:

نحن فقط نزيل سطور التعليمات البرمجية المرتبطة برأس عرض الجدول ، والتي لم تعد ضرورية.

هذا هو. إنه جاهز الآن لاختبار التطبيق مرة أخرى. يتم عرض لافتة الإعلانات في الموضع الثابت.

عرض لافتة إعلانية لزجة

العمل مع الإعلانات الخلالي

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

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

للقيام بذلك ، عليك أولاً العودة إلى لوحة معلومات AdMob (https://apps.admob.com) لإنشاء إعلان interstial لتطبيق العرض التوضيحي. حدد التطبيقات في القائمة الجانبية واختر GoogleAdMobDemo. في الشاشة التالية ، انقر فوق إضافة وحدة إعلانية لإنشاء وحدة إعلانية جديدة.

إضافة وحدة إعلانية Interstitial جديدة

هذه المرة ، نقوم بإنشاء إعلان الخلالي. قم بتسمية الوحدة الإعلانية ثم انقر فوق "حفظ" لإنشاء الوحدة. يجب أن ينشئ AdMob معرف وحدة إعلانية آخر لك.

إضافة وحدة إعلانية متداخلة

عد الآن إلى مشروع Xcode.

تشبه مدونة تنفيذ الإعلان البيني إلى حد كبير شفرة إعلان البانر. بدلاً من استخدام فئة GADBannerView ، يمكنك استخدام فئة GADInterstitial. لذلك ، قم بتعريف متغير لتخزين كائن GADInterstitial في فئة NewsTableViewController:

ومع ذلك ، هناك اختلاف رئيسي واحد بين GADBannerView و GADInterstitial وهو أن GADInterstitialis هو كائن يستخدم لمرة واحدة. هذا يعني أنه لا يمكن استخدام الخلالي لتحميل إعلان آخر بمجرد عرضه.

لهذا السبب ، نقوم بإنشاء طريقة مساعدة تسمى createAndLoadInterstitial () لإنشاء الإعلان. أدخل الأسلوب في فئة NewsTableViewController:

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

سننشئ الإعلان عندما يتم تحميل العرض. أدخل سطر التعليمات البرمجية التالي في طريقة viewDidLoad ():

على غرار GADBannerView ، نحتاج إلى اعتماد بروتوكول للتحقق من حالة الإعلان. قم بإنشاء امتداد لتطبيق بروتوكول GADInterstitialDelegate:

عندما تكون الخلال جاهزة ، سيتم استدعاء interstitialDidReceiveAd (ad :). في هذه الطريقة ، نسمي الأسلوب الحالي لـ GADInterstitial لعرض الإعلان على الشاشة.

أنت الآن جاهز لاختبار التطبيق. بعد تشغيل التطبيق ، يجب أن تشاهد إعلان اختبار ملء الشاشة.

اختبار الخلالي الإعلان

نُشرت هذه المقالة لأول مرة على AppCoda.com وهي عبارة عن عينة من الفصل بين برمجة Intermediate iOS 12 مع Swift.

تابعنا على منصات التواصل الاجتماعي:
فيسبوك: facebook.com/AppCodamobile
تويتر: twitter.com/AppCodaMobile
Instagram: instagram.com/AppCodadotcom

إذا استمتعت بهذا المقال ، فالرجاء النقر على زر the ومشاركته لمساعدة الآخرين في العثور عليه! لا تتردد في ترك التعليق أدناه.