appsflyer-web-sdk
v0.0.1
Published
AppsFlyer web SDK for TV web application
Downloads
111
Readme
appsflyer-web-sdk
🛠 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
- Platforms dependecy
- Initializing the web SDK
- Launch event
- In-app Events
- Testing the integration
- Sample App
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
- Add the following script to your index.html file:
<script type="text/javascript" src="$WEBAPIS/webapis/webapis.js"></script>
- 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
Download the webOSTVjs to your project.
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 totrue
;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