/appsflyer-react-native-plugin

AppsFlyer plugin for React Native

Primary LanguageObjective-CMIT LicenseMIT

React Native AppsFlyer plugin for Android and iOS.

๐Ÿ›  In order for us to provide optimal support, we would kindly ask you to submit any issues to support@appsflyer.com

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.

npm version License: MIT Downloads

Table of content

  • iOS AppsFlyerSDK v6.2.1
  • Android AppsFlyerSDK v6.2.0

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

Production version from npm:

$ npm install react-native-appsflyer --save

Then run the following:

iOS

$ cd ios && pod install
$ react-native run-ios

Android

$ react-native run-android

Starting from RN v0.60, and react-native-appsflyer v1.4.7 the plugin uses autolinking.
If your app does not support autolinking, check out the Installation Guide here.

Starting from version 6.1.10 iOS SDK comes in two variants: Strict mode and Regular mode. Please read more here

Change to Strict mode
After you installed the AppsFlyer plugin, go to the react-native-appsflyer folder inside the node_modules folder:

cd node_modules/react-native-appsflyer

Run the script changeMode.sh strict

./changeMode.sh strict

Go to the ios folder in your root project

cd ../../ios

Run pod install

Change to Regular mode
Go to the react-native-appsflyer folder inside the node_modules folder:

cd node_modules/react-native-appsflyer

Run the script changeMode.sh (WITHOUT strict)

./changeMode.sh

Go to the ios folder in your root project

cd ../../ios

Run pod install

Initialize the SDK to enable AppsFlyer to detect installations, sessions (app opens) and updates.

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
  },
  (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)

Great installation and setup guides can be viewed here.

See the full API available for this plugin.