Android mOcean SDK Developer Guide

Arya MirΚινητά – Ασύρματες Τεχνολογίες

3 Οκτ 2011 (πριν από 5 χρόνια και 8 μήνες)

1.032 εμφανίσεις

For Android SDK Version 2.5

 
 
Copyright  ©  201
1
 
mOcean  Mobile.  All  Rights  Reserved.  
 
136  Baxter  St,  New  York,  NY  10013
 
Page  
1
 
 
 
 
 
 
 
 
 
Android
 
mOcean
 
SDK
 
Developer  Guide
 
For  Android  SDK  Version
 
2
.
5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Copyright  ©  201
1
 
mOcean  Mobile.  All  Rights  Reserved.  
 
136  Baxter  St,  New  York,  NY  10013
 
Page  
2
 
 
 
Table  of  Contents
 
Overview
 
................................
................................
................................
................................
..................
 
3
 
System  requirements:
 
................................
................................
................................
..............................
 
3
 
SDK  contents:
 
................................
................................
................................
................................
...........
 
3
 
Installation  instructions:
 
................................
................................
................................
...........................
 
3
 
3d  party  ads  integration
 
................................
................................
................................
...........................
 
5
 
Millenial  ads  integration:
 
................................
................................
................................
.....................
 
5
 
iVdopia  ads  integration:
 
................................
................................
................................
.......................
 
5
 
Greystripe  ads  integration:
 
................................
................................
................................
..................
 
6
 
SmartAdServer  ads  integration:
 
................................
................................
................................
...........
 
6
 
Sample  usage
 
................................
................................
................................
................................
...........
 
6
 
1.  Dynamic  creation,  is  created  in  a  form  class.
 
................................
................................
...................
 
6
 
2.  Template  creation,  is  created  in  XML.
 
................................
................................
..............................
 
8
 
3.  To  show  Viewer  of  interstitial  advertising.
 
................................
................................
.......................
 
9
 
SDK  API  reference
 
................................
................................
................................
................................
....
 
9
 
Global  functions:
 
................................
................................
................................
................................
..
 
9
 
 
 
 
 
 
Copyright  ©  201
1
 
mOcean  Mobile.  All  Rights  Reserved.  
 
136  Baxter  St,  New  York,  NY  10013
 
Page  
3
 
 
Overview
 
This  document  provides  a  description  of  the  following:
 


System  requirements
 


Installation  Instructions
 


SDK  contents
 


SDK  API  reference
 


Sample  of  usage
 
System  requirements:
 


Android  SDK
 
(
v
ersion  
1.5
 
or  later
)
 


Eclipse  3  or  later
 


10  Mb  free  disk  space
 
SDK
 
contents:
 
Documentation  
-­‐
 
SDK  documentation  
 
Lib  
-­‐
 
SDK  library  files  
 
Sample  
-­‐
 
sample  usage/test  app
 
Installation  instructions:  
 
Installing  
Android  
SDK  
 
Download  and  install  
Android
 
SDK  (
http://developer.android.com/sdk/index.html
).  
 
Follow  installation  instructions  provided  by  
Android
 
SDK.  Once  SDK  has  been  installed  follow  to  the  next  
step  to  install  
Android
 
mOcean  SDK.  
 
 
Installing  
Android
 
mOcean  SDK  
 
The  SDK  has  been  
developed
 
as  a  
jar
 
library.  To  add  the  library  to  a  project,  the  developer  must  
configure  the  project  properties  to  indicate  the  location  of  library  file,  as  well  as  the  names  of  library  
dependencies.  
 
First,  select  
Project
 
-­‐
>  
Properties
 
and  add  the  
library
 
to  the  dialog  un
der  
Java  Build  Path  
-­‐
>  
L
ibraries
.  
Click
 
"Add  JARs..."  (or  "Add  External  JARs...")
 
and  select  
Android
 
mOcean  SDK
:
 
 
 
Copyright  ©  201
1
 
mOcean  Mobile.  All  Rights  Reserved.  
 
136  Baxter  St,  New  York,  NY  10013
 
Page  
4
 
 
 
To  support  3d  party  ads  it  is  necessary  to  add  their  jar  libraries  to  a  project  the  same
 
way
.
 
After  installing  
all  libraries
,  open  the  provided  test  project,  
AdserverView
Test
 
(
AdserverView
\
test)
,  and  attempt  to  build  
the  project.  If  unable  to  compile,  please  review  the  
Eclipse  
documentation  on  configuring  library  file  
paths  to  ensure  changes  were  properly  made.  If  unable  to  
execute,  you  may  be  experiencing  library  
version  issues.  Please  refer  to  the  developer  forums  for  more  information.
 
S
et  the  security  pe
rmissions  in  your  manifest  file  (
AndroidManifest.xml
)
:
 
 
1.  Internet
,  Read_Phone_State  and  Access_Network_State
 
permiss
ion
s
 
are
 
required  for  all  SDK  banners.  
Without  this  permission  they  won’t  be  shown.
 
<
uses
-
permission

android:name
=
"android.permission.INTERNET"
></
uses
-
permission
>

<
uses
-
permission

android:name
=
"android.permission.READ_PHONE_STATE"
></
uses
-
permission
>

<
uses
-
permission

android:name
=
"android.permission.ACCESS_NETWORK_STATE"
></
uses
-
permission
>

 
2.  Access_
Fine_Location  permission  is  required  to  detect  user  location.  Add  this  permission  if  you  want  
to  show  banners  with  filtering  by  auto
-­‐
detected  location.  If  
you  
specify  your  own  location  with  
setLatitude  /  setLongitude  methods  this  permission  is  not  required.  
Don’t  add  this  permission  
(
or
 
remove  it)  if  you  don’t  want  to  
use  location  detection.

<
uses
-
permission

android:name
=
"android.permission.ACCESS_FINE_LOCATION"
></
uses
-
permission
>


 
 
Copyright  ©  201
1
 
mOcean  Mobile.  All  Rights  Reserved.  
 
136  Baxter  St,  New  York,  NY  10013
 
Page  
5
 
 




3.  
Read_Logs  and  Write_External_Storage  permissions  are  required  for  log.  Add  them  if  you  want  to  use  
SDK  logger.


android:name
=
"android.permission.WRITE_EXTERNAL_STORAGE"
></
uses
-
permission
>

<
uses
-
permission

android:name
=
"android.permission.READ_LOGS"
></
uses
-
permission
>


4.  The  next  permissions  also  may  be  required.  It  depends  on  type  of  the  banner.  They  may  be  required  
for  ORRMA,  3d  party  SDK  too.      


<
uses
-
permission

android:name
=
"android.permission.READ_CALENDAR"
></
uses
-
permission
>


<
uses
-
permission

android:name
=
"android.permission.WRITE_CALENDAR"
></
uses
-
permission
>


<
uses
-
permission

android:name
=
"android.permission.CALL_PHONE"
></
uses
-
permission
>


<
uses
-
permission

and
roid:name
=
"android.permission.SEND_SMS"
></
uses
-
permission
>


<
uses
-
permission

android:name
=
"android.permission.CAMERA"
></
uses
-
permission
>


<
uses
-
permission


<
uses
-
permission

android:name
=
"android.permission.WAKE_LOCK"
>
</
uses
-
permission
>

 
 
3d  party  ads
 
integration
 
To  support  3d  party  ads  it  is  necessary  to  add  their  jar  libraries  to  a  project  and  configure  android  
manifest  file.  3d  party  SDK  libraries  are  in  mocean  SDK  contents.  Supported  3d  party  are
 


Millenial
 


iVdopia
 


Greystripe
 


Smart
AdServer
 
Millenial
 
ads
 
integration
:
 
Add  
MMAdView.jar
 
library  to  your  project  and  
add  the  following  to  
 
AndroidManifest.xml
 
file  
in  the  
<application>  section
:
 
<
activity

android:name
=
"com.millennialmedia.android.MMAdViewOverlayActivity"



android:theme
=
"@android:style/Theme.Translucent.NoTitleBar"
>


</
activity
>



<
activity

android:name
=
"com.millennialmedia.android.VideoPlayer"



android:theme
=
"@android:style/Theme.NoTitleBar.Fullscreen"


android:configChanges
=
"keyboardHidden|orientation|keyboard"

>


</
activity
>
 
iVdopia  ads  integration
:
 
Simple  a
dd  
iVdopia_Android_SDK_v1.4.7.jar
 
library  to  your  
project.

 
 
Copyright  ©  201
1
 
mOcean  Mobile.  All  Rights  Reserved.  
 
136  Baxter  St,  New  York,  NY  10013
 
Page  
6
 
 
Greystripe  ads  integration
:
 
Add  
gssdk_1.5.0.jar
 
library  to  your  project  and  add  the  following  to    
AndroidManifest.xml
 
file  
in  the  
<application>  section
 
replacing  <YOUR_APPLICATION_PACKAGE>  with  a
 
package  identifier  that  is  unique  to  your  application
:
 
<
provider

android:name
=
"com.greystripe.android.sdk.AdContentProvider"




android:authorities
=
"
<YOUR_APPLICATION_PACKAGE>
.AdContentProvider"




android:multiprocess
=
"true"




android:exported
=
"false"




/>

SmartAdServer  ads  integration
:
 
Simple  a
dd  
SmartAdServer.jar
 
library  to  your  project.
 

Sample  usage
 
See  AdMobileSamples  app
 
in  SDK  contents.
 

To  create  viewer  of  advertising  and  to  add  it  to  the  form.
 
Is  possible  two  variants  of  creation  and  object  placing:
 
 
1.  Dynamic  creation,  is  created  in  a  form  class.
 
Simple  
creation
:
 
AdServerView  adserver
View  =  new  AdServerView(this,    
8061
,  
20249
);
 
adserverView.setLayoutParams(new  ViewGroup.LayoutParams(
320,  
50));
 
linearLayout.addView(adserverView);
 
//  Default  values:  
updateTime:  120  sec,  test:  false,  size  of  content:  auto
-­‐
de
tected,  latitude/longitude:  
auto
-­‐
detected  
 
Customization  and  filtering  content
:
 
AdServerView  adserver
View  =  new  AdServerView(this,    8061,  20249
);
 
adserverView.setLayoutParams(new  ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT
,  
50));
 
 
adserverView.set
UpdateTime
(
30
);
 
 
adserverView.setMinSizeX(
300
);
 
adserverView.setMinSizeY(40);
 
adserverView.setMaxSizeX(320);
 
adserverView.setMaxSizeY(50);
 
 
adserverView.setBackgroundColor
(Color.LTGRAY
);
 
adserverView.setTextColor(
Color.rgb(0,  255,  0)
);
 
 
adserverView.setPremium(AdServerView.PREMIUM_STATUS_PREMIUM);
 
adserverView.setKeywords("
keywords
");
 
 
 
Copyright  ©  201
1
 
mOcean  Mobile.  All  Rights  Reserved.  
 
136  Baxter  St,  New  York,  NY  10013
 
Page  
7
 
 
 
Hashtable<String,  String>  hst  =  new  Hashtable<String,  String>();      
 
 
 
hst.put("key1",  "value1");
 
 
 
hst.put("key2",  "value2");
 
adserverView.setCustomParamet
ers(hst);      
 
 
 
adserverView.setDefaultImage(R.drawable.df);
 
 
adserverView.setAdvertiserId(20455);
 
adserverView.setGroupCode("group_code");
 
 
adserverView.setLatitude("
56.4562
");
   
//  set  “”
 
value  to  stop  sending  coordinates  to  server  
 
adserverView.setLongitude("
47.5464
");
 
//  set  “”
 
value  to  stop  sending  coordinates  to  server
 
 
 
 
adserverView.setCountry("Rus");        
 
 
 
adserverView.setRegion("12");        
 
 
 
adserverView.setCity("Yooo");
 
adserverView.setArea("mari");        
 
 
 
adserverView.setMetro
("meee");
 
adserverView.setZip("489456456");
 
adserverView.setCarrier("elien");
 
 
linearLayout.addView(adserverView);
 
 
 
Ad  download  and  click  processing
:
 
AdServerView  adserver
View  =  new  AdServerView(this,    8061,  20249
);
 
adserverView.setLayoutParams(new  
ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT
,  
50));
 
adserverView.set
UpdateTime
(
30
);
 
//  0  value  

 
stop  updating
 
after  first  download
,  Null  value  

 
default  
120  sec,  any  other  value  

 
ads  updating  time
 
 
adserverView.setOnAdDownload(new  UserAdDown
load());
 
//  download  process  callback
 
adserverView.setOnAdClickListener(new  UserAdClickListener());
 
//  block  opening  URL
 
 
 
linearLayout.addView(adserverView);
 
 

 
 

class  UserAdDownload  implements  OnAdDownload
 
       
{
 
 
 
public  void  begin()  {
 
 
 
 
//  begin  
download
 
 
 
 
 
}
 
 
 
public  void  end()  {
 
 
 
 
//  end  download
 
 
 
}
 
 
 
public  void  error(String  arg0)  {
 
 
 
Copyright  ©  201
1
 
mOcean  Mobile.  All  Rights  Reserved.  
 
136  Baxter  St,  New  York,  NY  10013
 
Page  
8
 
 
 
 
 
//  
arg0  
error  download
 
 
 
 
}
 
       
}
 
 

class  UserAdClickListener  implements  OnAdClickListener


{
 
 
 
public  void  click(String  arg0)  {
 
 
 
 
//  
to  do  smth  with  
link  arg0
 
 
 
 
 
}
 
       
}
 
 
Background  transparency
:
 
AdServerView  adserver
View  =  new  AdServerView(this,    8061,  20249
);
 
adserverView.setLayoutParams(new  ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT
,  
50));
 
adserverView.setBackgroundColor
(0
);
 
//  so  you  can  use  
banner
 
with  transparent  background  and  
objects  under  it  will  be  visible  and  clickable
 
linearLayout.addView(adserverView);
 
 
Logging
 
and  testing
:
 
AdServerView  adserver
View  =  new  AdServerView(this,    8061,  20249
);
 
adserverView.setLayoutParams(new  ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT
,  
50));
 
adserverView.set
Test(true);
 
 
AdLog.setDefaultLogLevel(AdLog.LOG_LEVEL_3);    
//  set  logLevel  for  all  banners  in  app
           
 
AdLog.setFileLog("sdcard/log.txt");
 
//
 
set  log  file
 
 
adserverView.set
LogLevel(2);  //  set  logLevel  for  adserverView  banner  only
 
linearLayout.addView(adserverView);
 
 
 
2.  Template  creation,  is  created  in  XML.
 
Simple  creation
:
 
<com.adserver.adview.AdServerView  
 
android:id=
"@+id/adViewer1"
 
 
android:layout_width=
"fill_parent"
 
 
android:layout_height=
"50dip"
 
site=
"
8061
"
 
 
zone=
"
20249
"
 
 
/>
 
 
Customization  and  filtering  content
:
 
<com.adserver.adview.AdServerView  
 
android:id=
"@+id/adViewer1"
 
 
 
 
Copyright  ©  201
1
 
mOcean  Mobile.  All  Rights  Reserved.  
 
136  Baxter  St,  New  York,  NY  10013
 
Page  
9
 
 
android:layout_width=
"fill_parent"
 
 
android:layout_height=
"50dip"
 
site=
"
8061
"
 
 
zone=
"
20249
"
 
 
test="true"
 
premium=
"1"
 
keywords=
"keeeeeey"
 
adsType=
"2"
 
minSizeX=
"320"
 
minSizeY=
"50"
 
maxSizeX=
"350"
 
maxSizeY=
"100"
 
backgroundColor=
"#ff0000"
 
textColor=
"#00ff00"
 
customParameters=
"key=value"
 
adserverURL=
"
 
http://ads.mocean.mobi/ad
"
 
defaultImage=
"R.drawable.robot2"
 
advertiserId=
"564"
 
groupCode=
"5646"
 
updateTime=
"10"
 
logLevel=
"3"
 
latitude=
"564"
 
longitude=
"5646"
 
country=
"US"
 
region=
"Arizona"
 
city=
"New
-­‐
York"
 
area=
"12"
 
metro=
"789"
 
zip=
"687456"
 
carrier=
"MTS"
 
/>
 
3.  
To  show  Viewer  of  interstitial  advertising.
 
 
AdServerInterstitialView  interstitialView  =  
 
new  AdS
erverInterstitialView(context,  
8061
,  
16112
);
 
interstitialView.setShowCloseButtonTime(3);
 
interstitialView.setAutoCloseInterstitialTime(20);
 
interstitialView.show();
 
 
 
SDK  
API  reference
 
Global  functions:
 
AdLog.setDefaultLogLevel
(
int logLevel
)

AdLog.
LOG_LEVEL_NONE
 
none
 
AdLog.LOG_LEVEL_1
 
 
 
only  errors
 
 
 
Copyright  ©  201
1
 
mOcean  Mobile.  All  Rights  Reserved.  
 
136  Baxter  St,  New  York,  NY  10013
 
Page  
10
 
 
AdLog.LOG_LEVEL_2
 
 
 
+warning
 
AdLog.LOG_LEVEL_3
 
 
 
+server  tra
f
fi
c
 
AdLog.
setFileLog
(
String  fileName
)
 
 
file  to  output
 
AdServerView
(Context  context,  java.lang.
Integer
 
site,  java.lang.
Integer
 
zone)
 
Creation  of  viewer  of  advertising.
 
 
AdServerInterstitialView
(Context  context,  java.lang.
Integer
 
site,  java.lang.
Integer
 
zone)
 
Creation  of
 
i
nterstitial
 
viewer  of  advertising.
 
 
void  
show
()
 
Show  Interstitial  advertising.
 
 
void  
SetLogLevel
(int  logLevel)
.
 
 
All  settings  can  be  set  by  means  of  methods  get  and  set  (for  example:  getCity()  and  
setCity(String  city)).
 
java.lang.String  
 
getAdserverURL()
 
                   
Optional.
 
 
java.lang.
Integer
 
 
getAdvertiserId()
 
                   
Optional.
 
 
java.lang.String  
 
getArea()
 
                   
Optional.
 
 
java.lang.
Integer
 
 
getBackgroundColor()
 
                   
Optional.
 
 
java.lang.String  
 
getCarrier()
 
                   
Optional.
 
 
java.lang.String  
 
getCity()
 
                   
Optional.
 
 
java.lang.String  
 
getCountry()
 
                   
Optional.
 
 
java.util.Hashtable<java.lang.String,java.lang.String>  
 
getCustomParameters()
 
                   
Optional.
 
 
java.lang.Integer  
 
getDefaultImage()
 
                   
Optional.
 
 
java.lang.String  
 
getGroupCode()
 
                   
Optional.
 
java.lang.String  
 
getKeywords()
 
                   
Optional.
 
 
java.lang.String  
 
getLatitude()
 
                   
Optional.
 
 
java.lang.String  
 
getLongitude()
 
         
         
Optional.
 
 
java.lang.Integer  
 
getMaxSizeX()
 
                   
Optional.
 
 
java.lang.Integer  
 
getMaxSizeY()
 
                   
Optional.
 
 
java.lang.String  
 
getMetro()
 
 
 
Copyright  ©  201
1
 
mOcean  Mobile.  All  Rights  Reserved.  
 
136  Baxter  St,  New  York,  NY  10013
 
Page  
11
 
 
                   
Optional.
 
 
java.lang.Integer  
 
getMinSizeX()
 
                   
Optional.
 
 
java.lang.Integer  
 
getMinSizeY()
 
                   
Optional.
 
 
AdServerViewCore.OnAdClickListener  
 
getOnAdClickListener()
 
                   
Get  interface  for  advertising  opening.
 
 
AdServerViewCore.OnAdDownload  
 
getOnAdDownload()
 
                   
Get  interface  for  advertising  downloading.
 
 
java.lang
.Integer  
 
getPremium()
 
                   
Optional.
 
 
java.lang.String  
 
getRegion()
 
                   
Optional.
 
 
java.lang.
Integer
 
 
getSite()
 
                   
Get  the  id  of  the  publisher  site.
 
 
java.lang.Boolean  
 
getTest()
 
                   
Optional.
 
 
java.lang.
Integer
 
 
getTextColor()
 
     
             
Optional.
 
 
java.lang.Integer  
 
getUpdateTime()
 
                   
Optional.
 
 
java.lang.String  
 
getZip()
 
                   
Optional.
 
 
java.lang.
Integer
 
getZone()
 
                   
Get  the  id  of  the  zone  of  publisher  site.
 
void  
 
setAdserverURL(java.lang.String  adserverURL)
 
                   
Optional.
 
 
void  
 
setAdvertiserId(java.lang.
Integer
 
advertiserId)
 
                   
Optional.
 
 
void  
 
setArea(java.lang.String  area)
 
                   
Optional.
 
 
void  
 
setBackgroundColor(java.lang.
Integer
 
backgroundColor)
 
                   
Optional.
 
 
void  
 
setCarrier(java.lang.String  carrier)
 
                   
Optional.
 
 
void  
 
setCity(java.lang.String  city)
 
                   
Optional.
 
void  
 
setCountry(java.lang.String  country)
 
                   
Optional.
 
 
void  
 
setCustomParameters(java.util.Hashtable<java.lang.String,java.lang.Stri
ng>  customParameters)
 
                   
Optional.
 
 
void  
 
setDefaultImage(java.lang.Integer  defaultImage)
 
                   
Optional.
 
 
void  
 
setGroupCode(java.lang.String  groupCode)
 
                   
Optional.
 
void  
 
setKeywords(java.lang.String  keywords)
 
                   
Optional.
 
 
void  
 
setLatitude(java.lang.String  latitude)
 
 
 
Copyright  ©  201
1
 
mOcean  Mobile.  All  Rights  Reserved.  
 
136  Baxter  St,  New  York,  NY  10013
 
Page  
12
 
 
                   
Optional.
 
 
void  
 
setLongitude(java.lang.String  longitude)
 
                   
Optional.
 
 
void  
 
setMaxSizeX(java.lang.Integer  maxSizeX)
 
                   
Optional.
 
 
void  
 
setMaxSizeY(java.lang.Integer  maxSizeY)
 
                   
Opti
onal.
 
 
void  
 
setMetro(java.lang.String  metro)
 
                   
Optional.
 
 
void  
 
setMinSizeX(java.lang.Integer  minSizeX)
 
                   
Optional.
 
 
void  
 
setMinSizeY(java.lang.Integer  minSizeY)
 
                   
Optional.
 
 
void  
 
setOnAdClickListener(AdServerViewCore.OnAdClickListener  adClickListener)
 
                   
Set  interface  for  advertising  opening.
 
 
void  
 
setOnAdDownload(AdServerViewCore.OnAdDownload  adDownload)
 
                   
Set  interface  for  advertising  downloading.
 
 
void  
 
setPremium(java.lang.Integer  premium)
 
                   
Optional.
 
 
void  
 
setRegion(java.lang.String  region)
 
                   
Optional.
 
 
void  
 
setSite(java.lang.
Integer
 
site)
 
                   
Required.
 
 
void  
 
setTest(java.lang.Boolean  enabled)
 
                   
Optional.
 
 
void  
 
setTextC
olor(java.lang.
Integer
 
textColor)
 
                   
Optional.
 
 
void  
 
setUpdateTime(java.lang.Integer  updateTime)
 
                   
Optional.
 
 
void  
 
setZip(java.lang.String  zip)
 
                   
Optional.
 
 
void  
 
setZone(java.lang.
Integer
 
zone)
 
                   
Required.
 
void  
 
update()
 
 
                 
Immediately  update  banner  contents.
 
-­‐-­‐
 
END  OF  DOCUMENT
 
-­‐-­‐