FAQ
سوالات رایج درباره یکپارچهسازی و استفاده از Adtrace Android SDK، از وابستگیها و آزمایش گرفته تا رویدادها، deep link ها، ردیابی uninstall، و WebBridge.
یکپارچهسازی و وابستگیها
مدام "package not resolved" میبینم
| بررسی | اقدام |
|---|---|
| مختصات Artifact | Maven Central را برای io.adtrace جستجو کنید و group ID، artifact ID، و نسخه را تأیید کنید. |
| Gradle sync | پس از تغییر وابستگیها، پروژه را sync کنید و rebuild کنید. |
| شبکه / VPN | در برخی مناطق برای دسترسی به Maven Central نیاز به VPN است. |
به دریافت Adtrace SDK مراجعه کنید.
کدام نسخه SDK را باید استفاده کنم؟
در صورت امکان از آخرین نسخه stable استفاده کنید. نسخههای قدیمیتر ممکن است هنوز کار کنند، اما پشتیبانی و رفع خطاها بر نسخههای فعلی متمرکز است. برای یادداشتهای نسخه به صفحه releases Android SDK مراجعه کنید.
اگر از نسخه منسوخ شده استفاده کنم چه اتفاقی میافتد؟
یک SDK منسوخ شده ممکن است برای ویژگیهایی که امروز استفاده میکنید کار کند، اما Adtrace نسخههای قدیمی را به طور کامل پشتیبانی نمیکند. قبل از نسخه بعدی خود ارتقا را برنامهریزی کنید. اگر نیاز به راهنمایی دارید با پشتیبانی Adtrace تماس بگیرید.
نمیخواهم از Maven Central استفاده کنم
میتوانید SDK را از فایلهای aar یا jar منتشر شده با هر نسخه یکپارچه کنید. رفتار مشابه وابستگی Maven است. Build ها را از صفحه releases دانلود کنید.
اگر Google Play Services اضافه نکنم چه اتفاقی میافتد؟
SDK بدون throw کردن exception اجرا میشود، اما advertising ID و ویژگیهای مرتبط کار نخواهند کرد. برای عملکرد کامل Google Play Services را اضافه کنید. به اضافه کردن Google Play Services مراجعه کنید.
اگر Install Referrer اضافه نکنم چه اتفاقی میافتد؟
SDK بدون throw کردن exception اجرا میشود، اما attribution کمپین store از install referrer محدود خواهد بود. برای attribution کامل کتابخانه Install Referrer را اضافه کنید. به اضافه کردن Install Referrer مراجعه کنید.
آیا میتوانم AdTraceReceiver را از AndroidManifest.xml حذف کنم؟
Google روش تحویل install broadcast را به عنوان روش بلندمدت منسوخ کرده (مارس ۲۰۲۰)، اما اگر به broadcast INSTALL_REFERRER وابسته ه ستید همچنان به یک receiver نیاز دارید.
| تنظیم شما | اقدام |
|---|---|
بدون receiver سفارشی INSTALL_REFERRER | AdTraceReceiver را درون تگ <application> نگه دارید. |
| قبلاً receiver خودتان را دارید | از چندین broadcast receiver پیروی کنید تا Adtrace همچنان referrer را دریافت کند. |
Google Play به دلیل مجوز AD_ID آپدیت من را رد کرد
Google Play سیاستهای Families را بر اساس مخاطبان هدف شما اعمال میکند.
| مخاطب | اقدام |
|---|---|
| اپهای صرفاً برای کودکان (API 33+) | AD_ID را درخواست نکنید. مجوز را حذف کنید و گزینه Kids Google Play را فعال کنید. |
| اپهای نه صرفاً برای کودکان | م جوز را نگه دارید و اعلام کنید که فقط کودکان را هدف قرار نمیدهید. |
آیا میتوانم در حالت Environment.SANDBOX داده را در پنل ببینم؟
بله. SDK در هر دو حالت production و sandbox داده ارسال میکند. Sandbox به شما امکان میدهد ترافیک آزمایشی را از کاربران واقعی در پنل جدا کنید. همیشه قبل از انتشار به AdTraceConfig.ENVIRONMENT_PRODUCTION سوئیچ کنید.
من قبلاً یک کلاس دارم که Application را extend میکند. آیا به کلاس دیگری نیاز دارم؟
خیر. مقداردهی اولیه Adtrace را به زیر کلاس Application موجود خود اضافه کنید و آنجا AdTrace.onCreate(config) را فراخوانی کنید. از SDK 3.0.0+ به بعد، lifecycle بعد از init بهصورت خودکار مدیریت میشود. به مقداردهی اولیه Adtrace SDK مراجعه کنید.
حداقل نیاز برای کارکرد Adtrace چیست؟
با وابستگیهای الزامی در جای خود، باید:
- یک
AdTraceConfigباcontext،appToken، وenvironmentبسازید. AdTrace.onCreate(config)را فراخوانی کنید.
از SDK 3.0.0+ به بعد، lifecycle و Session Tracking بعد از init خودکار اجرا میشوند و SDK Install و Session را بدون فراخوانی دستی onResume / onPause ارسال میکند.
آیا فراخوانی AdTrace.onCreate برای ارسال Install کافی است؟
بله (SDK 3.0.0+). بعد از AdTrace.onCreate(config)، مدیریت lifecycle خودکار است و SDK میتواند داده Install و Session را هنگام foreground بودن اپ ارسال کند. در SDK 2.6.0 همچنان به مراحل دستی Session Tracking در همان نسخه مستندات نیاز دارید.
آزمایش
چگونه Adtrace را برای آزمایش پیکربندی کنم؟
AdTraceConfig.ENVIRONMENT_SANDBOXرا تنظیم کنید (قبل از انتشار به production سوئیچ کنید).- سطح لاگ را به verbose تنظیم کنید. به سطح لاگ مراجعه کنید.
- در یک دستگاه تازه با دستگاه متصل به Logcat نصب کنید.
برای مراحل Testing Console از آزمایش یکپارچهسازی پیروی کنید.
«دستگاه تازه» چیست؟
پس از اولین باز کردن، SDK حالت را در دستگاه ذخیره میکند. برای تأیید یک Install جدید، از دستگاهی استفاده کنید که هرگز اپ شما را با Adtrace اجرا نکرده، یا دستگاه را فراموش کنید و داده اپ را پاک کنید.
چگونه یک دستگاه را فراموش کنم؟
- پنل Adtrace را باز کنید.
- به Settings → Testing Console بروید.
- شناسه دستگاه خود را وارد کنید.
- روی Forget Device کلیک کنید.
چگونه شناسه دستگاه خود را بدست آورم؟
| شناسه | توضیح | نحوه دریافت |
|---|---|---|
| Google Advertising ID | UUID از Google Play services (gps_adid) | Logcat پس از لاگ verbose، یا API های شناسههای دستگاه |
شناسه دستگاه Adtrace (adid) | ID اختصاص داده شده توسط Adtrace | Logcat یا مستندات شناسههای دستگاه |
با sandbox و لاگ verbose فعال، در Logcat به دنبال gps_adid و adid بگردید:
gps_adid: 7c67ef26-830e-49b7-8948-b868b19bf4b3
"adid" : "mhxd6or7d3u57fnbdy2r4urdrdxr7tlr"
رویدادها و درآمد
eventToken چیست؟
eventToken شناسه رشتهای برای یک رویداد است که در پنل Adtrace ایجاد میکنید. خارج از پروژه شما معنایی ندارد؛ هنگام ساخت AdTraceEvent در کد از آن استفاده کنید. به ردیابی رویداد مراجعه کنید.
رویداد منحصربهفرد چیست؟
یک رویداد منحصربهفرد یک بار در طول عمر اپ ضبط میشود (مثلاً ثبتنام حساب). هنگام ایجاد رویداد آن را در پنل فعال کنید. هیچ کد SDK اضافی لازم نیست.
چه تعداد رویداد میتوانم در یک دوره زمانی ارسال کنم؟
هیچ محدودیتی وجود ندارد. میتوانید هر تعداد رویداد با هر فاصله زمانی ارسال کنید.
چه تعداد رویداد مختلف میتوانم تعریف کنم؟
هیچ محدودیت سختی در پنل وجود ندارد، اما تعداد زیادی نام رویداد مجزا تحلیل را سختتر میکند. یک مجموعه کوچک از رویدادهای قابل استفاده مجدد با پارامترهای value ترجیح دهید.
به ردیابی رویدادها مراجعه کنید.
چگونه بدانم یک رویداد با موفقیت ارسال شد؟
یک Callback Success callbacks / Failure callbacks رویداد ثبت کنید. به ارسال اطلاعات Callback مراجعه کنید.
آیا Adtrace درآمد را بر اساس ارز تبدیل میکند؟
خیر. کد ارز درآمد را برچسبگذاری میکند تا مقادیر در گزارشها مخلوط نشوند. برای تحلیل یکپارچه، درآمد را در یک ارز ارسال کنید (مثلاً USD، IRR، یا واحد محلی شما).
درآمد را از طریق پارامترهای value رویداد ارسال نکنید. از API درآمد اختصاصی در شیء رویداد استفاده کنید.
چرا حذف تکراری درآمد مهم است و چگونه از آن استفاده کنم؟
ضربه دوبار یا شبکههای کند میتوانند همان رویداد خرید را چند بار fire کنند.
یک order ID منحصربهفرد هنگام ردیابی درآمد پاس دهید. اگر همان order ID دوباره ارسال شود، Adtrace آن را حذف تکراری میکند. به حذف تکراری درآمد مراجعه کنید.
چگونه میتوانم داده سفارشی به یک رویداد اضافه کنم؟
از پارامترهای Callback (رشتههای key/value) در رویداد استفاده کنید. به پارامترهای value رویداد مراجعه کنید.
چه تعداد پارامتر میتوانم به یک رویداد اضافه کنم؟
هیچ محدودیت ثابتی وجود ندارد. از یک schema key یکپارچه در رویدادها استفاده کنید تا داده تمیز بماند.