سوالات متداول
سوالات رایج درباره یکپارچهسازی TWA، handoff شناسه دستگاه و attribution نصب.
چرا gps_adid در سمت وب خالی است؟
| علت | راهحل |
|---|---|
| TWA قبل از برگشتن Ad ID راهاندازی شد | منتظر callback getGoogleAdId بمانید، سپس launchTwa() را فراخوانی کنید. shouldLaunchImmediately() را روی false نگه دارید. |
| عدم تطابق key در نیتیو و وب | از همان key استفاده کنید (مثلاً gps_adid) در appendQueryParameter و getQueryParam. |
initSdk پس از تغییر URL اجرا میشود | پارامترهای query را در اولین بارگذاری document بخوانید، قبل از redirectهای ورود یا routing سمت کلاینت. |
| Redirect ورود در هنگام راهاندازی | اگر کاربران احراز هویت نشده به /login هدایت میش وند، پارامترهای query در launch URL گم میشوند. gps_adid را (sessionStorage / localStorage) در اولین بارگذاری حفظ کنید، یا redirect را تا ذخیره و منتقل شدن params به initSdk به تأخیر بیندازید. |
| Opt-out از تبلیغات | کاربر ممکن است یک ID صفر دریافت کند؛ این رفتار مورد انتظار Google است. |
| دستگاه تست غیرموبایل | از یک گوشی موبایل واقعی یا شبیهساز با پشتیبانی Google Play استفاده کنید. |
چرا redirect ورود باعث گم شدن gps_adid میشود؟
یک الگوی رایج که TWA را خراب میکند:
۱. نیتیو https://app.example.com/?gps_adid=UUID را باز میکند.
۲. وباپ فوراً کاربران احراز هویت نشده را به https://app.example.com/login بدون حفظ پارامترهای query هدایت میکند.
۳. gps_adid گم میشود؛ initSdk مقدار null دریافت میکند.
راهحل: در landing URL، قبل از هر redirect، شناسههای دستگاه را در sessionStorage ذخیره کنید:
const gpsAdid = getQueryParam('gps_adid');
if (gpsAdid) {
sessionStorage.setItem('gps_adid', gpsAdid);
}
const stored = sessionStorage.getItem('gps_adid') || gpsAdid;
Adtrace.initSdk({ /* ... */, gps_adid: stored });
اگر initSdk در /login اجرا میشود، همین الگو را آنجا هم اعمال کنید.
چرا نصب در پنل نمایش داده نمیشود؟
- تأیید کنید روی گوشی موبایل واقعی یا شبیهساز Google Play تست میکنید.
- تأیید کنید نصب قبل از رویدادها ارسال شده است (Web SDK نصب را در اولین باز شدن ارسال میکند).
- از sandbox + لاگهای verbose استفاده کنید و به دنبال خطاها بگردید.
- حافظه را پاک کنید و با یک نصب تازه دوباره تست کنید.
- مراحل تست یکپارچهسازی را برای Testing Console دنبال کنید.
چرا رویدادها کار میکنند اما نصب نه؟
نصب باید ابتدا موفق شود. رویدادها ذخیره میشوند اما در آمار پنل نمایش داده نمیشوند تا نصب ثبت شود. به لایه وب (Web SDK) مراجعه کنید.