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

السؤال

نشر

قمت بعمل كلاس منفصل لوضع كود الاعلان بداخله كتالتالي:

import 'package:firebase_admob/firebase_admob.dart';

import 'helper.dart';



//const String testDevice = 'YOUR_DEVICE_ID';

class AdsRewardedVideoAd {
  static bool _loaded = false;
  static int coins = 0;

  static RewardedVideoAd videoAd = RewardedVideoAd.instance;

  static void initialize() {
    FirebaseAdMob.instance.initialize(appId: AdManager.appId);
  }

  static MobileAdTargetingInfo targetingInfo = MobileAdTargetingInfo(
    keywords: <String>['flutterio', 'beautiful apps'],
    testDevices: <String>[], // Android emulators are considered test devices
  );

  static RewardedVideoAd createRewardedVideoAd() {

     videoAd.load(adUnitId: AdManager.rewardedAdUnitId, targetingInfo: targetingInfo);

     RewardedVideoAd.instance.listener = (RewardedVideoAdEvent event, {String rewardType, int rewardAmount}) {
       if(event == RewardedVideoAdEvent.rewarded) {

           coins+=rewardAmount;
           
           print('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx $coins');

       }
     };

  }

  static void showRewardedVideoAd() {
    if (videoAd == null) videoAd = createRewardedVideoAd();

    videoAd .show().catchError((e) =>
        print("error in showing ad: ${e.toString()}"));

  }


}

وبعدها قمت باستدعاء الكلاس في الصفحة المستهدفة كالتالي:

 AdsRewardedVideoAd.showRewardedVideoAd();

ولكني واجهة مشكلة احتاج الى الاستعلام عن قيمة coins التي تتغير في الكلاس createRewardedVideoAd() في الصفحة الاولى

من خلال الصفحة الثانية التي وضعت فيها كود العمل هذا :

 AdsRewardedVideoAd.showRewardedVideoAd();

كيف ممكن الوصول الى قيمته بعد ان تتغير من الصفحة الثانية او الصفحة المستهدفة ؟ هل توجد طريقة لعمل ذلك؟

Recommended Posts

  • 1
نشر

هناك عدة طرق مستخدمة.

  • ممكن تحفظ القيمة عن طريق SharedPrefrence وتجلب قيمة المفتاح. 
  • يمكن عن طريق LocalStorage و أيضا يمكن جلب القيمة من المفتاح المخزن.
  • أو عن طريق تنفيذ Setter , Getter ويمكن عن طريق الكود التالي. 

يمكن تعريف getter 

int get coinsValue {
	return coins;
}

أو بشكل مختصر 

int get coinsValue => coins;

 ويمكن جلبها عن طريق الكلاس

AdsRewardedVideoAd.coinsValue

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...