محمد ناجی الماسی
محمد ناجی الماسی
خواندن ۴ دقیقه·۳ سال پیش

رفع خطای Blocked by play protect (یونیتی)


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

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

در این صورت یونیتی بازی شما رو با کلید(KeyStore) دیباگ امضا میکنه که فقط برای تست و دیباگ هست. شما با این کلید داخل هیچ مارکتی نمیتونید بازی رو پابلیش کنید.

اولین شرط کافه بازار و مایکت و کلا تمام مارکت ها اینه که بازی موقع نصب ارور Blocked by play protect رو نشون نده.

کلید یا Keystore چیه؟

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

همچنین برای تمام آپدیت هایی که در آینده میخواید منتشر کنید باید دقیقا با همون کلیدی که برای بار اول بازی رو باهاش امضا کردید آپدیت رو امضا کنید وگرنه آپدیت اصلا نصب نمیشه، پس در حفظ و نگهداریش کوشا باشید :)

خب Keystore چه ربطی به Blocked by play protect داره؟

گوگل رو اطلاعات کاربراش و حریم خصوصی‌شون خیلی غیرت داره(دمش گرم)! برای همین موقع نصب هر بازی یا برنامه ای اگر اینترنت گوشی روشن باشه، اطلاعات برنامه (Keystore) رو برای خودش میفرسته و اگر توی لیست دولپر های مورد اطمینانش نباشید و شمارو نشناسه این ارور رو میده


اصل مطلب: چطوری حلش کنیم؟

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

-قدم اول ساخت Keystore درست حسابی:

از منوی File پنجره Build Setting رو باز کنید.

تیک Development Build رو بردارید

روی Player Settings کلیک کنید و Publishing Settings رو انتخاب کنید.

سپس روی Keystore Manager کلیک کنید.

داخل پنجره باز شده روی دراپ داون Keystore... کلیک کنید سپس Create New>In Dedicated Location سپس جایی که میخواید سیو بشه رو انتخاب کنید.(جاش رو به خاطر بسپارید)

طبق عکس زیر اطلاعات خودتون رو به صورت واقعی و کامل به انگلیسی وارد کنید:

:
:

سپس روی Add key کلیک کنید.

تیک Custom Key رو فعال کنید و کی استوری که الان ساختید رو انتخاب کنید.

پسورد رو بزنید و یوزر رو انتخاب کنید. سپس پسورد یوزر رو انتخاب کنید ( میتونید هر چند تا که میخواید یوزر بسازید)

حالا میتونید از بازی خروجی بگیرید.

قدم دوم: نصب بازی

بازی ای که خروجی گرفتید رو داخل گوشی نصب کنید. موقع نصب با ارور Blocked by Play protect مواجه میشید. روی Install Anyway کلیک کنید.

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

قدم سوم: پر کردن فرم گوگل Appeal

به این لینک برید و اطلاعاتتون رو دقیق پر کنید.

داخل فیلد ایمیلتون رو وارد کنید.

داخل فیلد دوم اسمتون رو مطابق با اسمی که داخل Keystore وارد کردید پر کنید.

تو فیلد سوم نام پکیج بازی رو وارد کنید.

تو فیلد چهارم باید لینک مستقیم بازیتون رو قرار بدید. یعنی وقتی روش میزنی فایل مستقیم دانلود شه. لینک باید با آیپی های آمریکا و انگلیس قابل دسترس باشه. بهترین روش استفاده از دراپ باکس هست.

وارد سایت دراپ باکس بشید و اگر قبلا ثبت نام نکردید ثبت نام کنید.

بازی رو آپلود کنید ، بعد از آپلود روی گزینه Share کلیک کنید و کپی لینک رو بزنید.

باید لینکتون شبیه این باشه :

https://www.dropbox.com/s/7-my-game-%29.apk?dl=0

حالا کافیه اون صفر اخر لینک رو به 1 تغییر بدید

https://www.dropbox.com/s/7-my-game-%29.apk?dl=1

الان لینکتون مستقیما فایل بازی رو دانلود میکنه، پس لینکی که اخرش 1 هست رو داخل فیلد چهارم وارد کنید

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

نکته: از permission های حساس استفاده نکنید.

گوگل رو این چیزا حساسه : دسترسی به حافظه ، دسترسی به دوربین ، دسترسی به لوکیشن، دسترسی به میکروفون

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

روی دکمه Submit کلیک کنید و تمام.

اگر همه مراحل رو درست رفته باشید همچین ایمیلی رو دریافت میکنید:


ممکنه همه‌ی مراحل رو درست رفته باشید اما همچین ایمیلی دریافت کنید:

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

برای حل این مشکل:

داخل یونیتی Build Settings>Player Settings>Publishing Settings و در قسمت Build تیک Custom Main Manifest و Custom Launcher Manifest رو بزنید.

حالا به پنجره Project برید و عبارت Manifest رو سرچ کنید.

تمام فایل هایی که براتون اورده و پسوند .json و .xml داره رو انتخاب کنید کنید، کلیک راست کنید و Export Package رو بزنید.

حالا یه پروژه جدید بسازید و یه متن به عنوان تست داخلش بزارید داخل پروژه جدید هم تیک Custom Main Manifest و Custom Launcher Manifest رو بزنید. حالا پکیجی که از پروژه اصلی خروجی گرفتید(شامل منیفست ها) رو وارد پروژه جدید کنید.

اسم پکیج پروژه جدید رو هم نام با پروژه اصلی قرار بدید و با همون Keystore اصلی و همون یوزر امضاش کنید.

حالا دوباره قدم دوم و سوم رو با پروژه جدید انجام بدید.

دیگه واقعا تموم شد :)

حتی اگه بازم از لینک ایراد گرفت نگران نباشید،اگر برنامتون مخرب نباشه حداکثر ظرف مدت 14 روز تایید میشه.

بهتره این مراحل رو قبل از پایان پروژه انجام بدید که وقتتون تلف نشه.

مخلص.


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