0.0.1 โ€ข Published 3 years ago

appsflyer-web-sdk v0.0.1

Weekly downloads
-
License
ISC
Repository
gitlab
Last release
3 years ago

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

  • Samsung Tizen
  • LG Webos

    ๐Ÿ“– Guides

  • [Adding the web SDK to your project](#installation)

    • [Yarn](#yarn)
    • [appsflyerWebSdk.bundle.js](#bundle)
  • [Platforms dependecy](#platform-dependency)
    • [Samsung](#samsung)
    • [LG](#lg)
  • [Initializing the web SDK](#integration)
  • [Launch event](#launch)
  • [In-app Events](#inappevents)
  • [Testing the integration](#testing)
    • [Response codes](#response-codes)
  • [Sample App](#demo)

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](dist/appsflyerWebSdk.bundle.js), 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](https://webostv.developer.lge.com/assets/library/webOSTVjs-v1.2.4.zip) 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);
SettingDescription
devKeyYour application [devKey](https://support.appsflyer.com/hc/en-us/articles/207032066-Basic-SDK-integration-guide#retrieving-the-dev-key) provided by AppsFlyer (required)
appId[App ID](https://support.appsflyer.com/hc/en-us/articles/207377436-Adding-a-new-app#available-in-the-app-store-google-play-store-windows-phone-store) you configured in your AppsFlyer dashboard (required)
isDebugShow Debug logs - set to true for testing only!
isSandboxSend 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)

parametertypedescription
eventNameStringThe event name, it is presented in your dashboard.
eventValuesObjectThe 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 codedescription
202Successful
400In case the authentication succeeded, if any of the mandatory fields in the message body are missing, or if any of the fields are invalid
401If the app doesnโ€™t exist or the authentication failed
403In case app traffic should be blocked due to Zero package limit
404network 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

0.0.1

3 years ago