جزئیات مشکل پوش نوتیفیکیشن
4شنبه هفته گذشته بود که از محدودیت جدید فایربیس برای کاربران ایرانی مطلع شدیم. به عبارت دقیقتر، از این خبر مطلع شدیم که ارسال push_token برای کاربران ایرانی توسط فایربیس متوقف شده است. تفسیر این اتفاق در عمل بدین شرح میباشد که صاحبین اپلیکیشن دیگر امکان ارسال نوتیفیکیشن برای کاربرانی که push_token دریافت نکرده بودند نداشتند. تنها راه برای کاربران اپلیکیشنها برای دریافت این push_token این بود که به ipهای خارج از ایران متصل شوند و در آن وضعیت وارد اپلیکیشن شوند. در آن صورت تا مدتی که مرتبط با اپلیکیشن اقدامی انجام ندهد، push_token آنها صحیح میماند و امکان ارسال پوش نوتیفیکیشن برای آنها وجود داشت. اما در غیر از این سناریو عملا به مرور امکان دریافت پوش نوتیفیکشن برای کاربران ایرانی از بین میرفت.
با پیگیریهایی که فعالین این حوزه از جمله آقای میلاد نوری در طی این چند روز داشتند و ارتباطهایی که از سمت برخی از ایرانیهای داخل فایربیس وجود داشت و تلاشهای آقای ایمان رحمتیزاده، صحبتها بر این قرار بود که طی چند روز آینده این مشکل برای کاربران ایرانی برطرف گردد. طی بررسیهایی که ادتریس بر روی حجم دیتای ارسالی که به سمتش میآمد داشت متوجه شد که این مشکل برای کاربران ایرانی از حوالی ظهر روز 5شنبه ساعت 12 برطرف شده است و به مرور push_token برای کاربران ایرانی ارسال شروع به ارسال شدن کرده است. بنابر شواهد، این مشکل برطرف شده است و طی بررسیهایی که با فعالین این حوزه نیز داشتیم، بسیاری از دولوپرهای اپلیکیشنها نیز این موضوع را تایید کرده اند. البته این احتمال وجود دارد که این مشکل به مرور برای کاربران ایرانی برطرف شود و مقطعی نبوده باشد؛ اما شاهدی بر این مدعا وجود ندارد. اما چیزی که مشخص است این میباشد که برای حجم گستردهای از کاربران این مشکل برطرف شده است.
این اتفاق فقط برای ادتریس رخ داد؟
همانطور که ادتریس در قالب یک پست اطلاعرسانی نمود، باتوجه به اینکه شمارش آنیستالهای ادتریس مبتنی بر ارسال silent push میباشد، این شمارش نیز با مشکلاتی مواجه شده است. به عبارتی شمارش آنیستال برای آن دسته از کاربرانی انجام میگرفت که push_token آنها منقضی نشده باشند و عملا طی مدتی نه چندان کوتاه که غالب push_tokenها منقضی شوند، امکان شمارش آنیستال با این روش توسط ادتریس وجود نداشت و باید راهکار دیگری برای این شمارش اتخاذ میشد.
قابل ذکر است که این روش شمارش آنیستال رایجترین روش شمارش میباشد که غالب پلتفرمهای اتریبیوشن از جمله adjust و یا بسیاری از پلتفرمهای مارکتینگ اتومیشن از جمله braze مبتنی بر همین روش آنیستال را شمارش مینمایند. لذاست که در صورتی که این مجموعهها به کاربران ایرانی خدمترسانی میکردند، مشکل شمارش انیستال برای کاربران ایرانی، برای آنها هم ایجاد میشد و این پدیده بیشتر از اینکه مربوط به ترکرها باشد، مربوط به اقدام گوگل مبنی بر محدودسازی ارسال این توکنها بودهاست.
محدودیت فایربیس، آمار شمارش آنیستال را غیردقیق کرد!
در طی این چند روز، تیم ادتریس با اتفاقی نادر مواجه شد که در نگاه اول عجیب جلوه میکرد. این اتفاق بدین شرح بود که شمارش انیستال توسط ادتریس بیشتر شده بود! چندین برابر بیشتر! ابتدا که به علت مشکل اشراف نداشتیم، این اتفاق برایمان قابل هضم نبود. با بررسیهای دقیقتر علت این مشکل نیز پیدا شد که در ادامه به شرح و بسط آن خواهیم پرداخت:
با محدودیتهایی که گوگل سمت ارسال push_tokenها ایجاد کرده بود، سناریویی که در ادامه مطرح مینماییم ایجاد میشد که منجر به کاهش دقت شمارش آنیستال توسط تمامی ترکرها میشد. به دلیل محدودیت فایربیس push_token برخی از کاربران به هر دلیل پس از مدتی منقضی میشد و در هنگام محاسبه آمار آنیستال توسط ترکر، به دلیل منقضی شدن این توکن آنیستال محسوب میشدند. اما در واقع این کاربران واقعا اپلیکیشن را حذف نکرده بودند و این آمار غلط به خاطر منقضی شدن توکن آنها بود. اما مشکل به اینجا ختم نمیشد! این دسته از کاربران پس از اینکه مجدد وارد اپلیکیشن میشدند برای شمارش reinstall مشکل ایجاد میکردند. حال ما با کاربری سر و کار داریم که یک بار برایش آنیستال شمردهایم و همچنین این پیام را به ما ساطع کرده است که نصب مجدد انجام داده است در حالی که به دلیل محدودیتهای فایربیس، push_token آن هنوز منقضی میباشد. در وهله بعدی برای شمارش آنیستالها، مجدد این کاربر را با توکن منقضی شده بررسی میکنیم و طبیعی است که این پوش توکن پیام آنیستال را برای ما ارسال میکند و مجددا برای این کاربر آنیستال دیگری شمارش میشد و این روند همینطور ادامه پیدا میکرد و شمارش انیستال توسط ترکرها با دقت پایین همراه بود.
چرا ادتریس شمارش آنیستالهای خود را متوقف کرد؟
از آنجا که دقت شمارش مهمترین اصل در ادتریس میباشد، تیم ادتریس این اتفاق را بر نمیتافت و نیاز این را دید که تصمیمی فوری در این رابطه بگیرد. یک راه این بود که بگذارد تا شمارش اشتباه ادامه پیدا کند و تقصیر را بر گردن فایربیس بیاندازد. اما راه دیگر این بود که شمارش آنیستالها را متوقف سازد و هر زمان که از اصلاح وضعیت push_tokenها مطمئن بود یا راهکاری فارغ از آن پیدا میکرد مجدد این قابلیت را فعال نماید. قابل ذکر است که ادتریس راهحل دوم را ارائه نمود. البته این قابلیت را به اپلیکیشنها داد که در صورتی که تمایل دارند این قابلیت را برای آنها فعالسازی نماید و البته تبعات این تصمیم که بر روی کیفیت دیتای تجمعیافته سمت ادتریس میباشد نیز بر عهده خودشان خواهد بود.
مجددا چه زمانی شمارش آنیستال توسط ادتریس فعال میگردد؟
حال شاید برایتان سوال پیش بیاید که با برطرف شدن این مشکل توسط فایربیس، چرا هنوز شمارش آنیستال توسط ادتریس متوقف شده است؟ برای تشریح علت این اتفاق نیاز است سناریوی دیگری را تشریح کنیم:
الآن با حجم گستردهای از کاربران اپلیکیشنها سر و کار داریم که در طی یک هفته گذشته توکن آنها منقضی شده است و به علت باز نگشتن به اپلیکیشن هنوز توکن آنها منقضی میباشد. در صورتی که بلافاصله ادتریس قابلیت شمارش آنیستال خود را فعالسازی کند مجددا کیفیت دیتا در حجم گستردهای پایین میآید و این اتفاق اصلا مورد قبول ادتریس نمیباشد. اما به مرور زمان با بازگشت کاربران به اپلیکیشن وضعیت push_token آنها اصلاح میگردد و در شمارش آنیستال برای آنها مشکلی پیش نمیآید. لذاست که هر چقدر فعالسازی مجدد این قابلیت به تعویق بیافتد، دیتای کمتری کثیف میشود و کیفیت دیتای اپلیکیشنها کمتر تحتالشعاع قرار میگیرد. بنابراین ادتریس بازگردانی مجدد این قابلیت را به تعویق انداخته است.
حال شاید این سوال برایتان پیش بیاید که ادتریس بالاخره تا چه زمانی منتظر خواهد بود؟ این پرسش به جایی میباشد. ادتریس پیوسته به صورت روزانه در حال رصد حجم دیتایی که توکن آنها مشکل دارد میباشد و هر زمان که مطمئن شود که طبق قاعده 80-20، حجم گستردهای از کاربران توکنشان ارسال شده است، اقدام به بازگردانی مجدد این قابلیت خواهد کرد. تخمین ادتریس برای این اتفاق انتهای هفتهی جاری میباشد.
قابل ذکر است که این تعویق در شمارش آنیستال جای هیچ نگرانی ندارد. به عبارتی، دیتای کاربرانی که در طی این چند روز تعویق، اقدام به حذف اپلیکیشن میکنند از بین نمیرود و صرفا دیرتر در پنل نمایش داده میشود.
دقت دیتا، مهمترین اصل در ادتریس میباشد!
هنر اصلی ادتریس یا هر ترکر دیگری دقت در شمارش دیتا میباشد. این اتفاق برای هیچ یک از اعضا ادتریس پذیرفته نیست که در بخشی از دیتای شمارششده توسط ادتریس ناخالصی دیده شود و اقدامی در جهت اصلاح آن انجام نگیرد. به همین دلیل بود که تیم ادتریس نتوانست در اتفاق هفته گذشته نیز بی تفاوت باشد و نیاز دید که تصمیمی فوری در اینباره بگیرد.
این مقاله جهت شفافسازی این تصمیم برای کاربران حال و آینده ادتریس طراحی و تدوین شده است.