تنفيذ IMA SDK في تطبيقات Android

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



عند نشر تطبيق ivi kids على Google Play ، واجهتنا مشكلة تتمثل في أن SDK للإعلان الداخلي لدينا لا يفي بمتطلبات Googleوربما تمت إزالة التطبيق من المتجر. لذلك قمنا بإيقاف تشغيل جميع الإعلانات ، مما جعل المستخدمين الشباب سعداء للغاية ، لكن قسم التسويق كان غير راضٍ بشكل مزمن عن الأداء المالي.



كانت الطريقة الأكثر منطقية للخروج من الموقف هي تشغيل الإعلانات التي توزعها Google نفسها باستخدام خدمة Google Ad Manager . وافعل ذلك باستخدام IMA SDK ، وهو أيضًا أحد منتجات Google.



في هذه المقالة سوف نتحدث عن كيفية تنفيذ SDK IMA في IVI و IVI الاطفال التطبيقات وما القيود التي واجهناها.



رقائق IMA SDK



لن أصف جميع ميزات وهيكلية IMA SDK ، لأنه على أي حال ، ستكون الوثائق الرسمية قادرة على قول المزيد عنها .



ما هي الميزة الرئيسية لـ IMA SDK؟ ولماذا تناسبنا؟ يمكن لـ IMA SDK تشغيل إعلانات فيديو كبيرة الحجم . أحد احتمالات هذا الشكل هو إنشاء أغلفة إعلانات متداخلة ، ويمكن أن يكون عدد الأغلفة غير محدود رسميًا. وهذا يعني ، للوصول إلى الفيديو الحقيقي ، تحتاج إلى تشغيل جميع الأغلفة الموجودة في السلسلة.







يمكن لـ IMA SDK تشغيل هذه السلسلة من تلقاء نفسها إذا أدخلت ببساطة رابطًا إلى ملف VAST الأول بداخله باستخدام طريقة setAdTagUrl (String url) .



val adsRequest = ImaSdkFactory.getInstance().createAdsRequest()
adsRequest.adTagUrl = advUrl


إذا كنت تستخدم هذه الطريقة ، فسيتم تبسيط مهمة المطور بشكل كبير. لكن في بعض الأحيان (بما في ذلك في حالتنا) يرغب مطور التطبيق في جمع إحصاءات الإعلانات الموجودة في ملفات VAST نفسها. لا يمكن طلب هذه الملفات من خادم الإعلانات أكثر من مرة ، حيث يمكن لخادم الإعلانات إرسال استجابتين مختلفتين لنفس الطلب (هذا هو المعيار ، يجب أن تتغير الإعلانات باستمرار). في هذه الحالة ، يحتاج المطور إلى جمع جميع VASTs باستخدام الأقلام ، واستخراج البيانات اللازمة لجمع الإحصائيات من هناك ، وإنشاء VAST عامة على أساسها ، والتي يمكن تغذيتها إلى IMA SDK باستخدام طريقة setAdsResponce (سلسلة واسعة) :



val adsResponce = “<VAST>..</VAST>” //xml,   VAST
adsRequest.adsResponse = adsResponce


ميزة أخرى مفيدة لـ IMA SDK هي القدرة على استخدام المشغل الداخلي للتطبيق لتشغيل الإعلانات. للقيام بذلك ، يمكنك تنفيذ واجهة VideoAdPlayer وتنفيذ أساليبها في المشغل الخاص بك:



public interface VideoAdPlayer extends AdProgressProvider, VolumeProvider {
   void loadAd(AdMediaInfo var1, AdPodInfo var2);

   void playAd(AdMediaInfo var1);

   void pauseAd(AdMediaInfo var1);

   void stopAd(AdMediaInfo var1);

   void release();

   void addCallback(VideoAdPlayer.VideoAdPlayerCallback var1);

   void removeCallback(VideoAdPlayer.VideoAdPlayerCallback var1);
}


ولكن حتى إذا كان التطبيق لا يحتوي على مشغل فيديو خاص به أو لا يمكن استخدامه لسبب ما ، فإن IMA SDK يوفر مشغله الخاص بناءً على ExoPlayer :



val adUiContainer: ViewGroup = view
val videoAdPlayer =  ImaSdkFactory.createSdkOwnedPlayer(context, adUiContainer)


قيود IMA SDK



لسوء الحظ ، فإن واجهة المستخدم الخاصة بـ IMA SDK محزنة. كن مستعدًا لأن مشغل الإعلانات سيبدو دائمًا







على النحو التالي : من المستحيل تغيير أي عناصر تحكم على شاشة الإعلان من IMA SDK. يمكنك فقط تغيير لغتهم:



val imaSdkSettings = ImaSdkFactory.getInstance().createImaSdkSettings()
imaSdkSettings.language = "ru"








وتفاقم الوضع لدينا من خلال حقيقة أن IVI و IVI الأطفال موجودة ومعتمدة على رمز قاعدة واحدة. هذا يعني أنه بمساعدة إنشاء البرامج النصية ، في اللحظة المناسبة ، من رمز واحد ، يمكنك تجميع تطبيقات مختلفة بأجراسها وصفاراتها (رموز ، خطوط ، أجزاء من التعليمات البرمجية). تستخدم قاعدة الكود الموحدة لتشغيل الإعلانات محركًا خاصًا يعد أداة مجربة لكسب المال للشركة. مع تنفيذ IMA SDK ، لا يمكن التخلص من هذه الشفرة ببساطة ، نظرًا لأن التطبيق يستخدم أشكال إعلانات متنوعة ، وليس فقط VAST. تبدو



واجهة إعلانات ivi مختلفة تمامًا عن واجهة IMA SDK ولا يمكن تكييفها معها:







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





حاليًا ، يتم عرض الإعلانات من Google والإعلانات من مصادر أخرى في تطبيق ivi بطرق مختلفة. في تطبيق ivi kids للأطفال ، يتم استهداف إعلانات Google فقط ، لذلك يتم عرض مقاطع الفيديو فقط باستخدام IMA SDK.



النتيجة



IMA SDK هي أداة بسيطة ومريحة لعرض إعلانات الفيديو. إذا كنت مستعدًا لحقيقة أن واجهة المستخدم الخاصة بمشغل الإعلانات لن تعتمد عليك ، فإن IMA SDK مناسب لك. إذا كنت بحاجة إلى تحقيق الدخل من تطبيق Android للأطفال من خلال الإعلانات ، فإن أسهل طريقة هي استخدام الأداة الأصلية من Google - IMA SDK.






All Articles