npmtestforbm
v6.6.0
Published
React Native Appsflyer plugin
Maintainers
Readme
React Native AppsFlyer plugin for Android and iOS.
test 🛠 In order for us to provide optimal support, we would kindly ask you to submit any issues to [email protected]
When submitting an issue please specify your AppsFlyer sign-up (account) email , your app ID , production steps, logs, code snippets and any additional relevant information.
Table of content
- Breaking changes
- Adding the SDK to your project
- Add or Remove Strict mode for App-kids
- Initializing the SDK
- Guides
- API
This plugin is built for
- iOS AppsFlyerSDK v6.4.3
- Android AppsFlyerSDK v6.4.3
❗ Breaking Changes
From version
6.3.0, we usexcframeworkfor iOS platform, then you need to use cocoapods version >= 1.10From version
6.2.30,logCrossPromotionAndOpenStoreapi will register asaf_cross_promotioninstead ofaf_app_invitesin your dashboard. Click on a link that was generated usinggenerateInviteLinkapi will be register asaf_app_invites.We have renamed the following APIs:
| Old API | New API | | ------------------------------|-------------------------------| | trackEvent | logEvent | | trackLocation | logLocation | | stopTracking | stop | | trackCrossPromotionImpression | logCrossPromotionImpression | | trackAndOpenStore | logCrossPromotionAndOpenStore | | setDeviceTrackingDisabled | anonymizeUser | | AppsFlyerTracker | AppsFlyerLib |
And removed the following ones:
- trackAppLaunch -> no longer needed. See new init guide
- sendDeepLinkData -> no longer needed. See new init guide
- enableUninstallTracking -> no longer needed. See new uninstall measurement guide
If you have used 1 of the removed APIs, please check the integration guide for the updated instructions
📲 Adding the SDK to your project
Production version from npm:
$ npm install react-native-appsflyer --saveThen run the following:
iOS
$ cd ios && pod install
$ react-native run-iosAndroid
$ react-native run-androidStarting from RN v0.60, and react-native-appsflyer
v1.4.7the plugin uses autolinking. If your app does not support autolinking, check out the Installation Guide here.
👨👩👧👦 Add or Remove Strict mode for App-kids
Starting from version 6.1.10 iOS SDK comes in two variants: Strict mode and Regular mode. Please read more here
Version <= 6.3.0: read this section of the README.md in branch: releases/6.x.x/6.3.x/6.3.0
Change to Strict mode
- After you installed the AppsFlyer plugin, add
$RNAppsFlyerStrictMode=truein the project's Podfile:
//MyRNApp/ios/Podfile
...
use_frameworks!
$RNAppsFlyerStrictMode=true
# Pods for MyRNApp
...
- In the
iosfolder of yourrootproject Runpod install
Change to Regular mode
Remove
$RNAppsFlyerStrictMode=truefrom the project's Podfile or set it to$RNAppsFlyerStrictMode=falseIn the
iosfolder of yourrootproject Runpod install
🚀 Initializing the SDK
Initialize the SDK to enable AppsFlyer to detect installations, sessions (app opens) and updates.
NOTE! for iOS 14.5, we use timeToWaitForATTUserAuthorization parameter. Please read more here
import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View} from 'react-native';
import appsFlyer from 'react-native-appsflyer';
appsFlyer.initSdk(
{
devKey: 'K2***********99',
isDebug: false,
appId: '41*****44',
onInstallConversionDataListener: true, //Optional
onDeepLinkListener: true, //Optional
timeToWaitForATTUserAuthorization: 10 //for iOS 14.5
},
(result) => {
console.log(result);
},
(error) => {
console.error(error);
}
);| Setting | Description |
| -------- | ------------- |
| devKey | Your application devKey provided by AppsFlyer (required) |
| appId | Your iTunes application ID (iOS only) |
| isDebug | Debug mode - set to true for testing only |
|onInstallConversionDataListener| Set listener for SDK init response (Optional. default=true) |
|onDeepLinkListener| Set listener for DDL response (Optional. default=false) |
|timeToWaitForATTUserAuthorization| Time for the sdk to wait before launch. please read more Here |
📖 Guides
Great installation and setup guides can be viewed here.
📑 API
See the full API available for this plugin.
