ارتباط با سرور http در اندروید های 9 به بالا

یکشنبه 23 خرداد 1400

سلام میخوام درباره موضوعی راجع به ارتباط با سرور در برنامه های اپلیکشن اندروید صحبت کنم. موضوعی که برای خودم پیش اومد و چالش هایی رو برام ایجاد کرد که بالاخره با کمک از منابع انگلیسی موضوع حل شد. گفتم شاید بعضی از دوستان هم با این موضوع برخورد کنن. شاید بهتره یک منبع فارسی هم براش باشه.

ارتباط با سرور  http در اندروید های  9 به بالا

ارتباط با سرور  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 به بالا استفاده و اجرا کنید

موفق باشید

سهیل

نویسنده 2 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید

نظرات کاربران

برای درج نظر باید وارد سایت شوید