Prevent Screen Record in Flutter IOS App
دلوقتي لو عايزين نمنع screenshot & screen record في الاندريود
الموضوع بسيط وسهل وناس كتير اتكملت فيه ودا من خلال flutter_windowmanager
اما بالنسبة لل IOS ففي اكتر من طريقة
الطريقة الاولي : ودي من خلال كود نيتف ودا الكود اللي هتحتاجه : http://bit.ly/3WXGMN3
ودي بتمنع الاسكرين شوت والريكورد من التطبيق كله وبتخلي screenshot والفيديو لونهم اسود
ودي ليها عيوب : ١- مش بتقدر تتحكم امتي تمنع وامتي تخلي اليوزر عادي يقدر يعمل screenshot or record
٢- التطبيق بنسبة كبيرة هيترفض في review بتاع ابل لان لو الشخص ال reviewer خد باله انك مانع screen shot or record شكرا خلاص
الطريقة التانية الا وهو نسأل سؤال ليه اصلا عايزين نمنع screenshot or record
ممكن مثلا انا عندي فيديوهات مش عايز اليوز يقدر يسجل الفيديو مثلا
خلاص ايه رأيك نفكر في حاجة تانية الا وهي اننا نحاول نعرف هو بيعمل record ولا لا
يعني نعمل detect للريكورد وبناءا عليه نعمل action زي اننا نقفل التطبيق او نوديه علي سكرينة تانية او اي حاجة حسب السيناريو بتاعك وبكدا نبقي حققنا اللي احنا عايزينه
في بكدج بتعمل كدا فعلا اسمها ios_insecure_screen_detector
ودي بتوفر function بترجع bool هل بيتم التسجيل او لا
;()await _insecureScreenDetector.isCaptured
بس فيها مشكلة انها مش بتوفر stream او listener فهنضر
(تعديل بسيط هنا تقدر بدل stream تعمل timer لو حابب لو شايف ان while مكلفة ) المهم الفكرة واحدة
نعمل احنا stream وهتلاقي طريقة الاستخدام في الكود تحت
فدلوقتي نقدر نمنع screen record في الوقت اللي احنا عايزينه
اما بالنسبة لسكرين شوت هنستخدم بكدج تانية ودي بتوفر ليا function مباشرة للمنع والغاء المنع
اسم البكدج : screen_protector
ملوحظة استخدم الاكواد دي في ios version بتاعة التطبيق بتاعك واستخدم علي الاندريود استخدم flutter_windowmanager
ودا لينك الاكواد اللي في الصور : https://gist.github.com/F-BONAPARTA/1b5161520463b101523b30344aaf03f2
Post #1894
4.92K