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

appsflyer-web-sdk

v0.0.1

Published

AppsFlyer web SDK for TV web application

Downloads

142

Readme

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 [email protected]

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

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