تعتبر حزمة Share_Plus إضافة مهمة لتطبيقات Flutter التي تهدف إلى مشاركة المحتوى من التطبيق عبر واجهة المشاركة الخاصة بالنظام. تستخدم هذه الحزمة ACTION_SEND intent على نظام Android و UIActivityViewController على نظام iOS.
تثبيت حزمة Share_Plus:
لتثبيت حزمة Share_Plus في تطبيقك، يجب عليك إضافتها في ملف pubspec.yaml
الخاص بك. يمكنك القيام بذلك عن طريق إضافة السطر التالي:
dependencies: share_plus: ^7.2.1
بعد ذلك، قم بتشغيل أمر flutter pub get
لتنزيل الحزمة وتثبيتها في مشروعك.
“اقرأ أيضاً: شرح استخدام ويدجت SnackBar في فلاتر“
استخدام حزمة Share_Plus:
بعد تثبيت حزمة Share_Plus، يمكنك استخدامها بسهولة في تطبيقك. فيما يلي بعض الأمثلة على كيفية استخدامها:
- مشاركة نص بسيط:
import 'package:share_plus/share_plus.dart'; Share.share('تحقق من موقعي https://example.com');
- مشاركة نص مع موضوع اختياري:
import 'package:share_plus/share_plus.dart'; Share.share('تحقق من موقعي https://example.com', subject: 'انظر ما صنعته!');
- الحصول على نتيجة المشاركة:
import 'package:share_plus/share_plus.dart'; final result = await Share.shareWithResult('تحقق من موقعي https://example.com'); if (result.status == ShareResultStatus.success) { print('شكراً لمشاركة موقعي!'); }
- مشاركة ملف:
import 'package:share_plus/share_plus.dart'; import 'package:path_provider/path_provider.dart'; final directory = await getApplicationDocumentsDirectory(); final result = await Share.shareXFiles([XFile('${directory.path}/image.jpg')], text: 'صورة رائعة'); if (result.status == ShareResultStatus.success) { print('شكراً لمشاركة الصورة!'); }
عند مشاركة البيانات التي تم إنشاؤها باستخدام XFile.fromData، ستقوم الحزمة بكتابة ملف مؤقت داخل دليل التخزين المؤقت (cache) للتطبيق، بحيث يمكن مشاركته.
على الرغم من أن نظام التشغيل يجب أن يتولى حذف تلك الملفات، إلا أنه من المستحسن أن تقوم بتنظيف هذه البيانات من حين لآخر (مثلاً عند بدء التطبيق). يمكنك الوصول إلى هذا الدليل باستخدام حزمة path_provider والدالة getTemporaryDirectory.
“اقرأ أيضاً: شرح استخدام ويدجت AlertDialog في فلاتر“
المشاكل المعروفة في حزمة Share_Plus:
توجد بعض المشاكل المعروفة في حزمة Share_Plus يجب أن تأخذها في الاعتبار:
- قيود Facebook: بسبب القيود المفروضة من قبل Facebook، لا يمكن لهذه الحزمة مشاركة البيانات بشكل موثوق إلى تطبيقات Facebook ذات الصلة على نظام Android و iOS. إذا كنت بحاجة إلى هذه الوظيفة، يرجى التحقق من مكتبة Facebook Sharing SDK الأصلية أو البحث عن حزم Flutter أخرى تنفذ هذا SDK.
- iPad: تتطلب حزمة Share_Plus من مستخدمي iPad توفير معامل sharePositionOrigin. بدونها، قد لا تعمل Share_Plus على iPads وقد تتسبب في تعطل التطبيق بشكل غير متوقع. لذا، يجب التأكد من توفير هذا المعامل عند استخدام حزمة Share_Plus على iPads.
“اقرأ أيضاً: شرح استخدام ويدجت OutlinedButton في فلاتر“
إصدارات حزمة Share_Plus:
حزمة Share_Plus متاحة في الإصدار رقم 7.2.1، وهو آخر إصدار متاح حاليًا حتى كتابة المقال. يجب التحقق من إضافة أحدث إصدار في ملف pubspec.yaml
الخاص بمشروعك لضمان استخدام الإصدار الصحيح.
dependencies: share_plus: ^7.2.1
“اقرأ أيضاً: شرح استخدام ويدجت SafeArea في فلاتر“
دعم المنصات:
تدعم حزمة Share_Plus عدة منصات بما في ذلك:
- Android
- iOS
- MacOS
- Web
- Linux
- Windows
“اقرأ أيضاً: شرح حلقة التكرار While في لغة دارت (Dart)“
تعد حزمة Share_Plus إضافة قوية لتطبيقات Flutter التي تحتاج إلى إمكانية مشاركة المحتوى من خلال واجهة المشاركة في النظام. توفر الحزمة دعمًا لعدة منصات وتتيح مشاركة النصوص والملفات بسهولة. ومع ذلك، يجب مراعاة المشاكل المعروفة وتوفير البيانات المطلوبة عند الاستخدام على منصات معينة مثل iPads.