appsflyer-nativescript-plugin
Nativescript Library for AppsFlyer SDK
Table of content
This plugin is built for
- iOS AppsFlyerSDK v6.12.0
- Android AppsFlyerSDK v6.12.1
Breaking Changes
v6.5.4
Android: deepLinkResult will return an object instead of a string
Installation
$ tns plugin add nativescript-plugin-appsflyer
Integration
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 |
options
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 |
Example:
var options = {
devKey: 'WdpTVAcYwmxsaQ4WeTspmh',
appId: "975313579",
isDebug: true,
timeToWaitForATTUserAuthorization: 60,
onConversionDataSuccess: function(_res){
console.log(JSON.stringify(_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 |
options
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));
});
Demo
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
ornpm run demo.android
will run for the appropriate platform.