ارتباط با سرور http در اندروید های 9 به بالا
یکشنبه 23 خرداد 1400سلام میخوام درباره موضوعی راجع به ارتباط با سرور در برنامه های اپلیکشن اندروید صحبت کنم. موضوعی که برای خودم پیش اومد و چالش هایی رو برام ایجاد کرد که بالاخره با کمک از منابع انگلیسی موضوع حل شد. گفتم شاید بعضی از دوستان هم با این موضوع برخورد کنن. شاید بهتره یک منبع فارسی هم براش باشه.
ارتباط با سرور http در اندروید های پایین تر از ورژن 9 مشکلی ایجاد نمی کنه. ولی در اندروید های ورژن های بالاتر از 8 موضوع امنیت سرور در درجه اول قرار گرفته و اندروید 9 به بالا سرورهای http رو پشتیبانی نمی کنه و اندروید9 اجازه ارسال و دریافت اطلاعات با سرور http رو نمی ده
این موضوع به جهت امنیت ارتباطات آپ با دنیای خارج از آپ برنامه ریزی شده.
حالا بریم سر اصل مطلب
برای اینکه آپ ما بتونه با سروری که http هست ارتباط برقرار کنه باید ادرس دامنه سرور رو به لیست سفید در آپ اضافه کنیم و به آپ بگیم این دامنه جزو دامنه های امن هست تا اندروید اجازه ارتباط باهاشو بده.
ابتدا باید یک فایل xml در دایرکتوری res/xml/network_security_config.xml ایجاد کنید و کد زیر رو داخلش بنویسید:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">DomainName.com</domain>
</domain-config>
</network-security-config>
توجه:
در قسمت DomainName.com آدرس سرورتون رو جایگزین کنید
سپس در فایل منیفست آپ تون در تگ application کد زیر رو اضافه کنید. یعنی اینجوری
<application
android:networkSecurityConfig="@xml/network_security_config"
android:usesCleartextTraffic="true"
برنامه رو با sync کنید و برای دیباگ از اندروید 9 به بالا استفاده و اجرا کنید
موفق باشید
- Android
- 1k بازدید
- 1 تشکر
برای درج نظر باید وارد سایت شوید