2.0.6 • Published 4 months ago

@global66/nativescript-plugin-appsflyer v2.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

appsflyer-nativescript-plugin

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

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.

parametertypedescription
optionsObjectSDK configuration

options

nametypedefaultdescription
devKeystring[Appsflyer Dev key](https://support.appsflyer.com/hc/en-us/articles/207032126-AppsFlyer-SDK-Integration-Android)
appIdstring[Apple Application ID](https://support.appsflyer.com/hc/en-us/articles/207032066-AppsFlyer-SDK-Integration-iOS) (for iOS only)
isDebugbooleanfalsedebug mode (optional)
onConversionDataSuccessfunctionAppsFlyer 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](https://support.appsflyer.com/hc/en-us/articles/207032126-AppsFlyer-SDK-Integration-Android#7-get-conversion-data); for [iOS](https://support.appsflyer.com/hc/en-us/articles/207032066-AppsFlyer-SDK-Integration-iOS#7-get-conversion-data)
onConversionDataFailurefunction

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.
parametertypedescription
optionsObjectlog event configuration

options

parametertypedescription
eventNamestringcustom event name, is presented in your dashboard. See the Event list [HERE](https://github.com/AppsFlyerSDK/AppsFlyerFramework/blob/master/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerTracker.h)
eventValuesObjectevent 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 or npm run demo.android will run for the appropriate platform.
2.0.6

4 months ago

2.0.5

8 months ago

2.0.4

9 months ago

2.0.3

9 months ago

2.0.1

9 months ago

2.0.0

9 months ago