Monaca Docs
  • Monaca
  • Create Your First App
  • Release Notes and Updates
    • Privacy Manifest Requirement for iOS Apps
    • Plugin uses-permission Tag Deduplication Feature
    • iOS Monaca Debugger Discontinuation & Alternative Features
    • Error submitting to iOS App Store (ITMS-90165)
    • Build error in cordova-custom-config
    • Cordova 11 changes
    • Cordova 10 changes
    • Cordova 9 changes
    • New Monaca CLI and Localkit
    • Migration from Cordova to Capacitor
  • Product Guides
    • Monaca Development Overview
    • Monaca Cloud IDE
      • Overview
      • Features in the Monaca Cloud IDE
      • Integrated Terminal
      • Editor Shortcuts
      • Project Dependencies
        • File and Folder Structure
        • JS/CSS Components
        • Cordova Plugins
        • Custom Cordova Plugins
      • Version Control
        • Introduction
        • GitHub Integration
        • Git SSH Integration
      • Monaca CI
        • Overview
        • Deploy Services
        • Deploy to Appetize.io
        • Deploy to DeployGate
        • Deploy to Firebase
      • Build
        • Building for iOS
          • Building an iOS App
          • Build Settings between Monaca and Xcode
        • Building for Android
        • Building for Electron
          • Building on Windows
        • Building for PWA
        • Building for Windows
        • Build Environment Settings
        • Common Build and Application Upload Errors
        • Build History
      • Distribution
        • App Store Distribution
          • App Store Connect Guide
          • iOS App Upload Feature
        • Google Play Distribution
        • Amazon Appstore Distribution
        • Non-market App Distribution
      • Download App Package
      • Tutorial
    • Monaca Localkit
      • Overview
      • Pairing and Debugging
      • Remote Building and Publishing
      • Troubleshooting Guide
      • Tutorial
    • Monaca CLI
      • Overview
      • Monaca CLI Commands
      • Pairing and Debugging
      • Project Dependencies
        • File and Folder Structure
        • JS/JSS Components
        • Cordova Plugins
        • Custom Cordova Plugins
      • Remote Building and Publishing
      • Troubleshooting Guide
      • Tutorial
    • Monaca Debugger
      • Functionalities
      • Installation
        • Monaca Debugger for Android
        • Monaca Debugger for iOS
        • Monaca Debugger for Android Emulator
      • Usage
      • Custom Build Debugger for iOS
      • iOS App Simulator Build
      • Troubleshooting Guide
      • Tutorials
    • Team Dashboard
    • Quick Viewer
    • Migrating from Other Platforms
      • Key Points
      • Cloud IDE preview function settings
      • Migrating from Angular
      • Migrating from Ionic
      • Migrating from React
      • Migrating from Vue
      • Migrating from PhoneGap
        • Key Differences
        • Guide for PhoneGap Build Users
        • Guide for PhoneGap CLI Users
        • Guide for PhoneGap Desktop App Users
      • Migrating from Telerik
  • Build App
    • Build for iOS
      • Creating a Private Key and CSR
      • Creating a Certificate
      • Updating Provisioning Profiles
  • Tutorials
    • Monaca Cloud IDE Tutorial
      • Part 1: Starting a Project
      • Part 2: Running Monaca Debugger with Monaca Cloud IDE
      • Part 3: Building a Monaca App
      • Part 4: Publishing a Monaca App
    • Monaca Localkit Tutorial
      • Part 1: Starting a Project
      • Part 2: Running Monaca Debugger with Monaca Localkit
      • Part 3: Building a Monaca App
      • Part 4: Publishing a Monaca App
    • Monaca CLI Tutorial
      • Part 1: Starting a Project
      • Part 2: Running Monaca Debugger with Monaca CLI
      • Part 3: Building a Monaca App
      • Part 4: Publishing a Monaca App
    • Electron Tutorial
      • How to Use a NPM Package
      • How to Use a Web API
    • Barcode Scanner Plugin
    • Cordova SQLite Storage Plugin
    • Cordova Google Analytics Plugin
    • Cordova Firebase Plugin
    • Cordova In-app Purchase Plugin
    • Cordova AppVersion Plugin
    • Cordova Ionic Keyboard Plugin
    • Cordova Social Sharing Plugin
    • NIFCLOUD mobile backend
    • Phonegap Push Plugin
  • API Reference
    • Monaca API
      • Monaca Cloud & Remote Build API Guide
      • Utilities
    • Core Cordova Plugins
      • Cordova 11.0
        • Battery Status Plugin
        • Camera Plugin
        • Device Plugin
        • Device Motion Plugin
        • Device Orientation Plugin
        • Dialogs Plugin
        • File Plugin
        • Geolocation Plugin
        • InAppBrowser Plugin
        • Media Plugin
        • Media Capture Plugin
        • Network Information Plugin
        • Splashscreen Plugin
        • Vibration Plugin
        • StatusBar Plugin
      • Cordova 10.0
        • Battery Status Plugin
        • Camera Plugin
        • Device Plugin
        • Device Motion Plugin
        • Device Orientation Plugin
        • Dialogs Plugin
        • File Plugin
        • Geolocation Plugin
        • InAppBrowser Plugin
        • Media Plugin
        • Media Capture Plugin
        • Network Information Plugin
        • Splashscreen Plugin
        • Vibration Plugin
        • StatusBar Plugin
        • Whitelist Plugin (Android Only)
      • Cordova 9.0
        • Battery Status Plugin
        • Camera Plugin
        • Contacts Plugin
        • Device Plugin
        • Device Motion Plugin
        • Device Orientation Plugin
        • Dialogs Plugin
        • File Plugin
        • File Transfer Plugin
        • Geolocation Plugin
        • Globalization Plugin
        • InAppBrowser Plugin
        • Media Plugin
        • Media Capture Plugin
        • Network Information Plugin
        • Splashscreen Plugin
        • Vibration Plugin
        • StatusBar Plugin
        • Whitelist Plugin (Android Only)
    • Third-party Cordova Plugins
      • Advanced HTTP Plugin
      • PhoneGap BarcodeScanner Plugin
      • Cordova Custom Config Plugin
      • DatePicker Plugin
      • Share Plugin (Android)
      • WebIntent Plugin (Android)
    • Monaca Power Plugins
      • Monaca HTML5 Resource Encryption
      • Monaca In-App Updater
      • Monaca Secure Storage
      • Barcode Scanner Plugin
      • Android build memory size setting
    • Service Integration
      • Repro
      • AppsFlyer
    • Configuration Files
      • Android
        • Android Configuration
        • config.xml
        • AndroidManifest.xml
      • iOS
        • iOS Configuration
        • config.xml
        • MonacaApp-Info.plist
  • Samples & Tips
    • Sample Apps
      • AdMob
      • Twitter Single Sign-on App
      • Facebook Single Sign-on App
      • Flickr
      • TODO App
      • BirthYear App
      • Break the Bricks
      • Train Catalog App
      • Omikuji Fortune Telling App
      • Clock App
      • Memo Application
      • RSS Reader App
      • Hello World App
    • Tips & Tricks
      • Playing Sound and Music
      • Control the Splash Screen
      • Using Database
  • Features
    • Push Notification
    • SNS Authentication
    • Database
  • FAQ
    • General
    • IDE
    • Build
    • Release
    • Subscription
      • How to Use Activation Code
    • Application
    • Usage
    • Debugger
  • Supported Environments
  • Trouble Shooting
    • Preview Log repeats to reload (Vue packages version mismatch error)
  • Monaca Product Website
  • 日本語
Powered by GitBook
On this page
  • Prerequisite
  • Adding AppsFlyer to Monaca Project
  • Configuration
  • Usage
  • SDK Initialization
  • In-App Events Tracking API
  • Currency Code Setting
  • Customer User ID Setting (Advanced)
  • GCM Project Number Setting
  • Uninstall Tracking
  • Getting AppsFlyer's Device ID
  • Deeplinks Tracking

Was this helpful?

  1. API Reference
  2. Service Integration

AppsFlyer

PreviousReproNextConfiguration Files

Last updated 3 years ago

Was this helpful?

is the market leader in mobile advertising attribution and analytics, helping marketers to pinpoint their targeting, optimize their ad spend and boost their ROI (Return on Investment).

AppsFlyer allows users to monitor and track application installations, downloads, and conversions. The AppsFlyer API allows developers to access and integrate the functionality of AppsFlyer with other applications.

Prerequisite

In order to enable AppsFlyer to start tracking your app, you are required to have the following two information such as:

  1. devKey: Your application devKey provided by AppsFlyer.

  2. appId: (For iOS only) Your iOS app ID in the App Store.

Adding AppsFlyer to Monaca Project

  1. For Monaca Cloud IDE, go to Configure → Service Integration Settings.

  2. Click on Details button of AppsFlyer service.

  3. Then, click Install button to add it into your project.

4. You will be asked to confirm the setup. Click to start the installation.

Configuration

Add the following lines to your code to initialize the tracking with your own AppsFlyer devKey and appId:

document.addEventListener("deviceready", function(){

    var options = {
        devKey:  'xxXXXXXxXxXXXXxXXxxxx8'  // your AppsFlyer devKey
    };

    var userAgent = window.navigator.userAgent.toLowerCase();

    if (/iphone|ipad|ipod/.test(userAgent)) {
        options.appId = "123456789";       // your ios app id in app store
    }

    window.plugins.appsFlyer.initSdk(options);

}, false);

Usage

SDK Initialization

Initialize the SDK.

initSdk(options, onSuccess, onError): void

Parameter

Name

Type

Description

options

Object

SDK configuration (please refer to the options object table below)

onSuccess

(message: string) => void

(optional) Success callback: called after a successful SDK initialization.

onError

(message: string) => void

(optional) Error callback: called when error occurs during initialization.

options object

Name

Type

Default

Description

devKey

String

appId

String

(For iOS only) Your iOS app ID in the App Store

isDebug

Boolean

false

(optional) Debug mode

onInstallConversionDataListener

Boolean

false

Accessing AppsFlyer Attribution/Conversion Data from the SDK (Deferred Deeplinking). AppsFlyer plugin will return attribution data in onSuccess callback. For more information, please refer to:

Example

The following snippet shows how to use initSdk() function:

var onSuccess = function(result) {
    //handle result
};

function onError(err) {
    // handle error
}

var options = {
    devKey:  'd3Ac9qPardVYZxfWmCspwL',
    appId: '123456789',
    isDebug: false,
    onInstallConversionDataListener: true
};

window.plugins.appsFlyer.initSdk(options, onSuccess, onError);

In-App Events Tracking API

Allow you to send in-app events to AppsFlyer analytics. This method allows you to add events dynamically by adding them directly to the application code. These in-app events help you track how loyal users discover your app, and attribute them to specific campaigns/media-sources. Please take the time to define the event(s) you want to measure to allow you to track ROI (Return on Investment) and LTV (Lifetime Value).

trackEvent(eventName, eventValues): void (optional)

Parameter

Name

Type

Description

eventName

String

Custom event name, is presented in your dashboard.

eventValue

Object

Event details

Example

The following snippet shows how to use trackEvent() function:

var eventName = "af_add_to_cart";

var eventValues = {
    "af_content_id": "id123",
    "af_currency":"USD",
    "af_revenue": "2"
};

window.plugins.appsFlyer.trackEvent(eventName, eventValues);

Currency Code Setting

Change the currency code.

setCurrencyCode(currencyId): void

Parameter

Name

Type

Default

Description

currencyId

String

USD

Example

The following snippet shows how to use setCurrencyCode() function:

window.plugins.appsFlyer.setCurrencyCode("USD");
window.plugins.appsFlyer.setCurrencyCode("GBP"); // British Pound

Customer User ID Setting (Advanced)

Set your own custom ID. This enables you to cross-reference your own unique ID with AppsFlyer’s user ID and the other devices’ IDs. This ID is available in AppsFlyer CSV reports along with postbacks APIs for cross-referencing with you internal IDs.

The ID must be set during the first launch of the app at the SDK initialization. The best practice is to call this API during the deviceready event, where possible.

setAppUserId(customerUserId): void

Parameter

Name

Type

Description

customerUserId

String

Your custom ID

Example

The following snippet shows how to use setAppUserId() function:

window.plugins.appsFlyer.setAppUserId(userId);

GCM Project Number Setting

Set a GCM Project Number in order to enable app uninstall tracking for Android platform.

setGCMProjectID(GCMProjectNumber): void

Parameter

Name

Type

Description

GCMProjectNumber

String

Uninstall Tracking

Set your iOS device token in order to enable app uninstall tracking for iOS platform.

registerUninstall(token): void

Parameter

Name

Type

Description

token

String

Getting AppsFlyer's Device ID

Get AppsFlyer’s proprietary Device ID. The AppsFlyer Device ID is the main ID used by AppsFlyer in Reports and APIs.

getAppsFlyerUID(getUserIdCallbackFn): void

Parameter

Name

Type

Description

getUserIdCallbackFn

() => void

Success callback

Example

The following snippet shows how to use getAppsFlyerUID() function:

var getUserIdCallbackFn = function(id) {
    alert('received id is: ' + id);
}
window.plugins.appsFlyer.getAppsFlyerUID(getUserIdCallbackFn);

Deeplinks Tracking

Track deeplinks with AppsFlyer attribution data (for iOS only).

For Android version 4.2.5 and higher, the deeplinking metadata (scheme/host) is sent automatically.

handleOpenUrl(url): void

Parameter

Name

Type

Description

url

String

Url

Example

The following snippet shows how to use handleOpenUrl() function:

var handleOpenURL = function(url) {
    window.plugins.appsFlyer.handleOpenUrl(url);
}

GCM Project number. It is obtained through your google developer console. For more information, please refer to .

Your iOS device token. You can get your device token from UnityEngine.iOS.NotificationServices.deviceToken. For more information, please refer to and .

Appsflyer Dev key
Deferred Deep Linking - Getting the Conversion Data
ISO 4217 Currency Codes
Android Uninstall Measurement
Unity
iOS Uninstall Measurement
AppsFlyer