appsflyer-web-sdk

0.0.1 • Public • Published

appsflyer-web-sdk

License: MIT npm version Downloads

🛠 In order for us to provide optimal support, we would kindly ask you to submit any issues to support@appsflyer.com

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

This web SDK is built for

  • drawing Samsung Tizen
  • drawing LG Webos

📖 Guides

Adding the web SDK to your project

Yarn

Please make sure to use npm v16.16.0 and above!

$ yarn add appsflyer-web-sdk

appsflyerWebSdk.bundle.js

Download the appsflyerWebSdk.bundle.js file from here, and add it to your index.html file header:

<script src="[bundle-js-location]"></script>

Platforms dependecy

In prder for the web SDK to fetch device data from the relevant platform, make sure to follow the following instructions:

Samsung

  1. Add the following script to your index.html file:
<script type="text/javascript" src="$WEBAPIS/webapis/webapis.js"></script>
  1. Add the following dependecies through Tizen studio:
<tizen:privilege name="http://tizen.org/privilege/internet"/>
<tizen:privilege name="http://developer.samsung.com/privilege/productinfo"/>
<tizen:privilege name="http://developer.samsung.com/privilege/adinfo"/>

LG

  1. Download the webOSTVjs to your project.

  2. Add the following script to your index.html file:

<script type="text/javascript" src="[webOSTVjs-1.2.4-directory]"></script>

🚀 Initializing the web SDK

Initialize the SDK to enable AppsFlyer to detect installations, sessions (app opens) and updates.

import AppsFlyerWebSDK from 'appsflyer-web-sdk'

let appsflyer = new AppsFlyerWebSDK();
let config = {
    devKey: "RxutGo4bSB9MKkM7bMCjHP",
    appId: "3202204027284",
    isDebug: true, 
    isSandbox: false
}

await appsflyer.init(config);
Setting Description
devKey Your application devKey provided by AppsFlyer (required)
appId App ID you configured in your AppsFlyer dashboard (required)
isDebug Show Debug logs - set to true for testing only!
isSandbox Send events to sandbox endpoints - set to true for testing only!

Launch event

appsflyer.start()
   .then((response)=>{
       console.log("start API response success: " + JSON.stringify(response));
   }).catch((err)=>{
       console.log("start API response err: " + JSON.stringify(err));
   });

In-app events

logEvent(String eventName, Object eventValues)

parameter type description
eventName String The event name, it is presented in your dashboard.
eventValues Object The event values that are sent with the event.
appsflyer.logEvent("af_purchase", {"af_revenue" : 1.99, "af_currency": "USD"})
       .then((response)=>{
           console.log("logEvent API response success: " + JSON.stringify(response));
       }).catch((err)=>{
           console.log("logEvent API response err: " + JSON.stringify(err));
       });  

Testing the integration

  • In order to check a succesful integration of the AppsFlyer web SDK, please enable isDebug option to true;

  • The following request should be sent:

// launch request:

AppsFlyerWebSDK ::  Sending start request
AppsFlyerWebSDK ::  https://events.appsflyer.com/v1.0/c2s/session/app/tizen/3202204027284
AppsFlyerWebSDK ::  {"device_ids":[{"type":"custom","value":"c6577bb9-d4d1-4adf-809e-c3abf7c76b58"}],"limit_ad_tracking":true,"device_model":"UKS9000","device_os_version":"5.0","customer_user_id":"15667737-366d-4994-ac8b-653fe6b2be4a","app_version":"1.0.5","request_id":"aa64ea40-6cda-4fde-b4c5-31f600e1b50f","timestamp":1662035187532}

// logEvent request:
AppsFlyerWebSDK ::  Sending logEvent request
AppsFlyerWebSDK ::  https://events.appsflyer.com/v1.0/c2s/inapp/app/tizen/3202204027284
AppsFlyerWebSDK ::  {"device_ids":[{"type":"custom","value":"c6577bb9-d4d1-4adf-809e-c3abf7c76b58"}],"limit_ad_tracking":true,"device_model":"UKS9000","device_os_version":"5.0","customer_user_id":"15667737-366d-4994-ac8b-653fe6b2be4a","app_version":"1.0.5","request_id":"c55bb0fe-fed5-4c02-8e5d-c6031f56ecaf","timestamp":1662035187534,"event_name":"af_purchase","event_parameters":{"af_revenue":1.99,"af_currency":"USD"}}

  • Check the response code is 202/200
AppsFlyerWebSDK ::  start request success with status code: 202 Message: Success
AppsFlyerWebSDK ::  logEvent request success with status code: 202 Message: Success

Response codes

response code description
202 Successful
400 In case the authentication succeeded, if any of the mandatory fields in the message body are missing, or if any of the fields are invalid
401 If the app doesn’t exist or the authentication failed
403 In case app traffic should be blocked due to Zero package limit
404 network error

Sample app

Try our demo app!

Clone the repo and from the root, execute the following:

$ npm run build

Open and run the following directory from your emulator/simulator or real device:

appsflyer-web-sdk/example/app

demo printscreen

Readme

Keywords

none

Package Sidebar

Install

npm i appsflyer-web-sdk

Weekly Downloads

42

Version

0.0.1

License

ISC

Unpacked Size

2.41 MB

Total Files

62

Last publish

Collaborators

  • gm-appsflyer