npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

cordova-plugin-appsflyer-sdk

v6.15.3

Published

Cordova AppsFlyer SDK Plugin

Downloads

13,392

Readme

Cordova AppsFlyer plugin for Android and iOS.

npm version
Build Status
License: MIT
Downloads

🛠 In order for us to provide optimal support, we would kindly ask you to submit any issues to [email protected]

When submitting an issue please specify your AppsFlyer sign-up (account) email , your app ID , reproduction steps, code snippets, logs, and any additional relevant information.


⚠️ Note for Capacitor users ⚠️

Please check out our brand new Capacitor plugin.
This plugin is not 100% compatible for use with Capacitor! To use this plugin with Capacitor, you have to make changes and customize the code by yourself. (Feel free to fork the project)


❗️Important

  • Cordova AppsFlyer plugin version 4.4.0 and higher are meant to be used with [email protected] and up
    For lower versions of cordova-android please use plugin version 4.3.3 available @ https://github.com/AppsFlyerSDK/cordova-plugin-appsflyer-sdk/tree/4.3.3
  • From version 6.1.10 the plugin uses cocoapods(NOT StaticLib) in order to support iOS app-kids Strict mode.
    You can read more here
  • From version 6.10.2 the plugin requires using the implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.6.20' in Android.
  • From version 6.14.3 the plugin requires Target version 12 and higher in iOS.
  • From version 6.15.11 the plugin requires adding the value '/usr/lib/swift' to Build Settings 'RunPath Search Paths' key in iOS.

Table of content

This plugin is built for

  • iOS AppsFlyerSDK v6.15.1
  • Android AppsFlyerSDK v6.15.0

❗v6.15.11 Breaking Changes

iOS platform: The plugin requires adding the value '/usr/lib/swift' to Build Settings 'RunPath Search Paths' key in iOS, Otherwise there might be some compilation errors.

❗v6.14.3 Breaking Changes

Android platform: In order to receive data regarding install-referrer from AppGallery now, there is a need to add implementation to the gradle file. following the instructions in this link. please follow also these Cordova doc guidlines here.

❗v6 Breaking Changes

We have renamed the following APIs:

| Old API | New API |
|---------|---------|
|trackEvent | logEvent|
|stopTracking | Stop|
|trackCrossPromotionImpression | logCrossPromotionImpression|
|trackAndOpenStore | logCrossPromotionAndOpenStore|
|setDeviceTrackingDisabled | anonymizeUser|

📲Installation

$ cordova plugin add cordova-plugin-appsflyer-sdk  

To install cordova manually check out the doc here.

NOTE: for Ionic installation see this section

⚠️ Adding AD_ID permission for Android ⚠️

In v6.8.0 of the AppsFlyer SDK, we added the normal permission com.google.android.gms.permission.AD_ID to the SDK's AndroidManifest, to allow the SDK to collect the Android Advertising ID on apps targeting API 33. If your app is targeting children, you need to revoke this permission to comply with Google's Data policy. You can read more about it here.

👨‍👩‍👧‍👦 Add or Remove Strict mode for App-kids

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 ios folder inside platform folder:

cd platform/ios  

open the Podfile and replace pod 'AppsFlyerFramework', '6.1.1' with pod 'AppsFlyerFramework/Strict', '6.1.1'

Run pod install inside the ios folder

inside xcode, go to your target and define Preprocessor Macro AFSDK_NO_IDFA=1
Add Preprocessor macro

  • You can add the Preprocessor Macro using our Hooks.

Change to Regular mode
Go to the ios folder inside platform folder:

cd platform/ios  

open the Podfile and replace pod 'AppsFlyerFramework/Strict', '6.1.1' with pod 'AppsFlyerFramework', '6.1.1'

Run pod install inside the ios folder

inside xcode, go to your target and remove the Preprocessor Macro AFSDK_NO_IDFA=1

📖 Guides

Great installation and setup guides can be viewed here.

🚀 Setup

Set your App_ID (iOS only), Dev_Key and enable AppsFlyer to detect installations, sessions (app opens) and updates. > This is the minimum requirement to start tracking your app installs and is already implemented in this plugin. You MUST modify this call and provide:

devKey - Your application devKey provided by AppsFlyer.
appId - For iOS only. Your iTunes Application ID.
waitForATTUserAuthorization - For iOS14 only. Time for the sdk to wait before launch.

Add the following lines to your code to be able to initialize tracking with your own AppsFlyer dev key:

document.addEventListener('deviceready', function() {  
  
  window.plugins.appsFlyer.initSdk({  
  devKey: 'K2***************99', // your AppsFlyer devKey  
  isDebug: false,  
  appId: '41*****44', // your ios appID  
  waitForATTUserAuthorization: 10, //time for the sdk to wait before launch - IOS 14 ONLY!  
 }, (result) => {  console.log(result);  
 }, (error) => {  console.error(error);  
 } );  }, false);  

📑 API

See the full API available for this plugin.

📱 Demo

Check out the demo for this project here.
There is 1 demo project called demoC, run npm run setup_c in the appsflyer-cordova-plugin folder and then open the ios project in Xcode to see implementation for IOS 14.
Check out our Sample-App Let's cook! here if you want to implement our SDK inside React-Cordova app

📍 Ionic

NOTICE! In AppsFlyer Cordova plugin version 6.x.x we replaced the word track with log from all our api but Ionic-Navite Appsflyer plugin still uses track
So the latest version that can work with Ionic-Native for now is 5.4.30

Using the window object directly

Install the cordova plugin:

$ ionic cordova plugin add cordova-plugin-appsflyer-sdk  

In your main ts file, declare a window variable:

declare var window;  

Now you can use the AppsFlyer plugin directly from cordova:

import {Component} from '@angular/core';  
import {Platform} from '@ionic/angular';  
  
declare var window;  
...  
export class HomePage {  
  constructor(public platform: Platform) {  
  this.platform.ready().then(() => {  
  window.plugins.appsFlyer.initSdk(options, success, error);  
 }); }}  

Check out the full API for more information