سؤالات متداول (FAQ)
سؤالات رایج درباره یکپارچهسازی React Native، تست، ردیابی Event و عیبیابی.
یکپارچهسازی
چطور React Native SDK را اضافه کنم؟
پکیج را از npm نصب کنید:
npm install react-native-adtrace --save
اگر با مشکلات linking یا dependency resolution مواجه شدید، بهجای آن Yarn امتحان کنید:
yarn add react-native-adtrace
برای iOS، پس از اضافه کردن پکیج، وابستگیهای CocoaPods را نصب کنید:
cd ios && pod install
راهنمای کامل در Basic Setup موجود است.
SDK را کجا باید راهاندازی کنم؟
Adtrace را یک بار در ریشه اپلیکیشن راهاندازی کنید: برای مثال در App.js یا کامپوننت سطح بالا: تا هر بار که اپلیکیشن باز میشود اجرا شود:
import { AdTrace, AdTraceConfig } from 'react-native-adtrace';
const adtraceConfig = new AdTraceConfig('{YourAppToken}', AdTraceConfig.EnvironmentSandbox);
AdTrace.create(adtraceConfig);
هنگام unmount شدن کامپوننت ریشه، AdTrace.componentWillUnmount() را فراخوانی کنید. از ایجاد چندین instance تنظیمات یا فراخوانی AdTrace.create() از صفحات تودرتو خودداری کنید.
آیا به تنظیمات native هم نیاز دارم علاوه بر JavaScript؟
بله. React Native SDK، native Android و iOS SDK را در بر میگیرد. پس از نصب پکیج npm، مراحل پلتفرمهای مختلف در Basic Setup را کامل کنید: مجوزهای Android، Google Play Services، install referrer، فریمورکهای iOS و pod install برای iOS.
تست
چرا دادهای در پنل نمیبینم؟
| دلیل | راهحل |
|---|---|
| عدم تطابق environment | از AdTraceConfig.EnvironmentSandbox در هنگام تست استفاده کنید. در پنل، به نمای sandbox ترافیک بروید: production بهطور پیشفرض نمایش داده میشود. |
| دستگاه از قبل ردیابی شده | قبل از تست مجدد نصب، از یک دستگاه تازه استفاده کنید یا Forget Device را در پنل انجام دهید. |
| install هنوز ثبت نشده | Event ها ذخیره میشوند اما در آمار نمایش داده نمیشوند تا زمانی که install موفق باشد. ابتدا install را تأیید کنید. |
| تنظیمات native ناقص | هم راهاندازی JS و هم مراحل native (مجوزها، Play Services، pods) را بررسی کنید. |
| سطح لاگ بسیار پایین | adtraceConfig.setLogLevel(AdTraceConfig.LogLevelVerbose) را تنظیم کنید و لاگهای دستگاه را برای adid و gps_adid بررسی کنید. |
برای مراحل Testing Console، تست یکپارچهسازی را دنبال کنید.
در لاگها به دنبال چه چیزی بگردم؟
اپلیکیشن را در sandbox با verbose logging اجرا کنید. پس از اولین Session، خروجی verbose باید شامل شناسههای دستگاه مانند adid (Adtrace device ID) و روی Android با Play Services تنظیمشده، gps_adid باشد. نبود این شناسهها معمولاً به شکافهای پیکربندی native اشاره دارد: Basic Setup را ببینید.
ردیابی Event
چطور Event ها را ردیابی کنم؟
توکنهای Event را در پنل تعریف کنید، سپس آنها را با AdTraceEvent ردیابی کنید:
import { AdTrace, AdTraceEvent } from 'react-native-adtrace';
const adtraceEvent = new AdTraceEvent('abc123');
adtraceEvent.addCallbackParameter('key', 'value');
AdTrace.trackEvent(adtraceEvent);
برای درآمد، پارامترهای Callback و پارامترهای partner، ردیابی Event را ببینید.
چرا Event ها در پنل نمایش داده نمیشوند؟
install باید ابتدا روی دستگاه ثبت شود. Adtrace Event ها را قبل از install دریافت و ذخیره میکند، اما تا زمانی که install ردیابی نشود در آمار پنل نمایش داده نخواهند شد. install را در لاگهای verbose یا Testing Console تأیید کنید، سپس دوباره Event ها را ارسال کنید.
برای Event های درآمد، در صورت امکان یک order یا transaction ID منحصربهفرد ارائه دهید تا از شمارش تکراری جلوگیری شود.
عیبیابی
خرابی پکیج یا build native
| علامت | راهحل |
|---|---|
| Module not found / خطاهای linking | کشها را پاک کنید: پوشههای build Android را حذف کنید، cd ios && pod deintegrate && pod install را اجرا کنید، node_modules را دوباره نصب کنید. اگر npm کار نمیکند، yarn را امتحان کنید. |
| مشکلات build iOS پس از اضافه کردن SDK | مطمئن شوید pod install در ios/ اجرا شده. فریمورکهای iOS مورد نیاز را بهصورت Optional لینک کنید: Basic Setup را ببینید. |
gps_adid در لاگها نمایش داده نمیشود | وابستگی analytics Google Play Services و مجوز AD_ID را اضافه کنید: Basic Setup را ببینید. |
| install در sandbox کار میکند اما در production نه | قوانین ProGuard/R8 را بررسی کنید. قوانین keep را از Basic Setup اضافه کنید. |
| install referrer دستگاههای Huawei گم میشود | پلاگین OAID را اضافه کنید: تنظیمات OAID را ببینید. |
چکلیست کلی
- SDK یک بار در ریشه اپلیکیشن با توکن معتبر و environment صحیح راهاندازی شده.
- sandbox + verbose logs در طول توسعه فعال است.
- دستگاه تازه یا Forget Device قبل از تست مجدد install.
- پنل روی sandbox ترافیک تنظیم شده هنگام تست build های sandbox.
- نیازمندیهای native Android/iOS کامل شده (مجوزها، Play Services، install referrer، pods).
برای مشکلات مداوم، تنظیمات خود را با اپلیکیشن نمونه مقایسه کنید یا با پشتیبانی Adtrace تماس بگیرید.