IFrame و ظروف بومی: چه زمانی انتخاب کنید
مقاله کامل
1) شرایط و زمینه
iFrame یک ظرف HTML است که جاسازی محتوای شخص ثالث (بازی, ثبت نام پول نقد, ویجت). میزبان و محتوا به طور منطقی توسط سیاست مبدا یکسان جدا شده اند.
یک برنامه کاربردی/ماژول که در آن محتوای وب در WebView (WKWebView، Android WebView) راه اندازی شده یا با یک SDK بومی (رندر، شبکه، پرداخت، تله متری) جایگزین شده است.
که در آن رخ می دهد: شروع و نسخه ی نمایشی بازی، لابی، دفتر جعبه/onboarding، ویدئو زندگی می کنند، ویدجت برنده تمام پولها، فرود شریک.
2) پاسخ کوتاه: چه چیزی را انتخاب کنید
شما نیاز به راه اندازی سریع، بسیاری از محتوای شخص ثالث، حداقل توسعه → iFrame.
نیاز به آفلاین/تاخیر کم/گرافیک سنگین/ادغام عمیق با دستگاه → یک ظرف بومی (WebView + پل یا SDK).
بازارها/تجزیه و تحلیل خیابان/دستورالعمل های دقیق (اپل/گوگل)، پرداخت سیستم، قلاب RG سخت → ظرف بومی.
سایت های رسانه ای، فرود SEO، بررسی با درج قابل پخش → iFrame.
3) ماتریس انتخاب (ساده شده)
4) iFrame: هنگامی که کامل است
سناریوها: نمایش سریع بازی های نسخه ی نمایشی، درج های وابسته، ابزارک های جکپات/رتبه بندی، فرود قابل پخش، جمع کننده های B2B.
پلاگین ها
سرعت ادغام: تک 'src' + کلید/پارامترها.
انزوای مهمان میزبان (SOP) - خطر نشت کمتر است.
انتشار مستقل از ارائه دهنده (استقرار خود را لمس نمی کند).
آن را ارزان به مقیاس صدها نفر از ارائه دهندگان.
حداقل ها
ادغام محدود با دستگاه و پرداخت بومی.
مشکل تر تله متری عمیق (بیشتر «پل») است.
مشکلات مربوط به کوکی های شخص ثالث/ذخیره سازی (Safari/Firefox/ITP).
پیچیده تمام صفحه/حرکات/صفحه کلید در تلفن همراه.
بهترین شیوه ها
ویژگیهای «sandbox» (برای محدود کردن «allow-forms»، «allow-scripts»، برای باز کردن «allow-popups-to-escape-sandbox» از نیاز).
'Content-Security-Policy' with whitelists of providers; ' X-Frame-Options برای صفحات حساس
ارتباط - "ارسال پیام" با تأیید "event. منبع "و طرح پیام.
تغییر اندازه: «ResizeObserver» در داخل رویداد + «postMessage (» ارتفاع «) → میزبان» iframe را تغییر می دهد. سبک. ارتفاع.
ذخیره سازی - ذخیره سازی دسترسی API/follbacks ؛ state - از طریق پارامترهای URL یا حالت والد.
RG/AML: سیگنال های توقف (خود حذفی, محدودیت ها) - از طریق حوادث, iframe موظف است برای پایان دادن به جلسه.
5) ظروف بومی: زمانی که آنها برنده شوند
سناریوها: برنامه های کاربردی تلفن همراه با بازی های زنده و ثبت پول نقد، پیچیده onboarding/CUS، جریان در زمان واقعی با تاخیر کم، حالت های آفلاین، پرداخت فروشگاه، ویژگی های AR/VR.
پلاگین ها
عملکرد/تاخیر کم، دسترسی به آهن (دوربین، بیومتریک).
UX تنها و ادغام RG/AML عمیق (هشدار سیستم، pooches بومی).
قابل اعتماد در برنامه پرداخت و اشتراک (StoreKit/صدور صورت حساب).
تله متری دقیق و کنترل شکست (crashlytics، آثار).
حداقل ها
قیمت مالکیت: توسعه چند پلتفرم، انتشار از طریق فروشگاه.
تایید اپل/گوگل ؛ محدودیت در هیجان/پرداخت.
مسئولیت های امنیتی و حریم خصوصی بیشتر
الگو ها
WebView + JS bridge (کانال دو طرفه): رویدادهای بازی/پرداخت/محدود به صورت بومی انجام می شود.
ترکیبی: صفحه نمایش بومی بحرانی (ثبت نام نقدی، KYC، RG)، صفحه نمایش محتوا - WebView/iFrame.
SDK ارائه دهنده: بازی ها/جریان ها توسط کتابخانه تعبیه شده است. میزبان نشانه ها، محدودیت ها، کیف پول را می دهد.
6) ارتباطات: میزبان ⇄ iFrame و WebView بومی ⇄
وب سایت (iFrame):- به من نگاه کن. postMessage ({نوع, محموله}, targetOrigin) '
- طرح رویداد: "بازی. جلسه. شروع/توقف '،' شرط. محل/حل و فصل '، RG. محدود کردن ضربه، برنده تمام پولها. «مشارکت»، «خطا».
- اعتبار سنجی: «origin» را بررسی کنید، نسخه را وارد کنید («v1»، «v2»).
- iOS: 'WKScriptMessageHandler'; Android: 'addJavascriptInterface' (با @ JavascriptInterface، بدون افشای غیر ضروری).
- فرمت یکسان است ('type'، 'payload'، 'trace _ id')، امضاهای HMAC برای دستورات بحرانی.
7) ایمنی و انطباق
CSP، sandbox، SRI برای دارایی ؛ برای قطع «اجازه بالا ناوبری توسط کاربر فعال سازی» بدون نیاز.
اعتماد صفر بین میزبان و محتوا: حداقل مجاز، جهش API های خطرناک.
PII/اقامت: غرفه ها و سیاهههای مربوط به منطقه ؛ مهار پرس و جو بین منطقه.
RG/AML: چراغ توقف همزمان در شرط بندی ؛ ورود به سیستم از اقدامات کرم کرم.
کوکی ها/ITP: استفاده از "SameSite = هیچ ؛ امن است ؛ для 3rd-party - ذخیره سازی API دسترسی или جلسه سمت سرور.
8) عملکرد و UX
iFrame: اتصال تنبل ('بارگذاری = تنبل')، اولویت بندی منابع شبکه، 'preconnect' به دامنه های ارائه دهنده.
WebView: خاموش کردن JS غیر ضروری، دارایی های حافظه پنهان، فعال کردن شتاب سخت افزاری، نظارت بر تمیز کردن GC/حافظه.
صفحه نمایش کامل و جهت گیری: به شدت از طریق طرح رویداد (زمانی که و چه کسی شروع انتقال) را مشخص می کند.
مدیریت خطا: کدهای یکپارچه («NETWORK _ TIMEOUT»، «PAYMENT _ BLOCKED»، «RG _ BLOCK») و پروکسی های UX.
9) تجزیه و تحلیل و A/B
اتوبوس رویداد: "جلسه. شروع/پایان "، شرط. قرار داده شده/حل و فصل '، سپرده. موفق شد. محدود کردن «ضربه»، «خطا».
شناسه: 'tenant _ id/brand _ id/region/player _ pseudo', 'trace _ id'.
در iFrame - یک مسیر از طریق پدر و مادر پروکسی (برچسب مدیر در میزبان)، در WebView - SDK تجزیه و تحلیل بومی.
A/B: ویژگی پرچم در میزبان ؛ iFrame این گزینه را از طریق 'postMessage (init)' تشخیص می دهد.
10) ادغام پرداخت
وب/iFrame: ترجیحا پول نقد در میزبان، و نه در داخل iFrame (قفل های شخص ثالث کمتر، UX بهتر، RG/AML آسان تر).
بومی: StoreKit/صورتحساب برای سناریوهای معتبر ؛ در غیر این صورت، ارکستراسیون PSP بومی با تله متری قوی و idempotency است.
11) کارت انتخاب مورد
شما یک گردآورنده/رسانه با هزاران بازی و حداقل منابع توسعه دهنده هستید:- → iFrame، «sandbox» سخت، پروتکل «ارسال پیام»، میز نقدی/محدودیت در میزبان.
- → کانتینر بومی: WebView برای لابی، میز نقدی بومی/KYC/RG، SDK ارائه دهنده زنده.
- → یک SDK یا موتور کاملا بومی در یک برنامه.
12) چک لیست
ادغام iFrame
- 'sandbox' + حداقل 'اجازه' حقوق.
- CSP با لیست های سفید ؛ SRI برای اسکریپت ها
- پاک 'postMessage' طرح (+ نسخه + 'منبع' اعتبار).
- چراغ ترمز RG/AML پشتیبانی می شوند، جلسات به درستی خاتمه می یابد.
- ذخیره سازی: برنامه ای برای کوکی های ITP/3rd-party.
- تله متری: شرط/دقیقه, حل و فصل تاخیر, نرخ خطا, FPS (در صورت لزوم).
ظرف بومی
- JS-bridge با روش لیست سفید و تایپ بار.
- میز نقدی بومی/KYC/RG، idemotency در راه پول است.
- گربه، لینک های عمیق، قلاب چرخه عمر (مکث بازی در هنگام تماس/کار پس زمینه).
- سقوط/ردیابی، حفظ حریم خصوصی، ممیزی دسترسی PII.
- سیاست های هیجان و پرداخت اپل/گوگل دنبال می شود.
13) ضد الگوهای (پرچم های قرمز)
تعبیه ثبت نام پول نقد در داخل iFrame از ارائه دهنده (از دست دادن کنترل بر RG/AML/تله متری).
هيچ اعتباري وجود نداره. origin 'в' post '.
کوکی های شخص ثالث به عنوان تنها راه برای بیان.
همان کلید/اسرار برای مارک های مختلف/مناطق.
تنظیمات دستی تعادل/محدودیت از بازرس وب (بدون چک سرور).
تخریب صفر: افت iFrame کل صفحه را بدون عقب نشینی برازنده می شکند.
14) برداشت
iFrame «دروازه سریع» شما به اکوسیستم محتوا است: هزینه های کم، انزوا تنگ، انتشار سریع. ظروف بومی - در مورد عمق: عملکرد، دستگاه، پرداخت فروشگاه، RG/AML سخت و UX بالا پایان. نه یک رویکرد برنده می شود، بلکه ترکیبی است: iFrame/web برای کاتالوگ ها و نسخه های نمایشی، بومیان برای پول، تجربه زندگی و سختی های قانونی. تفکیک مناسب مسئولیت ها، قراردادهای رویداد روشن و امنیت قوی، مقیاس را بدون مصالحه در سرعت، ریسک و کیفیت ارائه می دهد.
