این صفحه نحوه استفاده از فراخوانی دستگاه برای ذخیره و بازیابی داده های سفارشی با دستگاه های خاص را شرح می دهد. بعداً وقتی برنامهتان روی همان دستگاه نصب شد، حتی پس از بازنشانی دستگاه، میتوانید بهطور قابل اعتمادی دادههای سفارشی را دوباره به خاطر بیاورید. این به شما امکان میدهد با حفظ حریم خصوصی کاربر، بر اساس عملکرد یا رفتاری که مشخص کردهاید، دستگاه را شناسایی کرده و از استفاده مجدد آن جلوگیری کنید.
فراخوانی دستگاه چگونه کار می کند؟
فراخوانی دستگاه به برنامهها این امکان را میدهد که دادههای سفارشی مرتبط با یک دستگاه خاص را به گونهای که حریم خصوصی کاربر حفظ شود، ذخیره و فراخوانی کنند. دادهها در سرورهای Google ذخیره میشوند و به برنامه شما امکان میدهند حتی پس از نصب مجدد برنامه یا بازنشانی دستگاه، دادههای سفارشی شما را بهطور قابلاعتماد به یاد بیاورد. به عنوان مثال، میتوانید از این ویژگی برای یادآوری دستگاههایی استفاده کنید که در آنها شواهدی مبنی بر سوء استفاده شدید پیدا کردهاید، دستگاههایی که قبلاً موارد با ارزش بالا را بازخرید کردهاند (مانند نسخه آزمایشی رایگان)، یا دستگاههایی که مکرراً برای ایجاد حسابهای جدید برای اهداف سوء استفاده میشوند. فراخوانی دستگاه حریم خصوصی کاربر را حفظ میکند، زیرا برنامه درخواستکننده فقط میتواند دادههای محدودی را که با دستگاهها مرتبط کرده است، بدون دسترسی به هیچ دستگاه یا شناسههای کاربری، فراخوانی کند. پس از اینکه فراخوانی دستگاه را روشن کردید، می توانید کارهای زیر را انجام دهید:
- خواندن دادههای هر دستگاه : میتوانید سه مقدار یا بیت سفارشی را برای هر دستگاه بخوانید هنگامی که حکم یکپارچگی را دریافت میکنید. شما می توانید معنای خود را برای این مقادیر تعریف کنید. به عنوان مثال، می توانید مقادیر را به عنوان سه پرچم جداگانه در نظر بگیرید یا می توانید آنها را برای نمایش هشت برچسب سفارشی ترکیب کنید.
- اصلاح دادههای هر دستگاه : پس از به دست آوردن یک رمز یکپارچگی، میتوانید از آن رمز برای برقراری تماس سمت سرور با سرور Google Play برای تغییر یک یا چند مقدار استفاده کنید. شما حداکثر 14 روز فرصت دارید تا از رمز استفاده کنید. این به شما امکان میدهد یک مقدار را تغییر دهید، برای مثال، اگر سوءاستفاده تنها در دوره دو هفتهای پس از اولین بررسی یکپارچگی آشکار شود. وقتی مقداری را تغییر میدهید، ماه و سالی که اصلاح انجام شده است نیز ذخیره میشود.
پیش نیازها و ملاحظات فراخوانی دستگاه
فراخوانی دستگاه فقط برای ذخیره و فراخوانی اطلاعات برای محافظت از امنیت برنامه و کاهش سوء استفاده، کلاهبرداری و دسترسی غیرمجاز ممکن است استفاده شود. نمیتوانید از فراخوانی دستگاه برای اثر انگشت یا ردیابی کاربران یا دستگاهها استفاده کنید و نمیتوانید از فراخوانی دستگاه برای پیگیری ویژگیهای حساس کاربر یا دستگاه مانند جنسیت، سن یا دادههای مکان استفاده کنید.
فراخوانی دستگاه دارای پیش نیازهای زیر است:
- فراخوانی دستگاه را میتوان در تلفنها، تبلتها، دستگاههای تاشو، تلویزیون، خودکار و Wear OS استفاده کرد. در Wear، فراخوانی دستگاه فقط در دستگاههایی که با Wear OS 5 یا بالاتر عرضه میشوند در دسترس است. فراخوانی دستگاه در شبیه سازها پشتیبانی نمی شود.
- برای فراخوانی دستگاه نیاز است که نسخههای اخیر فروشگاه Google Play و سرویسهای Google Play روی دستگاه نصب و فعال شوند.
- برای فراخوانی دستگاه نیاز است که حساب کاربری دارای مجوز Play باشد، در غیر این صورت حکم مورد ارزیابی قرار نخواهد گرفت.
فراخوانی دستگاه دارای ملاحظات زمان بندی زیر است:
- پس از تأیید یک توکن یکپارچگی، حداکثر 14 روز فرصت دارید تا از آن برای ذخیره دادههای فراخوان سفارشی دستگاه استفاده کنید.
- فراخوانی دستگاه شامل مُهرهای زمانی است تا بتوانید دادههای اصلاحشده اخیر را نسبت به دادههایی که مدتها پیش اصلاح شدهاند اولویت بالاتری در نظر بگیرید. نادیده گرفتن یا بازنشانی دادهها را پس از یک دوره زمانی طولانی در نظر بگیرید تا در نظر بگیرید که دستگاهها میتوانند تغییر کنند یا بازسازی شوند و دوباره بفروشند.
- بیت های فراخوان برای یک دستگاه به مدت 3 سال پس از آخرین دسترسی خواندن یا نوشتن ذخیره می شوند.
- اگر نیاز به حذف همه دادههای مرتبط با یک دستگاه دارید، برنامه شما میتواند هر سه مقدار آن دستگاه را به false بازنشانی کند. این به طور خودکار مهرهای زمانی را بازنشانی می کند.
برای توسعه دهندگان با چندین برنامه و توسعه دهندگانی که برنامه ها را انتقال می دهند، فراخوانی دستگاه به صورت زیر عمل می کند:
- همه برنامههای موجود در حساب توسعهدهنده Google Play شما به سه مقدار مشابه در هر دستگاه دسترسی دارند. به عبارت دیگر، اگر یکی از برنامههای شما یکی از مقادیر را تغییر دهد، همه برنامههای شما وقتی روی یک دستگاه نصب میشوند، مقدار تغییر یافته را میخوانند.
- اگر برنامهای از یک حساب توسعهدهنده به حساب دیگر منتقل شود، فراخوانی دستگاه، دادههای هر دستگاه حساب توسعهدهنده جدید را نشان میدهد، نه دادههای هر دستگاه حساب توسعهدهنده قدیمی.
فراخوانی دستگاه را روشن کنید
وقتی آماده شدید، فراخوانی دستگاه را در Play Console روشن کنید:
- وارد کنسول Play شوید.
- برنامه ای را انتخاب کنید که از فراخوانی دستگاه استفاده می کند.
- در بخش Release در منوی سمت چپ، به App integrity بروید.
- در کنار Play Integrity API، روی تنظیمات کلیک کنید.
- در بخش پاسخهای صفحه، روی تغییر پاسخها کلیک کنید.
- فراخوانی دستگاه را روشن کنید.
- روی ذخیره تغییرات کلیک کنید.
وقتی فراخوانی دستگاه را روشن یا خاموش میکنید، همه پاسخهای آزمایشی Play Integrity API که در Play Console تنظیم کردهاید حذف میشوند و باید دوباره آنها را ایجاد کنید.
مقادیر فراخوان دستگاه را بخوانید
فراخوانی دستگاه در هر دو درخواست Play Integrity API کلاسیک و استاندارد کار می کند. در درخواستهای استاندارد، فراخوانی دستگاه در تماس گرمکننده بهروزرسانی میشود. به عبارت دیگر، پس از اینکه دادههای هر دستگاه را تغییر دادید، برای مشاهده مقدار بهروزرسانی شده، باید یک گرم کردن دیگر انجام دهید. هنگامی که فراخوانی دستگاه فعال شد، می توانید مقادیر فراخوان دستگاه را در احکام یکپارچگی خود بخوانید .
تغییر مقادیر فراخوان دستگاه
میتوانید مقادیر فراخوانی دستگاه را با برقراری تماس API سرور به سرور مشابه رمزگشایی حکم یکپارچگی تغییر دهید. تنظیم یک بیت روی true
تاریخ نوشتن آن را نیز به روز می کند (حتی اگر قبلاً true
بود). تنظیم یک بیت روی false
تاریخ نوشتن آن را به خالی بازنشانی می کند. هر بیتی که در یک درخواست مشخص نشده باشد، بدون تغییر باقی خواهد ماند. بین نوشتن بیت ها و توانایی بازخوانی آنها در حکم، انتشار کمی تأخیر وجود دارد. این تأخیر میتواند تا 30 ثانیه طول بکشد، اگرچه معمولاً بسیار کوتاهتر است. درخواستهای نوشتن فراخوان دستگاه باید کمتر از درخواستهای توکن یکپارچگی شما باشد. آنها در سهمیه درخواست توکن یکپارچگی شما محاسبه نمیشوند، اما مشمول محدودیتهای غیرعمومی و تدافعی هستند.
playintegrity.googleapis.com/v1/PACKAGE_NAME/deviceRecall:write -d \ '{ "integrityToken": "INTEGRITY_TOKEN", "newValues": { "bitFirst": true, "bitThird": false } }'