بهترین روش ها برای شناسه های منحصر به فرد

این سند راهنمایی‌هایی برای انتخاب شناسه‌های مناسب برای برنامه شما بر اساس مورد استفاده شما ارائه می‌دهد.

برای نگاهی کلی به مجوزهای اندروید، به «مرور کلی مجوزها» مراجعه کنید. برای بهترین شیوه‌های خاص برای کار با مجوزهای اندروید، به «بهترین شیوه‌های مجوزهای برنامه» مراجعه کنید.

بهترین شیوه‌ها برای کار با شناسه‌های اندروید

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

  1. هر زمان که ممکن است، شناسه‌های قابل تنظیم مجدد توسط کاربر را انتخاب کنید. برنامه شما می‌تواند اکثر موارد استفاده خود را حتی زمانی که از شناسه‌هایی غیر از شناسه‌های سخت‌افزاری غیرقابل تنظیم مجدد استفاده می‌کند، به دست آورد.
  2. از استفاده از شناسه‌های سخت‌افزاری خودداری کنید. در بیشتر موارد، می‌توانید بدون محدود کردن عملکردهای مورد نیاز، از استفاده از شناسه‌های سخت‌افزاری مانند شناسه بین‌المللی تجهیزات موبایل (IMEI) خودداری کنید.

    اندروید ۱۰ (سطح API ۲۹) محدودیت‌هایی را برای شناسه‌های غیرقابل تنظیم مجدد، که شامل IMEI و شماره سریال می‌شود، اضافه می‌کند. برنامه شما باید یک برنامه مالک دستگاه یا پروفایل باشد، مجوزهای ویژه اپراتور را داشته باشد، یا مجوز ممتاز READ_PRIVILEGED_PHONE_STATE را داشته باشد تا به این شناسه‌ها دسترسی داشته باشد.

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

  4. از تنظیم مجدد شناسه تبلیغاتی استفاده نکنید.

  5. در صورت امکان، برای سایر موارد استفاده، به جز موارد جلوگیری از تقلب در پرداخت و تماس تلفنی، از شناسه نصب Firebase (FID) یا یک GUID ذخیره شده خصوصی استفاده کنید. برای اکثر موارد استفاده غیر تبلیغاتی، یک FID یا GUID باید کافی باشد.

  6. برای به حداقل رساندن ریسک حریم خصوصی، از APIهایی استفاده کنید که برای مورد استفاده شما مناسب هستند. از DRM API برای محافظت از محتوای با ارزش بالا و از Play Integrity API برای محافظت در برابر سوءاستفاده استفاده کنید. APIهای Play Integrity ساده‌ترین راه برای تعیین اصالت دستگاه بدون ایجاد ریسک حریم خصوصی هستند.

بخش‌های باقیمانده این راهنما، این قوانین را در زمینه توسعه برنامه‌های اندروید شرح می‌دهند.

با شناسه‌های تبلیغاتی کار کنید

شناسه تبلیغات یک شناسه قابل تنظیم مجدد توسط کاربر است و برای موارد استفاده از تبلیغات مناسب است. با این حال، هنگام استفاده از این شناسه، نکات کلیدی زیر را باید در نظر داشته باشید:

همیشه به نیت کاربر در تنظیم مجدد شناسه تبلیغاتی احترام بگذارید. بدون رضایت کاربر، با استفاده از شناسه یا اثر انگشت دیگر برای پیوند دادن شناسه‌های تبلیغاتی بعدی به یکدیگر، تنظیم مجدد کاربر را متوقف نکنید. سیاست محتوای توسعه‌دهندگان گوگل پلی موارد زیر را بیان می‌کند:

«...در صورت تنظیم مجدد، یک شناسه تبلیغاتی جدید نباید بدون رضایت صریح کاربر به شناسه تبلیغاتی قبلی یا داده‌های مشتق شده از شناسه تبلیغاتی قبلی متصل شود.»

همیشه به پرچم تبلیغات شخصی‌سازی‌شده‌ی مرتبط احترام بگذارید. شناسه‌های تبلیغاتی قابل تنظیم هستند، به این صورت که کاربران می‌توانند میزان ردیابی مرتبط با شناسه را محدود کنند. همیشه از متد AdvertisingIdClient.Info.isLimitAdTrackingEnabled() استفاده کنید تا مطمئن شوید که خواسته‌های کاربران خود را نادیده نمی‌گیرید. سیاست محتوای توسعه‌دهندگان گوگل پلی موارد زیر را بیان می‌کند:

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

از هرگونه سیاست حفظ حریم خصوصی یا امنیتی مرتبط با SDK هایی که استفاده می‌کنید و مربوط به استفاده از شناسه تبلیغات هستند، آگاه باشید. به عنوان مثال، اگر از SDK گوگل آنالیتیکس، true به متد enableAdvertisingIdCollection() ارسال می‌کنید، حتماً تمام سیاست‌های SDK آنالیتیکس مربوطه را بررسی و رعایت کنید.

همچنین، توجه داشته باشید که سیاست محتوای توسعه‌دهندگان گوگل پلی ایجاب می‌کند که شناسه تبلیغاتی «نباید به اطلاعات شخصی قابل شناسایی متصل باشد یا با هیچ شناسه دستگاه ثابتی (مثلاً: SSAID، آدرس MAC، IMEI و غیره) مرتبط باشد.»

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

جدول-01
timestamp ad_id account_id clickid
جدول-02
account_id name dob country

در این مثال، ستون ad_id می‌تواند از طریق ستون account_id در هر دو جدول به PII متصل شود، که اگر اجازه صریح کاربران خود را دریافت نکرده باشید، نقض خط‌مشی محتوای توسعه‌دهندگان Google Play خواهد بود.

به خاطر داشته باشید که ارتباط بین شناسه تبلیغ‌کننده و اطلاعات شخصی همیشه به این صراحت نیست. ممکن است «شبه شناسه‌ها» در هر دو جدول کلیدگذاری‌شده با PII و شناسه تبلیغ ظاهر شوند که این نیز مشکلاتی ایجاد می‌کند. برای مثال، فرض کنید TABLE-01 و TABLE-02 را به صورت زیر تغییر می‌دهیم:

جدول-01
timestamp ad_id clickid dev_model
جدول-02
timestamp demo account_id dev_model name

در این حالت، با وجود رویدادهای کلیک به اندازه کافی نادر، هنوز هم می‌توان با استفاده از مهر زمانی رویداد و مدل دستگاه، بین شناسه تبلیغ‌کننده TABLE-01 و PII موجود در TABLE-02 ارتباط برقرار کرد.

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

از دیگر راهکارها می‌توان به موارد زیر اشاره کرد:

  • عدم طراحی جداولی که به صراحت PII را به شناسه‌های تبلیغاتی مرتبط می‌کنند . در مثال اول بالا، این به معنای عدم درج ستون account_id در TABLE-01 خواهد بود.

  • جداسازی و نظارت بر لیست‌های کنترل دسترسی برای کاربران یا نقش‌هایی که به داده‌های کلیدگذاری شده با شناسه تبلیغاتی و اطلاعات شخصی (PII) دسترسی دارند. با کنترل و حسابرسی دقیق توانایی دسترسی همزمان به هر دو منبع (به عنوان مثال، با انجام اتصال بین جداول)، خطر ارتباط بین شناسه تبلیغاتی و اطلاعات شخصی (PII) را کاهش می‌دهید. به طور کلی، کنترل دسترسی به معنای انجام موارد زیر است:

    1. فهرست‌های کنترل دسترسی (ACL) مربوط به داده‌های کلیدگذاری شده با شناسه تبلیغ‌کننده و اطلاعات شخصی (PII) را از هم جدا نگه دارید تا تعداد افراد یا نقش‌هایی که در هر دو ACL هستند به حداقل برسد.
    2. برای شناسایی و مدیریت هرگونه استثنا در این قانون، ثبت و بررسی دسترسی را پیاده‌سازی کنید.

برای اطلاعات بیشتر در مورد کار مسئولانه با شناسه‌های تبلیغاتی، به مرجع API مربوط AdvertisingIdClient مراجعه کنید.

کار با FIDها و GUIDها

ساده‌ترین راه حل برای شناسایی یک نمونه برنامه در حال اجرا روی یک دستگاه، استفاده از شناسه نصب Firebase (FID) است و این راه حل توصیه شده در اکثر موارد استفاده غیر تبلیغاتی است. فقط نمونه برنامه‌ای که برای آن تهیه شده است می‌تواند به این شناسه دسترسی داشته باشد و (نسبتاً) به راحتی قابل تنظیم مجدد است زیرا فقط تا زمانی که برنامه نصب شده باشد، باقی می‌ماند.

در نتیجه، FIDها در مقایسه با شناسه‌های سخت‌افزاری غیرقابل تنظیم مجدد و وابسته به دستگاه، ویژگی‌های حریم خصوصی بهتری ارائه می‌دهند. برای اطلاعات بیشتر، به مرجع API مربوط به firebase.installations مراجعه کنید.

در مواردی که استفاده از FID عملی نیست، می‌توانید از شناسه‌های منحصر به فرد سراسری (GUID) سفارشی نیز برای شناسایی منحصر به فرد یک نمونه برنامه استفاده کنید. ساده‌ترین راه برای انجام این کار، تولید GUID خودتان با استفاده از کد زیر است:

کاتلین

var uniqueID = UUID.randomUUID().toString()

جاوا

String uniqueID = UUID.randomUUID().toString();

از آنجا که این شناسه به صورت جهانی منحصر به فرد است، می‌توان از آن برای شناسایی یک نمونه برنامه خاص استفاده کرد. برای جلوگیری از نگرانی‌های مربوط به پیوند شناسه در بین برنامه‌ها، GUIDها را به جای حافظه خارجی (مشترک) در حافظه داخلی ذخیره کنید. برای اطلاعات بیشتر، به صفحه مرور کلی ذخیره‌سازی داده‌ها و فایل مراجعه کنید.

با آدرس‌های MAC کار نمی‌کند

آدرس‌های MAC به صورت جهانی منحصر به فرد هستند، قابل تنظیم مجدد توسط کاربر نیستند و با تنظیم مجدد کارخانه از بین نمی‌روند. به همین دلایل، برای محافظت از حریم خصوصی کاربر، در نسخه‌های اندروید ۶ و بالاتر، دسترسی به آدرس‌های MAC به برنامه‌های سیستمی محدود شده است. برنامه‌های شخص ثالث نمی‌توانند به آنها دسترسی داشته باشند.

تغییرات در دسترس بودن آدرس مک در اندروید ۱۱

در برنامه‌هایی که اندروید ۱۱ و بالاتر را هدف قرار می‌دهند، تصادفی‌سازی مک برای شبکه‌های Passpoint بر اساس پروفایل Passpoint انجام می‌شود و یک آدرس مک منحصر به فرد بر اساس فیلدهای زیر ایجاد می‌کند:

  • نام دامنه کاملاً واجد شرایط (FQDN)
  • قلمرو
  • اعتبارنامه، بر اساس اعتبارنامه استفاده شده در پروفایل Passpoint:
    • اعتبارنامه کاربر: نام کاربری
    • اعتبارنامه گواهینامه: گواهی و نوع گواهی
    • اعتبار سیم‌کارت: نوع EAP و IMSI

علاوه بر این، برنامه‌های بدون امتیاز نمی‌توانند به آدرس MAC دستگاه دسترسی داشته باشند؛ فقط رابط‌های شبکه دارای آدرس IP قابل مشاهده هستند. این امر بر متدهای getifaddrs() و NetworkInterface.getHardwareAddress() و همچنین ارسال پیام‌های RTM_GETLINK Netlink تأثیر می‌گذارد.

در زیر لیستی از روش‌هایی که برنامه‌ها تحت تأثیر این تغییر قرار می‌گیرند، آمده است:

  • NetworkInterface.getHardwareAddress() برای هر رابطی مقدار null برمی‌گرداند.
  • برنامه‌ها نمی‌توانند از تابع bind() روی سوکت‌های NETLINK_ROUTE استفاده کنند.
  • دستور ip اطلاعاتی در مورد رابط‌ها (اینترفیس‌ها) بر نمی‌گرداند.
  • برنامه‌ها نمی‌توانند پیام‌های RTM_GETLINK ارسال کنند.

توجه داشته باشید که اکثر توسعه‌دهندگان باید از APIهای سطح بالاتر ConnectivityManager به جای APIهای سطح پایین‌تر مانند NetworkInterface ، getifaddrs() یا سوکت‌های Netlink استفاده کنند. برای مثال، برنامه‌ای که به اطلاعات به‌روز در مورد مسیرهای فعلی نیاز دارد، می‌تواند این اطلاعات را با گوش دادن به تغییرات شبکه با استفاده از ConnectivityManager.registerNetworkCallback() و فراخوانی LinkProperties.getRoutes() مرتبط با شبکه، دریافت کند.

ویژگی‌های شناسه

سیستم عامل اندروید تعدادی شناسه با ویژگی‌های رفتاری متفاوت ارائه می‌دهد. اینکه از کدام شناسه استفاده کنید، بستگی به این دارد که ویژگی‌های زیر چگونه با مورد استفاده شما کار می‌کنند. با این حال، این ویژگی‌ها پیامدهایی در مورد حریم خصوصی نیز دارند، بنابراین درک نحوه تعامل این ویژگی‌ها با یکدیگر مهم است.

محدوده

دامنه شناسه توضیح می‌دهد که کدام سیستم‌ها می‌توانند به شناسه دسترسی داشته باشند. دامنه شناسه اندروید عموماً در سه نوع ارائه می‌شود:

  • برنامه‌ی تکی : شناسه درون برنامه است و برای برنامه‌های دیگر قابل دسترسی نیست.
  • گروه برنامه‌ها : شناسه برای گروهی از برنامه‌های مرتبط از پیش تعریف‌شده قابل دسترسی است.
  • دستگاه : این شناسه برای همه برنامه‌های نصب شده روی دستگاه قابل دسترسی است.

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

قابلیت تنظیم مجدد و پایداری

قابلیت تنظیم مجدد و پایداری، طول عمر شناسه را تعریف می‌کنند و نحوه تنظیم مجدد آن را توضیح می‌دهند. محرک‌های رایج تنظیم مجدد عبارتند از: تنظیم مجدد درون برنامه‌ای، تنظیم مجدد از طریق تنظیمات سیستم، تنظیم مجدد در هنگام راه‌اندازی و تنظیم مجدد در هنگام نصب. شناسه‌های اندروید می‌توانند طول عمر متفاوتی داشته باشند، اما طول عمر معمولاً به نحوه تنظیم مجدد شناسه مربوط می‌شود:

  • فقط جلسه : هر بار که کاربر برنامه را مجدداً راه اندازی می کند، از یک شناسه جدید استفاده می شود.
  • نصب-ریست : هر بار که کاربر برنامه را حذف و دوباره نصب می‌کند، از یک شناسه جدید استفاده می‌شود.
  • تنظیم مجدد FDR : هر بار که کاربر دستگاه را به تنظیمات کارخانه برمی‌گرداند، از یک شناسه جدید استفاده می‌شود.
  • FDR-persistent : شناسه پس از تنظیم مجدد کارخانه (factory reset) همچنان پابرجا می‌ماند.

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

منحصر به فرد بودن

منحصر به فرد بودن، احتمال تصادم را تعیین می‌کند؛ یعنی اینکه شناسه‌های یکسان در محدوده مرتبط وجود دارند. در بالاترین سطح، یک شناسه منحصر به فرد جهانی هرگز تصادمی ندارد، حتی در دستگاه‌ها یا برنامه‌های دیگر. در غیر این صورت، سطح منحصر به فرد بودن به آنتروپی شناسه و منبع تصادفی بودن مورد استفاده برای ایجاد آن بستگی دارد. به عنوان مثال، احتمال تصادم برای شناسه‌های تصادفی که با تاریخ تقویمی نصب (مانند 2019-03-01 ) ایجاد شده‌اند، بسیار بیشتر از شناسه‌هایی است که با مهر زمانی یونیکس نصب (مانند 1551414181 ) ایجاد شده‌اند.

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

حفاظت از یکپارچگی و عدم انکارپذیری

شما می‌توانید از شناسه‌ای استفاده کنید که جعل یا بازپخش آن دشوار باشد تا ثابت کنید که دستگاه یا حساب مرتبط دارای ویژگی‌های خاصی است. به عنوان مثال، می‌توانید ثابت کنید که دستگاه، یک دستگاه مجازی نیست که توسط یک اسپمر استفاده می‌شود. شناسه‌های دشوار برای جعل، قابلیت انکارناپذیری را نیز فراهم می‌کنند. اگر دستگاه پیامی را با یک کلید مخفی امضا کند، ادعای اینکه دستگاه شخص دیگری پیام را ارسال کرده است، دشوار است. قابلیت انکارناپذیری می‌تواند چیزی باشد که کاربر می‌خواهد، مانند هنگام تأیید اعتبار یک پرداخت، یا می‌تواند یک ویژگی نامطلوب باشد، مانند زمانی که پیامی ارسال می‌کنند که از آن پشیمان هستند.

موارد استفاده رایج و شناسه مناسب برای استفاده

این بخش جایگزین‌هایی برای استفاده از شناسه‌های سخت‌افزاری، مانند IMEI، ارائه می‌دهد. استفاده از شناسه‌های سخت‌افزاری توصیه نمی‌شود زیرا کاربر نمی‌تواند آنها را مجدداً تنظیم کند و آنها به دستگاه محدود می‌شوند. در بسیاری از موارد، یک شناسه در محدوده برنامه کافی است.

حساب‌ها

وضعیت اپراتور

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

شناسه‌های پیشنهادی برای استفاده: IMEI، IMSI و Line1

چرا این توصیه؟

استفاده از شناسه‌های سخت‌افزاری در صورتی که برای عملکردهای مرتبط با اپراتور مورد نیاز باشد، قابل قبول است. به عنوان مثال، می‌توانید از این شناسه‌ها برای جابجایی بین اپراتورهای تلفن همراه یا اسلات‌های سیم‌کارت یا ارسال پیامک از طریق IP (برای Line1) - حساب‌های کاربری مبتنی بر سیم‌کارت - استفاده کنید. با این حال، برای برنامه‌های بدون مجوز، توصیه می‌کنیم از ورود به سیستم حساب برای بازیابی اطلاعات دستگاه کاربر در سمت سرور استفاده کنید. یکی از دلایل این امر این است که در اندروید 6.0 (سطح API 23) و بالاتر، این شناسه‌ها فقط از طریق یک مجوز زمان اجرا قابل استفاده هستند. کاربران ممکن است این مجوز را غیرفعال کنند، بنابراین برنامه شما باید این استثنائات را به خوبی مدیریت کند.

وضعیت اشتراک موبایل

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

شناسه پیشنهادی برای استفاده: API شناسه اشتراک برای شناسایی سیم‌کارت‌های استفاده شده در دستگاه.

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

چرا این توصیه؟

ممکن است برخی از برنامه‌ها در حال حاضر از شناسه ICC برای این منظور استفاده کنند. از آنجا که شناسه ICC به صورت جهانی منحصر به فرد و غیرقابل تنظیم مجدد است، از اندروید ۱۰ دسترسی به برنامه‌هایی با مجوز READ_PRIVILEGED_PHONE_STATE محدود شده است. از اندروید ۱۱، اندروید دسترسی به ICCID را از طریق API getIccId() صرف نظر از سطح API هدف برنامه، محدودتر کرد. برنامه‌های آسیب‌دیده باید به جای آن از شناسه اشتراک استفاده کنند.

ورود به سیستم تکی

در این حالت، برنامه شما یک تجربه ورود به سیستم واحد ارائه می‌دهد و به کاربران امکان می‌دهد یک حساب کاربری موجود را با سازمان شما مرتبط کنند.

شناسه پیشنهادی برای استفاده: حساب‌های سازگار با مدیریت حساب، مانند پیوند حساب گوگل

چرا این توصیه؟

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

تبلیغات

هدف‌گیری

در این حالت، برنامه شما نمایه‌ای از علایق کاربر ایجاد می‌کند تا تبلیغات مرتبط‌تری را به او نشان دهد.

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

چرا این توصیه؟

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

صرف نظر از اینکه آیا داده‌های کاربر را در برنامه خود به اشتراک می‌گذارید یا خیر، اگر آن را برای اهداف تبلیغاتی جمع‌آوری و استفاده می‌کنید، باید اهداف تبلیغاتی را در بخش ایمنی داده‌ها در صفحه محتوای برنامه در کنسول Play اعلام کنید.

اندازه‌گیری

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

شناسه پیشنهادی برای استفاده: شناسه تبلیغات یا APIهای ارجاع‌دهنده نصب بازی

چرا این توصیه؟

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

تبدیل‌ها

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

شناسه پیشنهادی برای استفاده: شناسه تبلیغات یا APIهای ارجاع‌دهنده نصب بازی

چرا این توصیه؟

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

بازاریابی مجدد

در این حالت، برنامه شما بر اساس علایق قبلی کاربر، تبلیغات را نشان می‌دهد.

شناسه پیشنهادی برای استفاده: شناسه تبلیغات

چرا این توصیه؟

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

تجزیه و تحلیل برنامه

در این حالت، برنامه شما رفتار کاربر را ارزیابی می‌کند تا به شما در تعیین موارد زیر کمک کند:

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

راه‌حل‌های ممکن عبارتند از:

  • شناسه مجموعه برنامه: شناسه مجموعه برنامه به شما امکان می‌دهد رفتار کاربر را در چندین برنامه متعلق به سازمان خود تجزیه و تحلیل کنید، البته تا زمانی که از داده‌های کاربر برای اهداف تبلیغاتی استفاده نکنید. اگر دستگاه‌هایی را که توسط سرویس‌های Google Play پشتیبانی می‌شوند هدف قرار می‌دهید، توصیه می‌کنیم از شناسه مجموعه برنامه استفاده کنید.
  • شناسه فایربیس (FID): یک FID به برنامه‌ای که آن را ایجاد می‌کند، محدود می‌شود و این امر مانع از استفاده از شناسه برای ردیابی کاربران در برنامه‌ها می‌شود. همچنین به راحتی قابل تنظیم مجدد است، زیرا کاربر می‌تواند داده‌های برنامه را پاک کند یا برنامه را دوباره نصب کند. فرآیند ایجاد FID ساده است؛ به راهنمای نصب فایربیس مراجعه کنید.

توسعه اپلیکیشن

گزارش خرابی

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

شناسه پیشنهادی برای استفاده: FID یا شناسه مجموعه برنامه

چرا این توصیه؟

یک FID به برنامه‌ای که آن را ایجاد می‌کند، محدود می‌شود و این امر مانع از استفاده از شناسه برای ردیابی کاربران در برنامه‌ها می‌شود. همچنین به راحتی قابل تنظیم مجدد است، زیرا کاربر می‌تواند داده‌های برنامه را پاک کند یا برنامه را دوباره نصب کند. فرآیند ایجاد FID ساده است؛ به راهنمای نصب Firebase مراجعه کنید. یک شناسه مجموعه برنامه به شما امکان می‌دهد رفتار کاربر را در چندین برنامه‌ای که سازمان شما در اختیار دارد، تجزیه و تحلیل کنید، البته تا زمانی که از داده‌های کاربر برای اهداف تبلیغاتی استفاده نکنید.

گزارش عملکرد

در این حالت، برنامه شما معیارهای عملکرد، مانند زمان بارگذاری و میزان مصرف باتری را جمع‌آوری می‌کند تا به بهبود کیفیت برنامه شما کمک کند.

شناسه پیشنهادی برای استفاده: نظارت بر عملکرد Firebase

چرا این توصیه؟

نظارت بر عملکرد فایربیس به شما کمک می‌کند تا روی معیارهایی که برای شما بیشترین اهمیت را دارند تمرکز کنید و تأثیر یک تغییر اخیر در برنامه خود را آزمایش کنید.

تست برنامه

در این حالت، برنامه شما تجربه کاربر با برنامه را برای آزمایش یا اشکال‌زدایی ارزیابی می‌کند.

شناسه پیشنهادی برای استفاده: FID یا شناسه مجموعه برنامه

چرا این توصیه؟

یک FID به برنامه‌ای که آن را ایجاد می‌کند، محدود می‌شود و این امر مانع از استفاده از شناسه برای ردیابی کاربران در برنامه‌ها می‌شود. همچنین به راحتی قابل تنظیم مجدد است، زیرا کاربر می‌تواند داده‌های برنامه را پاک کند یا برنامه را دوباره نصب کند. فرآیند ایجاد FID ساده است؛ به راهنمای نصب Firebase مراجعه کنید. یک شناسه مجموعه برنامه به شما امکان می‌دهد رفتار کاربر را در چندین برنامه‌ای که سازمان شما در اختیار دارد، تجزیه و تحلیل کنید، البته تا زمانی که از داده‌های کاربر برای اهداف تبلیغاتی استفاده نکنید.

نصب بین دستگاهی

در این حالت، برنامه شما باید نمونه صحیح برنامه را هنگام نصب روی چندین دستگاه برای یک کاربر شناسایی کند.

شناسه پیشنهادی برای استفاده: FID یا GUID

چرا این توصیه؟

یک FID به طور خاص برای این منظور طراحی شده است؛ دامنه آن محدود به برنامه است، بنابراین نمی‌توان از آن برای ردیابی کاربران در برنامه‌های مختلف استفاده کرد و پس از نصب مجدد برنامه، مجدداً تنظیم می‌شود. در موارد نادری که FID کافی نیست، می‌توانید از GUID نیز استفاده کنید.

امنیت

تشخیص سوءاستفاده

در این حالت، شما در حال تلاش برای شناسایی چندین دستگاه جعلی هستید که به سرویس‌های backend شما حمله می‌کنند.

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

چرا این توصیه؟

برای تأیید اینکه درخواست از یک دستگاه اندروید واقعی می‌آید - نه از یک شبیه‌ساز یا کد دیگری که دستگاه دیگری را جعل می‌کند - از API یکپارچگی گوگل پلی استفاده کنید.

کلاهبرداری تبلیغاتی

در این حالت، برنامه شما بررسی می‌کند که آیا برداشت‌ها و اقدامات کاربر در برنامه شما واقعی و قابل تأیید است یا خیر.

شناسه پیشنهادی برای استفاده: شناسه تبلیغات

چرا این توصیه؟

طبق سیاست محتوای توسعه‌دهندگان گوگل پلی ، استفاده از شناسه تبلیغات برای موارد استفاده تبلیغاتی الزامی است، زیرا کاربر می‌تواند آن را مجدداً تنظیم کند.

مدیریت حقوق دیجیتال (DRM)

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

شناسه پیشنهادی برای استفاده: استفاده از FID یا GUID کاربر را مجبور به نصب مجدد برنامه می‌کند تا بتواند محدودیت‌های محتوا را دور بزند، که این بار سنگینی برای منصرف کردن اکثر افراد است. اگر این محافظت کافی نیست، اندروید یک DRM API ارائه می‌دهد که می‌تواند برای محدود کردن دسترسی به محتوا استفاده شود، شامل یک شناسه برای هر APK، یعنی Widevine ID.

تنظیمات برگزیده کاربر

در این حالت، برنامه شما وضعیت کاربر را برای هر دستگاه، به ویژه برای کاربرانی که وارد سیستم نشده‌اند، در برنامه‌های شما ذخیره می‌کند. می‌توانید این وضعیت را به برنامه دیگری که با همان کلید در همان دستگاه امضا شده است، منتقل کنید.

شناسه پیشنهادی برای استفاده: FID یا GUID

چرا این توصیه؟

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