Running UserReport tracking in React Native applications.
- Android
- iOS
Install NPM package and dependencies:
npm install --save @audienceproject/react-native-userreport-sdk react-native react-native-device-info
Update your AndroidMainfest.xml
and declare that your app is Ad Manager App:
<manifest ...>
<application ...>
<meta-data
android:name="com.google.android.gms.ads.AD_MANAGER_APP"
android:value="true"/>
</application>
</manifest>
Install Pods:
cd ios && pod install && cd ..
Update your Info.plist
with message that will inform the user why app is requesting permission to use data for tracking:
<plist ...>
<dict ...>
<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>
</dict>
</plist>
See our demo application source for more examples.
Import SDK into your application and we are ready to go:
import UserReport from '@audienceproject/react-native-userreport-sdk';
Before making any tracking requests you need to configure SDK with SAK_ID
and MEDIA_ID
(can be found on Media Settings page in UserReport UI):
UserReport.configure(SAK_ID, MEDIA_ID);
There are two types of tracking:
- Screen view tracking
- Section view tracking
If your application has one single topic, it can be tracked using screen view tracking command:
UserReport.trackScreenView();
If your application has different sections (for instance “Health”, “World news” and “Local news”), then it should be tracked using both screen view command and section view tracking command with specific SECTION_ID
(can be found on Media Settings page in UserReport UI):
UserReport.trackScreenView();
UserReport.trackSectionScreenView(SECTION_ID);
In anonymous tracking mode all requests will be fired to the do-not-track domain and IDFA will never be sent:
UserReport.setAnonymousTracking(true);
In debug mode SDK will log debugging information into console:
UserReport.setDebug(true);
Starting iOS 14.5 you’ll need to receive user’s permission to access device advertising identifier. That behavior can be disabled for older iOS versions:
UserReport.setIdfaDialog(false);