赢告无限sdk接入广告
1:导入相关架包,写入相关权限和配置
offers-android-sdk.jar
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<!-- 配置在赢告官网上获取到的key 也可在代码里配置-->
<meta-data android:value="BDF8D099DFE17D884140E5F18A2D85BFF49002DD" android:name="PUBLISHER_ID_OFFERS" />
<!-- 配置积分墙显示页面 -->
<activity
android:name="com.winad.android.offers.OffersActivity"
android:configChanges="keyboardHidden|orientation|navigation|screenSize" />
2:详见Activity:
public class MainActivity extends Activity implements AddScoreListener,
SpendScoreListener, TotalScoreListenter, OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化赢告sdk
initAds();
Button buton = (Button) findViewById(R.id.openOffers);// 打开积分墙
buton.setOnClickListener(this);
Button getSyncAllScore = (Button) findViewById(R.id.getSyncAllScore);// 同步请求积分
getSyncAllScore.setOnClickListener(this);
Button getAsyncAllScore = (Button) findViewById(R.id.getAsyncAllScore);// 异步请求积分
getAsyncAllScore.setOnClickListener(this);
Button spendScore = (Button) findViewById(R.id.spendScore);// 消费积分
spendScore.setOnClickListener(this);
findViewById(R.id.bigScreen).setOnClickListener(this);// 大屏广告
}
//初始化sdk
private void initAds() {
// 如果不在manifest里配置您的appid 可在这里设置,提示:此处设置优先级别高于manifest
// AdManager.setAPPID(this, "1352880502ECA970B004FA5E0E772350");
// 设置积分变化监听
AdManager.setAddScoreListener(MainActivity.this, MainActivity.this);
// 如果服务器设置回调则需设置userid,客户端回调则不需要设置此参数
AdManager.setUserID(this, "userid");
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.openOffers:// 打开积分墙
AdManager.showAdOffers(this);
break;
case R.id.getSyncAllScore:
new Thread() {
public void run() {// 同步得到总积分,返回值为总积分
int allScore = AdManager.getSyncAllScore(MainActivity.this);
toast = String.format("%s%d", "您的当前总积分为:", allScore);
mHandler.sendEmptyMessage(0);
};
}.start();
break;
case R.id.getAsyncAllScore:// 异步得到总积分,在getTotalSore(int
// allScore)里回调得到总积分
AdManager.getAsyncAllScore(MainActivity.this, MainActivity.this);
break;
case R.id.spendScore:// 消费积分4分
// 1、ConsumptionSuccess回调消费成功;2、ConsumptionLose 回调消费失败
AdManager.spendScore(MainActivity.this, 4, MainActivity.this);
break;
case R.id.bigScreen:
//startActivity(new Intent(this, ShowBigScreenActivity.class));
/**
* 实例化大屏广告
*尽可能的提前实例化
*/
WindowScreen.initWindowScreen(this);
//您可在适当的事件中调用此方法开启大屏广告
WindowScreen.showWindowScreen(this);
break;
default:
break;
}
}
/**
* 消费积分成功时回调该方法 allScore:当前总积分 reduceScore 本次消费的积分
*/
@Override
public void ConsumptionSuccess(int allScore, int reduceScore) {
// TODO Auto-generated method stub
toast = String.format("%s%d%s%d", "此次您成功消费:", reduceScore, " 剩余积分",
allScore);
mHandler.sendEmptyMessage(0);
}
/**
* 消费积分失败时回调改方法 errorCode为错误信息
*/
@Override
public void ConsumptionLose(String errorCode) {
// TODO Auto-generated method stub
toast = String.format("%s%s", "消费失败,错误信息:", errorCode);
mHandler.sendEmptyMessage(0);
}
/**
* 增加积分成功时回调此方法, allScore:当前总积分 addScore 本次增加的积分 unit 为后台配置的单位,比如积分,金币等
*/
@Override
public void addScoreSucceed(int allScore, int addScore, String unit) {
// TODO Auto-generated method stub
toast = String.format("%s%d%s", "恭喜您此次获取", addScore, unit);
mHandler.sendEmptyMessage(0);
}
/**
* 增加积分失败时回调此方法, error 错误信息
*/
@Override
public void addScoreFaild(String error) {
// TODO Auto-generated method stub
toast = String.format("%s%s", "获取失败错误信息:", error);
mHandler.sendEmptyMessage(0);
}
String toast = "";
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
switch (msg.what) {
case 0:
Toast.makeText(MainActivity.this, toast, Toast.LENGTH_LONG)
.show();
break;
default:
break;
}
}
};
/**
* 返回总积分
*/
@Override
public void getTotalSore(int allScore) {
// TODO Auto-generated method stub
toast = String.format("%s%d", "您的当前总积分为:", allScore);
mHandler.sendEmptyMessage(0);
}
}
3:效果图: