• 0

صلاحيات fcm في flutter

السلام عليكم ورحمة الله وبركاته 

تحيه طيبه للجميع

سابقا كنت استعمل اصدرا قديم من fcm  في فلاتر قبل الانتقال الى فلاتر 2 وكان المستخدم يحتاج الى منح الاشعارات الاذن حتى يستطيع استقبالها ولكن الان من تطبيق التوثيق في احدث اصدار للمكتبه هاتف الاندرويد يمنح صلاحيات الاذونات للاشعارات من تلقاء نفسه 

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

firebase_messaging: ^10.0.0

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1
بتاريخ 6 ساعات قال مروان مروان3:

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

هل قمت بإلغاء تثبيت التطبيق وفتحه و عملت FCM بدون طلب إذن المستخدم؟

لقد تم استبدال بعض الدوال من المكتبة و أصبحت deprecated يمكنك التأكد من

الرابط: firebase.messaging.Messaging#requestpermission

الصلاحيات: messaging/permissions

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 7 دقائق مضت قال Wael Aljamal:

هل قمت بإلغاء تثبيت التطبيق وفتحه و عملت FCM بدون طلب إذن المستخدم؟

لقد تم استبدال بعض الدوال من المكتبة و أصبحت deprecated يمكنك التأكد من

الرابط: firebase.messaging.Messaging#requestpermission

الصلاحيات: messaging/permissions

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

 

شكرا لك اخي الكريم

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 5 ساعات قال مروان مروان3:

يبدو انه تم تجاهل بنسبه الى الاندرويد

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

وبقي يحتاج لإذن في IOS:

void registerNotification() async {
  // 1. Initialize the Firebase app
  await Firebase.initializeApp();

  // 2. Instantiate Firebase Messaging
  _messaging = FirebaseMessaging.instance;

  // 3. On iOS, this helps to take the user permissions
  NotificationSettings settings = await _messaging.requestPermission(
    alert: true,
    badge: true,
    provisional: false,
    sound: true,
  );

  if (settings.authorizationStatus == AuthorizationStatus.authorized) {
    print('User granted permission');
    // TODO: handle the received notifications
  } else {
    print('User declined or has not accepted permission');
  }
}

مثال من التوثيق، لايوجد طلب صلاحية إلا من IOS.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن