Actions

NativeTarget SDK3.0

From SVG Media

Contents

Overview

Ecosystem.png

  • Monetize your apps with new NativeTarget SDK
  • Flexibility to choose various Ad Types- Product Listing Ads ( PLA) and Install Ads (ALA)
  • Ability to choose Ad formats- Native,Offer Wall, Interstisial, Expandable, banners
  • Best Ad Type served based on optimization algorithm, which generates highest eCPM for the publisher

Newlogo.png

  • Native Ad Formats
  • Product Listing Ads
  • Optimization algorithm


Monetize

How monetization works ?

Integrate-SDK.png
Step 1

Register your app with TyrooCentral and manage Ad rules and Placements from the interface.

Decide-on-ad-platform.png
Step 2

Decide the Ad type( PLA, Install) , Campaigns and the Ad format from the interface.

User-views-the-ad.png
Step 3

Ads based on optimization algorithm and your preferences is served to the user. User views the Ad ,clicks on it and perform actions like Purchase or install.

You-earn-revenue.png
Step 4

Track your earnings from TyrooCentral interface real time or integrate postbacks if you want to track it in your own platform.

Steps to Integrate the new version 3.0

STEP 1:Register App on TyrooCentral

1.Go to TyrooCentral site or click here.
2.Login with your TyrooCentral username and password
3.Click on the Mobile tab
4.Click on the “Register New App” tab.
4.png
5.Fill app details and save.
5.png

STEP 2: Integrate NativeTarget SDK Library

  • Unzip the downloaded file.
  • Import the NativeTarget SDK Library into Eclipse

D1.png

  • Then select Existing Android code into workspace

D2.png

  • Click on Browse and Add "'NativeTarget SDK Library"'
 *  And mark on copy projects into workspace"' and  click "'Finish"'.

D3.png

  • Right click on your app project in Eclipse and select Properties.
31.png
  • Select Android and then click Add. Find the nativetarget-sdk_lib project and select OK

to add the NativeTarget SDK library.


32.png


  • The project now references the NativeTarget SDK library.


33.png



Integrate NativeTarget Resource file

For every app you register on TyrooCentral platform, you can download a resource file.

4.png


  • Select the Manage Apps tab
  • Select the particular app from your list of apps.
  • Click on the View Details link for that app

This action takes the control to the Manage Placements section. Click on -


Download NativeTarget Resource

141.png


Clicking this gives a pop-up to select the type of banners that you would like to cache or not cache (It is advised to cache as many banner types as possible for performance and revenue maximization)


Select the Ads to be Cached

15.png


If you choose to select some of the categories then you need to check them and click on "Select" to download and use the nt.xml generated

161.png


If you choose to deselect certain categories then you need to check them and click on "Skip and download" to download and use the nt.xml generated


171.png


Either of the two actions will result in your nt.xml file



Place this file in -

"Your App Name" >> res >> values >> nt.xml

Eclipsentxml.png


Please change nt_debug to false when you are publlishing your application on the store.

Replace <bool name="nt_debug">true</bool> with <bool name="nt_debug">false</bool> in nt.xml



Manage Placements

Placements level rule application on the Apps

Application dropdown: Select the App on which the placement needs to be applied


7.png


Add Placement: Create a new placement

1) Ad Creative Type: Select the ad creative type from this list

       a.	For creative types "Adwall" and "Native Ads":
               i.   Select Adwall and then select Normal Adwall.
               ii.  Then select the respective adwall from the list.
       c.	In case of other ad creative types
               i.   Rules : Select rules from the rule list
               ii.  Static Banner: Select from the campaigns that need to be visible


8.png


Placement Table

1) View Rules: Click on View Rules in the Rule(s) column to see the rules applied 2) Edit: Edit the parameters of the placement 3) Delete: Delete a particular placement


9.png

Next Steps

Now you are ready to integrate different ad formats into your app. Please follow steps for each type of ad specified in next section.

Formats

Banner ViewStub
Interstitial ViewStub, Activity
Expandable Activity,Dialog
Adwall ViewStub, Activity, Dialog

Banner ad displays a small image creative to the user which can be clicked and leads the user to a website or app store page.

Add a ViewStub

Create a ViewStub in layout file

<ViewStub
 
        android:id="@+id/viewStub"
 
       android:layout_width="match_parent"
 
       android:layout_height="fill_parent"/>


Create a new layout object for respective ad types


ViewStub viewStub = (ViewStub) findViewById(R.id.viewStub);


B1.png

Display Ad

Create a new NTView object for respective ad types

new NTView(context, AdLanguage, CreativeType.BANNER, AdScaleType.VIEW_STUB, viewStub,<PlacementId>);
PlacementId This is the ID of placement created on TyrooCentral Platform.
AdLanguage This is the language of the ads that you would like to be served on your app. This is optional and can be removed from call. In absence of this argument the ads served can be of any language. The AdLanguage parameter is entered as a key for the language. For example EN for English.

The complete list is available at http://www.mcanerin.com/EN/articles/meta-language.asp


Interstitial

Interstitial ad is typically displayed in between two screens and is a full screen ad.


Interstitial in a ViewStub

I4.png
Add a ViewStub

Create a ViewStub in layout file

<ViewStub
       android:id="@+id/viewStub"
       android:layout_width="match_parent"
       android:layout_height="fill_parent"/>


Create a new layout object for respective ad types
ViewStub viewStub = (ViewStub) findViewById(R.id.viewStub);



new NTView(context, AdLanguage, CreativeType.INTERSTITIAL, AdScaleType.VIEW_STUB, viewStub,  <PlacementId>);
PlacementId This is the ID of placement created on TyrooCentral Platform.
AdLanguage This is the language of the ads that you would like to be served on your app. This is optional and can be removed from call. In absence of this argument the ads served can be of any language. The AdLanguage parameter is entered as a key for the language. For example EN for English.

The complete list is available at http://www.mcanerin.com/EN/articles/meta-language.asp


Interstitial in Activity

I2.png
new NTView(context, AdLanguage, CreativeType.INTERSTITIAL, AdScaleType.ACTIVITY, <PlacementId>);
PlacementId This is the ID of placement created on TyrooCentral Platform.
AdLanguage This is the language of the ads that you would like to be served on your app. This is optional and can be removed from call. In absence of this argument the ads served can be of any language. The AdLanguage parameter is entered as a key for the language. For example EN for English.

The complete list is available at http://www.mcanerin.com/EN/articles/meta-language.asp


Interstitial in a Dialog

I3.png
new NTView(context, AdLanguage, CreativeType.AD_WALL, AdScaleType.DIALOG,<PlacementId>);
PlacementId This is the ID of placement created on TyrooCentral Platform.
AdLanguage This is the language of the ads that you would like to be served on your app. This is optional and can be removed from call. In absence of this argument the ads served can be of any language. The AdLanguage parameter is entered as a key for the language. For example EN for English.

The complete list is available at http://www.mcanerin.com/EN/articles/meta-language.asp


Expandables

Expandable ads are rich media ads that can expand beyond the original size of the ad unit, following a user-initiated action.

Expandables in Activity

E1.png
E2.png
new NTView(context, AdLanguage, CreativeType.EXPANDABLE, AdScaleType.ACTIVITY, <PlacementId>);
PlacementId This is the ID of placement created on TyrooCentral Platform.
AdLanguage This is the language of the ads that you would like to be served on your app. This is optional and can be removed from call. In absence of this argument the ads served can be of any language. The AdLanguage parameter is entered as a key for the language. For example EN for English.

The complete list is available at http://www.mcanerin.com/EN/articles/meta-language.asp


Expandables in a Dialog

E1.png
E3.png
new NTView(context, AdLanguage, CreativeType.EXPANDABLE, AdScaleType.DIALOG,<PlacementId>);
PlacementId This is the ID of placement created on TyrooCentral Platform.
AdLanguage This is the language of the ads that you would like to be served on your app. This is optional and can be removed from call. In absence of this argument the ads served can be of any language. The AdLanguage parameter is entered as a key for the language. For example EN for English.

The complete list is available at http://www.mcanerin.com/EN/articles/meta-language.asp


Adwall

Adwall is a collection of ads presented as a list. You can either pick a pre-defined Adwall from options available, or you can create your own Adwall from the TyrooCentral Interface and present it to your users as specified below.

Mobile devices have overtaken web interfaces in the volume of e-commerce transactions in the past few years. To stay abreast with the trend we have introduced Product Listing Ads (PLA) in the Adwall. Adwall presents a list of Product and App Install Ads which generates highest eCPM for the Publisher. If a Publisher wants to run only Product Ads or only App Install Ads or a mix of both through Adwall, he can do it so via Rules. For more details on rules, please refer the "Rule Section ".


Adwall in a ViewStub

Viewstub2.png
Viewstub1.png
new NTView(context, AdLanguage,CreativeType.AD_WALL, AdScaleType.VIEWSTUB, <PlacementId>);
PlacementId This is the ID of placement created on TyrooCentral Platform.
AdLanguage This is the language of the ads that you would like to be served on your app. This is optional and can be removed from call. In absence of this argument the ads served can be of any language. The AdLanguage parameter is entered as a key for the language. For example EN for English.

The complete list is available at http://www.mcanerin.com/EN/articles/meta-language.asp


Adwall in Activity

Activity new2.png
Activity new 1.png


new NTView(context, AdLanguage,CreativeType.AD_WALL, AdScaleType.ACTIVITY, <PlacementId>);
PlacementId This is the ID of placement created on TyrooCentral Platform.
AdLanguage This is the language of the ads that you would like to be served on your app. This is optional and can be removed from call. In absence of this argument the ads served can be of any language. The AdLanguage parameter is entered as a key for the language. For example EN for English.

The complete list is available at http://www.mcanerin.com/EN/articles/meta-language.asp

Adwall in a Dialog

Dialog new 2.png
Dialog new 1.png


new NTView(context, AdLanguage,CreativeType.AD_WALL, AdScaleType.DIALOG, <PlacementId>);
PlacementId This is the ID of placement created on TyrooCentral Platform.
AdLanguage This is the language of the ads that you would like to be served on your app. This is optional and can be removed from call. In absence of this argument the ads served can be of any language. The AdLanguage parameter is entered as a key for the language. For example EN for English.

The complete list is available at http://www.mcanerin.com/EN/articles/meta-language.asp


Adwall as GRID

Grid2.png
Grid1.png
new NTView(activity,null,CreativeType.GRIDVIEW, AdScaleType.DIALOG,<PlacementId>);
PlacementId This is the ID of placement created on TyrooCentral Platform.
AdLanguage This is the language of the ads that you would like to be served on your app. This is optional and can be removed from call. In absence of this argument the ads served can be of any language. The AdLanguage parameter is entered as a key for the language. For example EN for English.

The complete list is available at http://www.mcanerin.com/EN/articles/meta-language.asp


MULTI FORMAT VIEW

Nazara.png
new NTView(context,CreativeType.MULTIFORMATVIEW, AdScaleType,<PlacementId1>, <PlacementId2>,<PlacementId3>,<PlacementId4>);
PlacementId This is the ID of placement created on TyrooCentral Platform.


NATIVE AD Format

Native advertising is a form of online advertising that matches the form and function of the platform on which it appears. For example, an article written by an advertiser to promote their product, but using the same form as an article written by the editorial staff. Once clicked on the Native Ad unit, Card view opens which gives more detail about the product.User can scroll the Native Ad unit in left or right to see more Product Ads.

D10.png
S1 - Copy.png
These advertisement formats can be varied depending on the publisher.

For example: LISTVIEW or GRIDVIEW

D102.png
D103.png

.

For implementing Native Ads, Event Tracking Technique is followed. Native Ads are rendered based on events. Once a certain event is triggered, Ads are served .

EVENT TRACKING

Add a LinearLayout

Create a LinearLayout in layout file

<LinearLayout
                android:id="@+id/linearLayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical" >
            </LinearLayout>


Create a new layout object for respective ad types

private LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linearlayout);

Create 'Two' new objects for SetData and ProductDetails

private  SetData setData = new SetData();
     List<ProductDetails> productDetailsList = new ArrayList<ProductDetails>();
     ProductDetails productDetail = new ProductDetails();
	ProductDetails productDetail1 = new ProductDetails();



Create a new NtRecomendedView object for serving the add

new NtRecomendedView(context, eventType,linearLayout, setData,            
        R.id.searchEditText,LAYOUT.GRIDVIEW,<PlacementId>);


context This will be the particular Activity context where the above function is called.
eventType This will be the EventTypeName(for the particular event to be tracked).

For example EventType.Login or EventType.Search (It is an Enum details are given below) . If Publisher is not using reference for Event type, pass EventType.Search in NTRcommendedView() .

linearLayout This will be the Reference of the LinearLayout declared in the ACTIVITY(that is in .java File).
SetData setData is the object of SetData class on which you can set the user infomation like setData.setUserAge(“23”) Or SetData.setProductDetails(productDetailsList). object for list of ProductDealis.

If Publisher is not using reference for setting Data, pass SetData's empty object.

ProductDetails this is the class where you set the data ot the Product for example:

List<ProductDetails> productDetailsList =newArrayList<ProductDetails>(); ProductDetails productDetail = new ProductDetails(); productDetail.setProductionName(“productName”); productDetail.setPrice(“100”);

productDetailsList.add(productDetail);

setData.setProductDetails(productDetailsList);

R.id.searchEditText It is the "'EditText id"' used for the search box(where the user is entering the data for searching).and ads will be served as per the text searched.If Publisher is not using any EditText for Searching, pass an integer value 1 in NTRcommendedView() .
LAYOUT.GRIDVIEW It is an Ad Format (formats in which ads are displayed).These formats are made depending on the Publisher Application.Two Formats are available now: GRIDVIEW and LISTVIEW .
PlacementId This is the ID of placement created on TyrooCentral Platform.


  For reference, a sample code (which needs to be on Publishers app) with setter functions is given below :            

LinearLayout linearLayout = (LinearLayout)findViewById(R.id.nativeads);

EventType eventType = null;

SetData setData = new SetData();

List<ProductDetails> productDetailsList = new ArrayList<ProductDetails>();

ProductDetails productDetail = new ProductDetails();

eventType = EventType.SEARCH;

setData.setEventName(eventType);

setData.setUserName("Tyroo");

setData.setUserFacebookId("Tyroo@facebook.com");

setData.setUserTwitterId("Tyroo@twitter.com");

setData.setUserAge("05");

setData.setUserGender(Gender.MALE);

productDetail.setProductName("NTSDK");

productDetail.setProductId("sdk:123");

productDetail.setCategory("Android");

productDetail.setPrice("1000000");

productDetail.setQuantity("1");

productDetail.setRevenue("1000000");

productDetail.setCurrencyCode("INR");

productDetail.setOrderId("102575757");

productDetail.setCheckInTime("");// checkInTime.getTime().toString()

productDetail.setCheckOutTime("");// checkOutTime.getTime().toString()

productDetail.setGuestCount("55");

productDetail.setReservationNo("SVGTR123456789");

productDetail.setCreditSpent("100000");

productDetail.setAchievementId("1324345");

productDetail.setLevel("Level 1");

productDetail.setViewDuration("77");

productDetail.setRatingValue("rating 5");

productDetail.setSubCategoryLevel1("subCategoryLevel1");

productDetail.setSubCategoryLevel2("subCategoryLevel2");

productDetail.setSubCategoryLevel3("subCategoryLevel3");

productDetailsList.add(productDetail);

setData.setProductDetails(productDetailsList);

NtRecomendedView ntView = new NtRecomendedView(context,EventType.SEARCH, linearLayout, setData, 1 ,Layout.LISTVIEW,"553");

ntView.setConfig(Config.PRODUCTION);



Event tracking Id EventName
searchEvent SEARCH
loginEvent LOGIN
registrationEvent REGISTRATION
addToCartEvent ADD_TO_CART
wishListEvent ADD_TO_WISH_LIST
paymentEvent ADD_PAYMENT_INFO
checkoutEvent ADD_TO_WISH_LIST
purchaseEvent PURCHASE
reservationEvent RESERVATION
creditsEvent SPENT_CREDITS
achievementEvent ACHIEVEMENT_UNLOCKED
levelEvent LEVEL_COMPLETED
tutorialEvent TUTORIAL_COMPLETED
contentEvent CONTENT_VIEW
ShareEvent SHARE
ratedEvent RATED
inviteEvent INVITE


SetData Class ‘s Avaliable variable to set are (with setter method) :

EventType eventName;

String timestamp;

String userName;

String userFacebookId;

String userTwitterId;

String userAge;

Gender userGender;

List<ProductDetails> productDetails;

ProductDetails Class ‘s Avaliable variable to set are (with setter method) :

productName;

String productId; String category; String price; String quantity; String revenue; String currencyCode; String orderId; String checkInTime; String checkOutTime; String guestCount; String reservationNo; String creditSpent; String achievementId; String level; String viewDuration; String ratingValue; String subCategoryLevel1; String subCategoryLevel2; String subCategoryLevel3;

D101.png

Declare Activity in AndroidMainfest.xml

The NativeTarget SDK requires that com.nt.sdk.publisher.adview.NTFullScreenActivity be declared in your app's AndroidManifest.xml and Declare it inside <application> :


<activity
        android:name="com.nt.sdk.tyroo.view.NTFullScreenActivity"
        android:label="@string/app_name" >
    </activity>
 
    <activity
            android:name="com.nt.sdk.tyroo.view.ProductDetailActivity"
            android:launchMode="singleTask"
            android:theme="@android:style/Theme.Dialog"
            android:screenOrientation="portrait" />
    <meta-data            
            android:name="com.google.android.gms.version"
            android:value="6587000" />


D5.png

Setup permissions

Making ad requests requires these permissions to be declared in the manifest, Declare it outside <application>:

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission  android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COURSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS" />
    <uses-permission android:name="android.permission.GET_TASKS"/>


D4.png

How to upgrade to new version from older version

Update in Progress


Rules and Apps

Post registering the App, Ads will be served based on default rule.Default rule serves the Install and Product Listing Ads which are approved for the Publisher.However if the publisher wants to select certain campaigns for Install and Product Listing Ads, he can do so by applying rules/filters.

Following sections will list down , how one can manage Rules that can be applied on the App or the placements.It will also shows how one can manage Apps and Placements and apply the created rules on those.These features give full control to the publishers

  • Which Ad Type to be served
  • Which Ad Formats to be served
  • Where to be served

If a publisher chooses not to apply any filter or rule, a default rule is applied and the Ads are served basis the default rule.

Manage Ad Rules

How to create a new Rule

A new rule can be created by clicking on the "Add Rule" button.

Addrule7.PNG


On the displayed pop up, preferences can be chosen like whether you want to served Install Ads, Product Listing Ads or both.


When Install Ad is selected , you can choose the following

  • Campaigns for which you want to serve the Ads
  • Campaign category
  • Language in which you want to serve the Ads

Installads.PNG


When Product Ad is selected, you can choose the following

  • Campaigns for which you want to serve the Ads

PLA.PNG

Activate/Deactivate the Rule

A rule can be activated or deactivated , by selecting the rule and clicking on the "Activate Rule" or "Deactivate Rule " button.

Activate Rule Activaterule.PNG


Deactivate Rule


Deactivaterule.PNG

How to apply or remove a rule from an App

A rule can be applied or removed from Apps by selecting the rule and clicking on the "Apply to all Apps" or "Remove from all Apps button "

Apply to All Apps

Applytoapps.PNG


Remove from all Apps

Removeapps.PNG

View the Rules filters

View filters.PNG


View the Apps on which the the rule is applied

Viewapps.PNG

Filters

These filter will help you filter rules by their status

Filter.png

Manage Apps

Register New App: Enables registering a new App

4.png


5.png


Apply Rules:

This tab enables app level application and removal of rules (created in Manage Ad Rules tab)

  • Click on Apply Rules tab – A pop-up with App and Rule list is shown
  • Search/select the Apps and the corresponding Rules and click on Apply


6.png


App Information

1) Manage Rules: Enables removal of particular rules from Apps

       a.	Click on the Manage Rules link for a particular App and remove the Rule that you want

2) View Details : Clicking on this link takes you to Manage Placement tab for that particular tab

       a.	The details are described in the Manage Placements section