Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*
* Copyright (c) 2012, Codename One and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Codename One designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Codename One through http://www.codenameone.com/ if you
* need additional information or have any questions.
*/
package com.codename1.ads;
import com.codename1.components.Ads;
import com.codename1.io.ConnectionRequest;
import com.codename1.io.Storage;
import com.codename1.ui.Display;
import com.codename1.ui.events.ActionEvent;
import com.codename1.ui.html.HTMLComponent;
import java.io.IOException;
import java.io.InputStream;
/**
* This is an Ad service implementation by InnerActive see:
* http://console.inner-active.com/iamp/publisher/register?ref_id=affiliate_CodenameOne
*
* @author Chen
*/
public class InnerActive extends AdsService{
private final String REQUEST_URL = "http://m2m1.inner-active.com/simpleM2M/clientRequestHtmlAd";
//Distribution channel ID
private int po = 559;
private String os;
private static final String protocolVersion = "Sm2m-1.5.3";
//UDID/IMEI
private String hid;
//client Id
private String cid;
private boolean banner = true;
private static boolean testAds = true;
/**
* Empty constructor of the inner active ads service.
*/
public InnerActive() {
}
private static void addParam(ConnectionRequest req, String key, String val) {
if (val != null && val.length() > 0) {
req.addArgument(key, val);
}
}
/**
* Sets this ads type, by default this a banner type.
*
* @param banner sets the ads to banners or text ads
*/
public void setBanner(boolean banner) {
this.banner = banner;
}
/**
* If true and no ads exists the network will return house holds ads
* @param test
*/
public static void setTestAds(boolean test) {
testAds = test;
}
/**
* initialize the ads service
*/
public void initService(Ads ads){
this.os = Display.getInstance().getPlatformName();
if(os.equals("and")){
if(banner){
po = 559;
}else{
po = 600;
}
}else if(os.equals("rim")){
if(banner){
po = 635;
}else{
po = 634;
}
}else if(os.equals("ios")){
if(banner){
if(Display.getInstance().isTablet()){
po = 947;
}else{
po = 642;
}
}else{
if(Display.getInstance().isTablet()){
po = 946;
}else{
po = 632;
}
}
}else if(os.equals("me")){
if(banner){
po = 551;
}else{
po = 519;
}
}
String url = REQUEST_URL;
setPost(false);
setUrl(url);
addParam(this, "aid", ads.getAppID());
addParam(this, "po", "" + po);
//protocol version
String version = protocolVersion;
addParam(this, "v", version);
if(os.equals("ios")){
hid = Display.getInstance().getProperty("UDID", null);
}else{
hid = Display.getInstance().getProperty("IMEI", null);
}
addParam(this, "hid", hid);
addParam(this, "w", "" + Display.getInstance().getDisplayWidth());
addParam(this, "h", "" + Display.getInstance().getDisplayHeight());
//add optional params
addParam(this, "a", ads.getAge());
addParam(this, "g", ads.getGender());
addParam(this, "c", ads.getCategory());
addParam(this, "l", ads.getLocation());
addParam(this, "mn", Display.getInstance().getProperty("MSISDN", null));
String [] keywords = ads.getKeywords();
if(keywords != null && keywords.length > 0){
int klen = keywords.length;
String k = "";
for (int i = 0; i < klen; i++) {
k += "," + keywords[i];
}
addParam(this, "k", k.substring(1));
}
if(testAds){
addParam(this, "test", "1");
}
setDuplicateSupported(true);
}
/**
* {@inheritDoc}
*/
protected void readResponse(InputStream input) throws IOException {
StringBuffer buf = new StringBuffer();
byte[] buffer = new byte[256];
int len;
while ((len = input.read(buffer)) > 0) {
String temp = new String(buffer, 0, len, "UTF-8");
int endOfFile = temp.indexOf("/html>");
if( endOfFile > 0){
buf.append(temp.toCharArray(), 0, endOfFile + 6);
break;
}else{
buf.append(temp);
}
}
String s = buf.toString();
// if(s.indexOf("ci=") > -1){
// String ci = s.substring(s.indexOf("ci=") + 3, s.length());
// cid = ci.substring(0, ci.indexOf("&"));
// Storage.getInstance().writeObject("cid", cid);
// Storage.getInstance().flushStorageCache();
// addParam(this, "cid", cid);
// }
fireResponseListener(new ActionEvent(s,ActionEvent.Type.Response));
}
}