by global66 | v2.0.6
Appsflyer SDK for NativeScript applications
npm i --save @global66/nativescript-plugin-appsflyer


Nativescript Library for AppsFlyer SDK

npm version

Table of content

This plugin is built for

  • iOS AppsFlyerSDK v6.12.0
  • Android AppsFlyerSDK v6.12.1

Breaking Changes


Android: deepLinkResult will return an object instead of a string


$ tns plugin add nativescript-plugin-appsflyer


Call module by adding (native javascript):

var appsFlyer = require("nativescript-plugin-appsflyer");

appsFlyer.initSdk(options, callback): void

initializes the SDK.

parameter type description
options Object SDK configuration


name type default description
devKey string Appsflyer Dev key
appId string Apple Application ID (for iOS only)
isDebug boolean false debug mode (optional)
onConversionDataSuccess function AppsFlyer allows you to access the user attribution data in real-time for every new install, directly from the SDK level. By doing this you can serve users with personalized content or send them to specific activities within the app, which can greatly enhance their engagement with your app. For Android; for iOS
onConversionDataFailure function


 var options = {
devKey: 'WdpTVAcYwmxsaQ4WeTspmh',
appId: "975313579",
isDebug: true,
timeToWaitForATTUserAuthorization: 60,
onConversionDataSuccess: function(_res){
onConversionDataFailure: function(_res){
console.warn("failure: " + JSON.stringify(_res));

appsFlyer.initSdk(options).then(function(result) {
viewModel.set("initSdkResponse", result.status);
}, function(err) {
viewModel.set("initSdkResponse", JSON.stringify(err));

appsFlyer.logEvent(options): Promise<any>
  • These in-app events help you measure how loyal users discover your app, and attribute them to specific campaigns/media-sources. Please take the time define the event/s you want to measure to allow you to measure the ROI (Return on Investment) and LTV (Lifetime Value).
  • The logEvent method allows 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.
parameter type description
options Object log event configuration


parameter type description
eventName string custom event name, is presented in your dashboard. See the Event list HERE
eventValues Object event details (see example bellow)

Example: (native javascript)

var options = {
eventName: "af_add_to_cart",
eventValues: {
"af_content_id": "id123",
"af_currency": "USD",
"af_revenue": "2"
appsFlyer.logEvent(options).then(function(result) {
viewModel.set("logEventResponse", result);
}, function(err) {
viewModel.set("logEventResponse", JSON.stringify(err));


This plugin has a demo project bundled with it. To give it a try , clone this repo and from root a.e. nativescript-plugin-appsflyer execute the following:

npm run setup
  • Run npm run demo.ios or npm run demo.android will run for the appropriate platform.