React Native非应用商店APK集成AppsFlyer遇问题求助
Troubleshooting AppsFlyer Data Not Showing Up for Non-Store React Native APK
Let’s walk through the most common issues that could be blocking your AppsFlyer dashboard from displaying data, even though your initSDK and trackEvent calls return success:
1. Confirm Package Name & Channel Match Exactly
- Double-check that the package name
com.reactnativetestin your React Native project matches 100% what’s configured in your AppsFlyer app dashboard. Even a tiny typo (like uppercase letters or extra characters) will prevent data from mapping correctly. - Ensure you’re passing the
9apps_intchannel parameter during initialization. Add it explicitly to yourinitSDKoptions object—this is critical for non-store app attribution:AppsFlyer.initSDK( { devKey: "YOUR_DEV_KEY", appId: "com.reactnativetest", isDebug: true, channel: "9apps_int" // Don't skip this for non-store channels }, (result) => console.log(result), (error) => console.log(error) ); - Also verify that
9apps_intis added as a valid media source in your AppsFlyer dashboard (under Configuration > Media Sources).
2. Debug Mode Data Visibility
- AppsFlyer separates debug and production data by default. To view test events sent in debug mode, switch to the Debug View in your dashboard (look for the toggle in the top-right corner of analytics pages).
- Debug data can take 2-5 minutes to appear in the dashboard—don’t expect instant updates.
3. Validate Initialization & Event Parameters
- Confirm your
devKeyis copied correctly from your AppsFlyer app settings (no typos!). - For non-Google Play Android apps, set the correct app type in your dashboard: go to App Settings > App Type and select "Android (Non Google Play)".
- Check that your
trackEventcalls follow the required format. Missing critical parameters (like revenue for purchase events) can lead to events being rejected. Example of a valid event:AppsFlyer.trackEvent( "user_signup", { signup_method: "email", user_id: "test_123" }, (result) => console.log(result), (error) => console.log(error) );
4. Check Network & Permissions
- Ensure your test device has a stable internet connection (Wi-Fi or cellular)—AppsFlyer events are sent over the network, so no connection means no data.
- Verify that your
AndroidManifest.xmlincludes theINTERNETpermission (React Native adds this by default, but it’s worth checking if you modified the manifest):<uses-permission android:name="android.permission.INTERNET" />
5. Use Logcat to Confirm Data is Sent
- Run this command in your terminal to check AppsFlyer’s device-side logs:
Look for lines likeadb logcat | grep AppsFlyerEvent sent successfullyorInitialization completed—this confirms the SDK is working as expected on the device. If you see error messages here (e.g., invalid devKey), they’ll point you directly to the issue.
6. Review Dashboard Filter Settings
- Double-check the filters in your AppsFlyer dashboard:
- Set the time range to include when you sent test events (try "Last 30 minutes" for recent tests).
- Select
9apps_intin the media source filter—low-volume test data can get lost if you’re viewing "All Media Sources".
If you’ve gone through all these steps and still don’t see data, try cleaning your project (cd android && ./gradlew clean) and building a fresh APK—cached build files can sometimes cause unexpected issues.
内容的提问来源于stack exchange,提问作者Krunal Panchal
相关产品推荐
相关产品推荐

