اذهب إلى المحتوى

السؤال

نشر

احاول تطبيق اعلانات AdMob مع فلاتر والامر حتى الان يمشي تمام

ولكن لدي استفسار انا قمت بتطبيق نوعين من الاعلانات وهما : Banner و Interstitial

ولكني احتاج الى معرفة كيف ممكن اعمل اعلان في زر اضافة موضوع مثلا لقد شاهدت سابقا هذا الحركه مسبقا 

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

كيف يمكن عمل ذلك؟

ياليت من يملك خلفيه عن الموضوع يفيدنا ويا حب لو يكون فيه كود مثال على ذلك

Recommended Posts

  • 1
نشر

يمكنك إضافة الحزمة التالية إلى مشروع flutter الخاص بك وهي firebase_admob من خلال pub.dev او تجد الرابط هنا

في ملف pubspec.yaml قم بوضع الحزمة مع إصدارها 

firebase_admob: ^0.11.0+1

ومن ثم تنفيذ الأمر التالي في terminal 

flutter pub get

ثم في المسار التالي android/app/src/main/AndroidManifest.xml قم بوضع 

<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713"/>

حيث 

ca-app-pub-3940256099942544~3347511713

هو id التطبيق على admob.

في المسار التالي  ios/Runner/Info.plis  الخاص ب iOS ضع 

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</string>

يمكنك إنشاء ملف في المسار التالي lib/helper.dart  ووضع الكود التالي فيه 

import 'dart:io';

class AdManager {

  static String get appId {
    if (Platform.isAndroid) {
      return "<YOUR_ANDROID_ADMOB_APP_ID>";
    } else if (Platform.isIOS) {
      return "<YOUR_IOS_ADMOB_APP_ID>";
    } else {
      throw new UnsupportedError("Unsupported platform");
    }
  }

  static String get bannerAdUnitId {
    if (Platform.isAndroid) {
      return "<YOUR_ANDROID_BANNER_AD_UNIT_ID";
    } else if (Platform.isIOS) {
      return "<YOUR_IOS_BANNER_AD_UNIT_ID>";
    } else {
      throw new UnsupportedError("Unsupported platform");
    }
  }

  static String get interstitialAdUnitId {
    if (Platform.isAndroid) {
      return "<YOUR_ANDROID_INTERSTITIAL_AD_UNIT_ID>";
    } else if (Platform.isIOS) {
      return "<YOUR_IOS_INTERSTITIAL_AD_UNIT_ID>";
    } else {
      throw new UnsupportedError("Unsupported platform");
    }
  }

  static String get rewardedAdUnitId {
    if (Platform.isAndroid) {
      return "<YOUR_ANDROID_REWARDED_AD_UNIT_ID>";
    } else if (Platform.isIOS) {
      return "<YOUR_IOS_REWARDED_AD_UNIT_ID>";
    } else {
      throw new UnsupportedError("Unsupported platform");
    }
  }
}

مع تغيير كل id لفئة الإعلان الخاص سواء بانر أو Interstitial.

ومن ثم في الملف الذي تود عرض الإعلانات فيه تضع لتفعيل الإعلانات

Future<void> _initAdMob() {
    ///Initialize AdMob SDK
    return FirebaseAdMob.instance.initialize(appId: AdManager.appId);
}

يمكن استخدام لتفعيل إعلانات البانر 

BannerAd _bannerAd;

void _loadBannerAd() {
_bannerAd
  ..load()
  ..show(anchorType: AnchorType.top);
}

و ثم في دالة initState نضع 

@override
void initState() {
  _bannerAd = BannerAd(
      adUnitId: AdManager.bannerAdUnitId,
      size: AdSize.banner,
  );

  _loadBannerAd();
}

لتشغيل الإعلانات في التطبيق, يمكنك مراجعة التوثيق الخاص بالحزمة ستجد تفاصيل أكثر عن كيفية استخدام كل نوع من الإعلانات و كيفية تنفيذها في تطبيقك 

اقتباس

ولكني احتاج الى معرفة كيف ممكن اعمل اعلان في زر اضافة موضوع مثلا لقد شاهدت سابقا هذا الحركه مسبقا 

هنا يجب استخدام إعلانات من فئة interstitial ,وتسمى هذه الإعلانات البينية ,  بحيث هذه الإعلانات تظهر عند الأنتقال من واجهة لواجهة أو عند تنفيذ حدث معين في التطبيق.

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

  • 0
نشر
بتاريخ 42 دقائق مضت قال بلال زيادة:

يمكنك إضافة الحزمة التالية إلى مشروع flutter الخاص بك وهي firebase_admob من خلال pub.dev او تجد الرابط هنا

في ملف pubspec.yaml قم بوضع الحزمة مع إصدارها 


firebase_admob: ^0.11.0+1

ومن ثم تنفيذ الأمر التالي في terminal 


flutter pub get

ثم في المسار التالي android/app/src/main/AndroidManifest.xml قم بوضع 


<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713"/>

حيث 


ca-app-pub-3940256099942544~3347511713

هو id التطبيق على admob.

في المسار التالي  ios/Runner/Info.plis  الخاص ب iOS ضع 


<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</string>

يمكنك إنشاء ملف في المسار التالي lib/helper.dart  ووضع الكود التالي فيه 


import 'dart:io';

class AdManager {

  static String get appId {
    if (Platform.isAndroid) {
      return "<YOUR_ANDROID_ADMOB_APP_ID>";
    } else if (Platform.isIOS) {
      return "<YOUR_IOS_ADMOB_APP_ID>";
    } else {
      throw new UnsupportedError("Unsupported platform");
    }
  }

  static String get bannerAdUnitId {
    if (Platform.isAndroid) {
      return "<YOUR_ANDROID_BANNER_AD_UNIT_ID";
    } else if (Platform.isIOS) {
      return "<YOUR_IOS_BANNER_AD_UNIT_ID>";
    } else {
      throw new UnsupportedError("Unsupported platform");
    }
  }

  static String get interstitialAdUnitId {
    if (Platform.isAndroid) {
      return "<YOUR_ANDROID_INTERSTITIAL_AD_UNIT_ID>";
    } else if (Platform.isIOS) {
      return "<YOUR_IOS_INTERSTITIAL_AD_UNIT_ID>";
    } else {
      throw new UnsupportedError("Unsupported platform");
    }
  }

  static String get rewardedAdUnitId {
    if (Platform.isAndroid) {
      return "<YOUR_ANDROID_REWARDED_AD_UNIT_ID>";
    } else if (Platform.isIOS) {
      return "<YOUR_IOS_REWARDED_AD_UNIT_ID>";
    } else {
      throw new UnsupportedError("Unsupported platform");
    }
  }
}

مع تغيير كل id لفئة الإعلان الخاص سواء بانر أو Interstitial.

ومن ثم في الملف الذي تود عرض الإعلانات فيه تضع لتفعيل الإعلانات


Future<void> _initAdMob() {
    ///Initialize AdMob SDK
    return FirebaseAdMob.instance.initialize(appId: AdManager.appId);
}

يمكن استخدام لتفعيل إعلانات البانر 


BannerAd _bannerAd;

void _loadBannerAd() {
_bannerAd
  ..load()
  ..show(anchorType: AnchorType.top);
}

و ثم في دالة initState نضع 


@override
void initState() {
  _bannerAd = BannerAd(
      adUnitId: AdManager.bannerAdUnitId,
      size: AdSize.banner,
  );

  _loadBannerAd();
}

لتشغيل الإعلانات في التطبيق, يمكنك مراجعة التوثيق الخاص بالحزمة ستجد تفاصيل أكثر عن كيفية استخدام كل نوع من الإعلانات و كيفية تنفيذها في تطبيقك 

هنا يجب استخدام إعلانات من فئة interstitial ,وتسمى هذه الإعلانات البينية ,  بحيث هذه الإعلانات تظهر عند الأنتقال من واجهة لواجهة أو عند تنفيذ حدث معين في التطبيق.

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

مرحبا اخي الكريم

شاكر لك ردك الغالي والشرح في البدايه

ولكن مما فهمته منك  ان هذا النوع من الاعلانات لا يمكن اجبار المستخدم على مشاهدته كامل

طيب هل لديك فكره عن نوع الاعلانات التي يمكن من خلالها فعل ذلك؟ لنني متاكد اني قد شاهدتها في اكثر من تطبيق 

  • 0
نشر
بتاريخ 5 ساعات قال مروان مروان3:

مرحبا اخي الكريم

شاكر لك ردك الغالي والشرح في البدايه

ولكن مما فهمته منك  ان هذا النوع من الاعلانات لا يمكن اجبار المستخدم على مشاهدته كامل

طيب هل لديك فكره عن نوع الاعلانات التي يمكن من خلالها فعل ذلك؟ لنني متاكد اني قد شاهدتها في اكثر من تطبيق 

هل ممكن تزودني بلقطات شاشة من التطبيقات ؟

ايضا هذه الاعلانات من الممكن تكون من صاحب التطبيق و ليست خدمة مشترك فيها مثل ادموب.

  • 0
نشر
بتاريخ 14 ساعات قال بلال زيادة:

هل ممكن تزودني بلقطات شاشة من التطبيقات ؟

ايضا هذه الاعلانات من الممكن تكون من صاحب التطبيق و ليست خدمة مشترك فيها مثل ادموب.

والله ما يحضرني تطبيق محدد حاليا بس بحاول ابحث

اشلون ممكن تكون من صاحب التطبيق اخي؟

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...