در کنار تمامی تحریم‌هایی که روزانه از طریق سرویس‌های پرکاربرد جهانی همچون

  • وان سیگنال | OneSignal (سرویس ارسال پوش نوتیفیکیشن)
  • گیت لب | GitLab (یک مخزن آنلاین گیت)
  • فایربیس | FireBase (ارائه دهنده سرویس ابری و پشتیبان)
  • گوگل انالیتیکس | Google Analytics (سرویس آمارگیری آنلاین)
  • یونیتی | Unity (موتور بازی سازی 2بعدی و 3بعدی)
  • گیت هاب | GitHub (محبوب‌ترین و معروف ترین مخزن آنلاین گیت)
  • و…

علیه کاربران و توسعه دهندگان ایرانی وضع می‌شود، به تازگی شاهد یک مشکل جدید اما سراسری نیز هستیم؛ ارور Blocked by Play Protect که می‌تواند به یک کابوس برای توسعه دهندگان ایرانی تبدیل شود.

مشکل Blocked by play protect

مشکل Blocked by Play Protect چه زمانی رخ می‌دهد؟

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


برای مثال : <uses-sdk android:minSdkVersion=”10″ android:targetSdkVersion=”21″ />


گوگل چگونه بازی یا اپلیکیشن ما را قبل از انتشار شناسایی می‌کند؟

در هنگام تست برنامه بر روی تلفن‌های همراه مختلف کافی است تنها یک گوشی با GooglePlay فعال و متصل به اینترنت اقدام به نصب خروجی شما نماید و همین باعث می‌شود گوگل بازی/اپلیکیشن شما را بررسی اولیه کند و Sign شما فاقد اعتبار شود.

توجه : بعد از این که برنامه شما وارد لیست سیاه شود به مرور زمان هر کاربری که آنلاین باشد و بخواهد بازی یا اپلیکیشن شما را نصب نماید با هشدار Blocked by Play Protect مواجه خواهد شد.

راه حل موقت جهت تکمیل فرایند نصب

برای نصب موقت برنامه هنگام دریافت خطا باید بر روی گزینه “INSTALL ANYWAY” تپ نمایید و رضایت خود را برای نصب این برنامه اعلام نمایید.

نکته : با انتخاب گزینه “OK” یا حذف برنامه‌ای که یکبار به آن اجازه نصب داده اید، دیگر نمی‌توانید تا حل کامل مشکل، برنامه را مجددا بر روی آن دستگاه نصب کنید.

 

راه حل‌های این خطا چیست؟

در این مقاله قصد داریم راه و روش‌های کاربردی برای حل موقت و دائمی این خطا را معرفی نماییم.

روش 1

امضا (Generate Signed) استفاده شده در برنامه را تغییر دهید.

این کار باعث می‌شود برای بازه زمانی تقریبا 3 روزه و موقت مشکل حل شود و شما وقت داشته باشید بر روی دستگاه‌های بیشتری فرایند تست و خطایابی را انجام دهید.

روش 2

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

حل خطای play protect

روش 3

برنامه خود را با رعایت قواعد کپی رایت، حل مشکل بانکی، پرداخت دلاری حق عضویت سالانه و… در مارکت GooglePlay منتشر نمایید.

رفع مشکل به کمک این روش دائمی می‌باشد ولی هزینه های ناشی از پیاده سازی این کار تا حدودی زیاد است.

روش 4

در این روش که در بعضی از مواقع دائمی و گاها موقت می‌باشد شما باید در قسمت امضا (sign) برنامه باید اطلاعات فرم هویتی را کامل و البته صحیح وارد نمایید و در نهایت در قسمتی که از شما کد کشور را تقاضا میکند IR (با حروف بزرگ) را وارد نمایید.


مثال :
ساخت امضا در یونیتی
توضیح فیلدها : (ساخت کلید امضا در یونیتی)

Alias (نام مستعار)
Password (رمز کلید “به هیچ وجه فراموش نشود”)
Confirm (تایید رمز وارد شده)
Validity (تاریخ انقضا کلید “پیشنهاد یونیتی 25 سال است”)

First and Last Name (نام و نام خانوادگی “واقعی”)
Organizational Unit (سمت سازمانی شما “مثلا برنامه نویس”)
Organization (نام سازمان یا تیم)
City or Locality (شهر یا محل سکونت)
State or Province (ایالت یا استان)
Country Code (کد کشور “فراموش نکنید که حتما واقعی و با حروف بزرگ وارد شود”)


روش 5 (راه حل پیشنهادی)

اگر نمی‌توانید و یا نمی‌خواهید از روش های فوق استفاده کنید و به دنبال یک راه حل مناسب برای حل مشکل Blocked by Play Protect هستید، پیشنهاد بازیاتو به شما این روش است.

یک راه حل آسان، دائمی و البته اصولی

ابتدا به صفحه Play Protect Appeals بروید و از طریق فرم موجود در این بخش اقدام به تکمیل موارد خواسته شده نمایید؛ مواردی مثل: آدرس ایمیل، نام توسعه دهنده، نام پکیج (Pakage name) و… را وارد نمایید.


لینک صفحه ارسال درخواست :
https://support.google.com/googleplay/android-developer/contact/protectappeals


سپس با مشاهده فیلد URL to download your APK file، شما باید لینک دانلود مستقیم بازی یا اپلیکیشن در اختیار گوگل قرار دهید.

توجه : این لینک باید با آی پی‌های خارجی همچون آمریکا و آلمان در دسترس باشد، با استفاده از نرم افزارهای تغییر آی پی، شما می‌توانید به سادگی از درستی لینک مطلع شوید.


فرمت قابل قبول :


فرم ثبت بازی یا اپلیکیشن در گوگل

بعد از وارد کردن آدرس دسترسی صحیح به قسمت Additional information to support your appeal بروید و توضیحات کافی و لازم را در مورد برنامه به زبان انگلیسی در این بخش وارد نمایید.

در نهایت با انتخاب گزینه “Submit” درخواست خود را ارسال نمایید.

نکته : یک توضیح کافی شامل کلیات برنامه، دلیل استفاده از هر اجازه دسترسی (Permission)، رده سنی کاربران و… است.

توجه : شما نباید پس از ارسال درخواست به هیچ وجه نام پکیج (Pakage name) و امضا (Sign) برنامه را تغییر دهید، چرا که نه تنها مجوز اخذ شده احتمالی باطل می‌شود بلکه امکان دارد دیگر درخواست شما مبنی بر بررسی مجدد آن بازی یا اپلیکیشن بررسی نشود، همچنین توجه داشته باشید که تایید یا عدم تایید هر درخواست 3 الی 7 روز زمان خواهد برد.


روش 6 (تجربه شخصی)

توجه داشته باشید که به هیچ وجه از پرمیشن‌های (Permision) اضافه استفاده نکنید.

اجازه دسترسی‌هایی که به صورت خاص و بدون دلیل به حافظه و قابلیت‌های امنیتی و شخصی سیستم (تلفن همراه کاربر) گرفته می‌شوند سرانجام به مسدود شدن بازی یا اپلیکیشن شما می‌انجامد.


حواستون به دسترسی‌های زیر خیلی ویژه باشه:

android.permission.WRITE_EXTERNAL_STORAGE

android.permission.READ_EXTERNAL_STORAGE


همچنین استفاده از لینک‌های http نیز می‌تواند در اندروید 8 به بالا باعث بروز این خطا بشود.

برای رفع این مشکل نیز میتوانید در تمام آدرس دهی ها از https استفاده کنید. (برای این کار باید بر روی سایت خود SSL فعال کنید)

در 6 راه فوق سعی کردیم به بررسی تمامی راه‌حل‌های موجود برای رفع خطای “Blocked by Play Protect” بپردازیم؛ امیدوارم که این آموزش برای شما عزیزان مفید واقع شود.


راه حل جدید رفع مشکل مسدود شدن با سپر ایمنی گوگل پلی:

ممکن است زمانی که می‌خواهید تاییدیه گوگل را برای بازی خود بگیرید ممکن است با پیامی عجیب رو به رو شوید:

You recently submitted an appeal for an app with Google Play Protect.
We were unable to download the APK file from the link you provided. Please submit a new appeal and make sure that the link is publicly browsable.

برای حل این مشکل می‌توانید از یک راه حل غیر اصولی ولی کاربردی استفاده کنید.

برای این کار کافیست:

1- یک پروژه جدید بدون هیچ فایلی ایجاد کنید.
2- پوشه Plugins را به همراه فایل اندروید مانیفست پروژه اصلی خود را به این پروژه خالی اضافه کنید.
3- پروژه جدید را به وسیله کلید (Sign) خروجی بگیرید.
4- در سایتی با قابلیت دانلود مستقیم آپلود نمایید. (برای اطمینان از صحت فایل آن را دانلود نکنید)
5- فرم را مجددا با اطلاعات واقعی تکمیل و ارسال نمایید و منتظر تایید گوگل بمانید.


مقالات مرتبط: گوگل پلی پروتکت، سپری برای محافظت یا شمشیری برای مقابله


خلاصه:

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

راه حل پیشنهادی: تکمیل فرم گوگل دولوپر (روش 5) + راهکار ارسال پروژه بدون محتوای چندرسانه‌ای (موسیقی، گرافیک و انیمیشن)

سایر راه حل‌ها

  • حذف دسترسی‌‌های بدون استفاده
  • تغییر آدرس ها از http به https
  • تغییر کلید سازنده (sign key)
  • تکمیل تمامی جزئیات کلید سازنده با اطلاعات کاملا واقعی
  • انتشار در فروشگاه GooglePlay