唐伟军

删掉防成谜代码,获取oaid的方式退回之前

......@@ -45,7 +45,17 @@
- 直接替换PoolSdk_V2_xxxx.jar
- 2020-06-29
- 删除权限回调中的激活,直接替换PoolSdk_V2_xxxx.jar
- 2020-09-01
- 增加application启动的公共接口,直接替换PoolSdk_V2_xxxx.jar
- 2020-09-02
- 在PoolSdkCode类中添加相应的code常量,直接替换PoolSdk_V2_xxxx.jar
- 2020-09-18
- 增加applicationStart启动接口,增加扩展接口接入文档,增加扩展接口code常量
- 直接替换PoolSdk_V2_xxxx.jar
- 2020-10-27
- 增加六种场景接口上报类型 4=选择服务器,5=退出服务器,6=改名,7=选角,8=关卡开始,9=关卡结束
- 每种场景上报类型增加七个参数 战力,工会id,职业id,职业名称,关卡id,关卡名,角色转生等级
- 2020-12-21
- 去掉保存登录验签成功返回的chatLog字段, 直接替换PoolSdk_V2_xxxx.jar
- 2021-01-13
- 修复防沉迷计时可能不准的问题, 增加了埋点的类型和参数,直接替换PoolSdk_V2_xxxx.jar
- 2021-01-20
- 去掉sentry上报,增加留存事件埋点类型,直接替换PoolSdk_V2_xxxx.jar
- 2021-02-23
- 删掉了防成谜代码,获取oaid方式退回之前,直接替换PoolSdk_V2_xxxx.jar
......
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="1.8" />
</component>
</project>
\ No newline at end of file
......@@ -14,6 +14,7 @@
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />
<option name="useQualifiedModuleNames" value="true" />
</GradleProjectSettings>
</option>
</component>
......
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="BintrayJCenter" />
<option name="name" value="BintrayJCenter" />
<option name="url" value="https://jcenter.bintray.com/" />
</remote-repository>
<remote-repository>
<option name="id" value="Google" />
<option name="name" value="Google" />
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
</remote-repository>
<remote-repository>
<option name="id" value="D:\AndroidSDK\extras\m2repository" />
<option name="name" value="D:\AndroidSDK\extras\m2repository" />
<option name="url" value="file:/$PROJECT_DIR$/../../../AndroidSDK/extras/m2repository" />
</remote-repository>
<remote-repository>
<option name="id" value="D:\AndroidSDK\extras\google\m2repository" />
<option name="name" value="D:\AndroidSDK\extras\google\m2repository" />
<option name="url" value="file:/$PROJECT_DIR$/../../../AndroidSDK/extras/google/m2repository" />
</remote-repository>
<remote-repository>
<option name="id" value="D:\AndroidSDK\extras\android\m2repository" />
<option name="name" value="D:\AndroidSDK\extras\android\m2repository" />
<option name="url" value="file:/$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository" />
</remote-repository>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
......
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
compileSdkVersion 29
buildToolsVersion '29.0.2'
defaultConfig {
applicationId "com.ssjh.demo"
minSdkVersion 14
targetSdkVersion 28
applicationId "com.poolsdk.demo"
minSdkVersion 21
targetSdkVersion 29
versionCode 2
versionName "1.0"
}
......@@ -32,6 +32,6 @@ dependencies {
// implementation 'com.android.installreferrer:installreferrer:1.0'
// implementation 'com.google.android.gms:play-services-ads-identifier:16.0.0'
compile 'com.google.firebase:firebase-core:16.0.6'
compile 'com.google.firebase:firebase-messaging:17.3.4'
// compile 'com.google.firebase:firebase-core:16.0.6'
// compile 'com.google.firebase:firebase-messaging:17.3.4'
}
......
No preview for this file type
No preview for this file type
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.youai.demo.shenshou">
package="com.poolsdk.demo">
<!-- SDK start -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 国内需要用公共SDK的后台数据功能需要以下权限 -->
<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.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- SDK end -->
<application
android:name="com.gzpublic.app.sdk.application.PoolSDKApplication"
android:allowBackup="false"
android:icon="@drawable/public_sdk_self_ic_launcher"
android:label="@string/app_name" >
android:label="@string/app_name">
<activity
android:name="com.youai.foolsdk.demo.AppActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- SDK start -->
<activity
android:name="com.appsdk.sdk.YouaiSDK"
android:label="youai_sdk"
android:launchMode="singleTask"
android:theme="@android:style/Theme.Dialog" />
<service
android:name="com.appsdk.sdk.YouaiService"
android:enabled="true" >
<intent-filter>
<action android:name="com.youai.sdk.YouaiService" />
</intent-filter>
</service>
<receiver android:name="com.appsdk.sdk.Receiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</receiver>
<!-- SDK start -->
<activity
android:name="com.alipay.sdk.app.H5PayActivity"
android:configChanges="keyboardHidden|navigation|orientation"
android:exported="false"
android:screenOrientation="behind" />
<activity
android:name="com.alipay.sdk.auth.AuthActivity"
android:configChanges="keyboardHidden|navigation|orientation"
android:exported="false"
android:screenOrientation="behind" />
<!-- SDK end -->
</application>
......
......@@ -3,21 +3,18 @@ package com.youai.foolsdk.demo;
import android.Manifest;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Application;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager.LayoutParams;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import com.gzpublic.app.sdk.framework.PoolEventParameterName;
import com.gzpublic.app.sdk.framework.PoolEventType;
......@@ -30,7 +27,6 @@ import com.gzpublic.app.sdk.framework.PoolLogoutListener;
import com.gzpublic.app.sdk.framework.PoolPayInfo;
import com.gzpublic.app.sdk.framework.PoolPayListener;
import com.gzpublic.app.sdk.framework.PoolPayOrderConfirmHandler;
import com.gzpublic.app.sdk.framework.PoolReport;
import com.gzpublic.app.sdk.framework.PoolRoleInfo;
import com.gzpublic.app.sdk.framework.PoolRoleListener;
import com.gzpublic.app.sdk.framework.PoolSDKCallBackListener;
......@@ -45,31 +41,18 @@ import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
public class AppActivity extends Activity implements OnClickListener {
//新的view
private Button btLogin;
private Button btEnterGame;
private Button btPay;
private Button btLogout;
private Button btSubRoleInfo;
private Button btOpenChannel;
private Button btSwitchAcc;
private Button btOpenBbs;
private Button btQueryProducts;
private Button pb_bt_verifyname;
private Bundle saveBundle;
//提示LOG
private TextView txMsg,txSdkMsg;
private Activity mContext;
private PoolPayListener mPoolPayListener = new PoolPayListener() {
private PoolPayListener mPoolPayListener = new PoolPayListener() {
@Override
public void onPaySuccess(String paramCustom) {//支付回调以服务端通知为准
// TODO Auto-generated method stub
public void onPaySuccess(String paramCustom) {
//支付回调以服务端通知为准
upTx("支付成功回调:" + paramCustom);
//[{"orderId":"20180116114151740535D825","state":0,"productId":"1","productName":"金币","amout":0}]
if(paramCustom == null || paramCustom.length() <= 0)
{
......@@ -94,22 +77,19 @@ public class AppActivity extends Activity implements OnClickListener {
// TODO Auto-generated catch block
e.printStackTrace();
}
upTx("支付成功回调:" + paramCustom);
}
@Override
public void onPayFailed(String paramCustom, String errorMsg) {
// TODO Auto-generated method stub
System.out.println("支付失败回调:" + paramCustom + "; errorMsg:"
+ errorMsg);
upTx("支付失败回调:" + paramCustom + "; errorMsg:"
+ errorMsg);
System.out.println("支付失败回调:" + paramCustom + "; errorMsg:"+ errorMsg);
upTx("支付失败回调:" + paramCustom + "; errorMsg:" + errorMsg);
}
};
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
PoolSdkHelper.onRequestPermissionsResult(requestCode, permissions, grantResults);
init(saveBundle);
}
......@@ -118,17 +98,17 @@ public class AppActivity extends Activity implements OnClickListener {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
saveBundle = savedInstanceState;
int layoutId = getResources().getIdentifier(
"public_sdk_self_test", "layout", getPackageName());
setContentView(layoutId);
mContext = this;
initView();
PoolSdkLog.setIsShowLog(true);
PoolSdkConfig.readPoolSdkConfigData(this);
//国内游戏接入如果需要使用平台统计等功能,需要获取手机识别号和读写SD卡权限再调用初始化接口
if(getApplicationInfo().targetSdkVersion >= 23 && Build.VERSION.SDK_INT >= 23){
requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE,Manifest.permission.WRITE_EXTERNAL_STORAGE},1);
}else {//不需要权限直接调用init
}else {
//不需要权限直接调用init
this.init(savedInstanceState);
}
......@@ -140,16 +120,18 @@ public class AppActivity extends Activity implements OnClickListener {
}
private void init( Bundle savedInstanceState){
//PoolSDK初始化接口
PoolSdkHelper.init(this, new PoolSDKCallBackListener() {
@Override
public void poolSdkCallBack(int code, String msg) {
PoolSdkLog.logInfo("poolSdkCallBack:code:" + code + ",msg:" + msg);
upTx("poolSdkCallBack:code:" + code + ",msg:" + msg);
switch (code) {
case PoolSDKCode.POOLSDK_INIT_SUCCESS:// 初始化成功
case PoolSDKCode.POOLSDK_INIT_SUCCESS:
// 初始化成功,游戏可以调用登录接口
PoolSdkLog.logInfo("游戏中收到初始化成功回调");
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
login();
......@@ -157,8 +139,10 @@ public class AppActivity extends Activity implements OnClickListener {
}, 1000);
break;
case PoolSDKCode.POOLSDK_INIT_FAIL:
//初始化失败,游戏可以尝试重新调用初始化接口或退出游戏等操作
break;
case PoolSDKCode.POOLSDK_QUERY_WITH_PRODUCTS:
//该接口为查询谷歌支付当地货币价格接口,国内游戏无需接入
//msg:为查询的结果值
/**
* {//查询商品信息返回数据
......@@ -173,7 +157,8 @@ public class AppActivity extends Activity implements OnClickListener {
* }
*/
break;
case PoolSDKCode.POOLSDK_EXTENDS_CODE1://实名认证成功才有回调
case PoolSDKCode.POOLSDK_EXTENDS_CODE1:
//实名认证成功才有回调
//msg为生日
break;
......@@ -195,18 +180,22 @@ public class AppActivity extends Activity implements OnClickListener {
}
}
},savedInstanceState);// init(this);// this为游戏的activity对象
//设置支付回调接口监听
PoolSdkHelper.setPayListener(mPoolPayListener);
//设置注销账号接口监听
PoolSdkHelper.setLogoutCallback(new PoolLogoutListener() {
@Override
public void onLogoutSuccess() {
// TODO: 此处处理SDK登出的逻辑
PoolSdkLog.logInfo("游戏中收到logoutSuccess回调");
PoolSdkLog.logInfo("游戏中收到SDK logoutSuccess回调");
//游戏退出当前账号 回到初始界面 重新调起登录操作
login();
}
});
PoolSdkHelper.trackEvent(getApplicationContext(), PoolEventType.POOL_RES_LOADED, null);
//开启公共SDK的防沉迷功能
//开启公共SDK的防沉迷功能,国内游戏按需使用,海外游戏无需接入
PoolSdkAntiAddiction.isUseAntiAddiction = true;
//PoolSdkAntiAddiction.isUseAntiAddictionToast = true;//防沉迷相关toast提示(默认关闭)
}
......@@ -289,11 +278,15 @@ public class AppActivity extends Activity implements OnClickListener {
PoolSdkHelper.onWindowAttributesChanged(params);
}
//返回键退出游戏时 显示退出界面
@Override
public boolean dispatchKeyEvent(KeyEvent pKeyEvent) {
if (pKeyEvent.getKeyCode() == KeyEvent.KEYCODE_BACK
&& pKeyEvent.getAction() == KeyEvent.ACTION_DOWN) {
//判断当前SDK是否自带退出界面
if (PoolSdkHelper.hasExitDialog()) {
//显示SDK的退出界面
PoolSdkHelper.showExitDialog(new PoolExitDialogListener() {
@Override
public void onDialogResult(int code, String msg) {
......@@ -314,7 +307,7 @@ public class AppActivity extends Activity implements OnClickListener {
}
});
} else {
// TODO: 调用游戏的退出界面
//SDK无退出界面,调用游戏自己的退出界面
showGameExitTips();
}
return false;
......@@ -322,66 +315,6 @@ public class AppActivity extends Activity implements OnClickListener {
return super.dispatchKeyEvent(pKeyEvent);
}
private void showGameExitTips() {
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
int ic_dialog_alert_id = getRedIdByName("ic_dialog_alert", "drawable");
dialog.setIcon(ic_dialog_alert_id);
dialog.setTitle("提示");
dialog.setMessage("是否退出游戏?");
dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
PoolSdkHelper.exitGame(new PoolExitListener() {
@Override
public void onExitGame() {
finish();
}
});
}
});
dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
dialog.show();
}
private int getRedIdByName(String resName, String resType) {
return getResources().getIdentifier(resName, resType, getPackageName());
}
private void initView(){
btLogin = (Button) findViewById(getRedIdByName("pb_bt_login", "id"));
btEnterGame = (Button) findViewById(getRedIdByName("pb_bt_entergame", "id"));
btPay = (Button) findViewById(getRedIdByName("pb_bt_pay", "id"));
btLogout = (Button) findViewById(getRedIdByName("pb_bt_logout", "id"));
btSubRoleInfo = (Button) findViewById(getRedIdByName("pb_bt_subrole", "id"));
btOpenChannel = (Button) findViewById(getRedIdByName("pb_bt_openchannel", "id"));
btSwitchAcc = (Button) findViewById(getRedIdByName("pb_bt_switchacc", "id"));
btOpenBbs = (Button) findViewById(getRedIdByName("pb_bt_openbbs", "id"));
btQueryProducts = findViewById(getRedIdByName("pool_query_products_id","id"));
pb_bt_verifyname = (Button) findViewById(getRedIdByName("pb_bt_verifyname", "id"));
txMsg = (TextView) findViewById(getRedIdByName("tx_msg", "id"));
txSdkMsg = (TextView) findViewById(getRedIdByName("tx_sdk_msg", "id"));
btLogin.setOnClickListener(this);
btEnterGame.setOnClickListener(this);
btPay.setOnClickListener(this);
btLogout.setOnClickListener(this);
btSubRoleInfo.setOnClickListener(this);
btOpenChannel.setOnClickListener(this);
btSwitchAcc.setOnClickListener(this);
btOpenBbs.setOnClickListener(this);
btQueryProducts.setOnClickListener(this);
pb_bt_verifyname.setOnClickListener(this);
}
public void yaOnClick(View view) {
}
@Override
public void onClick(View view) {
//新view
......@@ -393,7 +326,7 @@ public class AppActivity extends Activity implements OnClickListener {
}else if (view == btPay) {
pay();
}else if (view == btLogout) {
logout();
//logout();
}else if (view == btSubRoleInfo) {
//角色升级
submitRoleData(11,PoolRoleInfo.Type_RoleUpgrade);
......@@ -407,7 +340,8 @@ public class AppActivity extends Activity implements OnClickListener {
queryProducts();
}else if (view == pb_bt_verifyname){
//Toast.makeText(this,PoolSdkHelper.verifyRealName(this),Toast.LENGTH_SHORT).show();
//渠道无实名认证功能时,可以调用公共SDK的实名认证接口,在登录成功后才可以调用
//渠道无实名认证功能时,可以调用公共SDK的实名认证接口,在登录成功后才可以调用,海外游戏无需接入,国内游戏按需使用
PoolSdkHelper.setUserIDInfo("尚福乐", "211322198509260317", new PoolSdkAntiAddictionUserInfoListener() {
@Override
public void onSuccess(int totalGameTime, int totalPayMoney, String ymd) {
......@@ -420,6 +354,11 @@ public class AppActivity extends Activity implements OnClickListener {
}
@Override
public void onResult(String s) {
}
public void onResutl(String result) {
PoolSdkLog.logError("游戏获取实名结果:"+result);
}
......@@ -428,6 +367,7 @@ public class AppActivity extends Activity implements OnClickListener {
}
private void trackEvent(){
//使用AF和FB 等统计功能 需要调用该统计接口 value 具体参考文档
Map<String,Object> valueMap = new HashMap<>();
valueMap.put(PoolEventParameterName.POOL_ORDER_ID,System.currentTimeMillis()+"");//订单号
valueMap.put(PoolEventParameterName.POOL_CURRENCY,"USD");//货币类型 USD:美元 CNY:人民币
......@@ -435,34 +375,13 @@ public class AppActivity extends Activity implements OnClickListener {
PoolSdkHelper.trackEvent(getApplicationContext(), PoolEventType.POOL_RES_LOADED,valueMap);
}
private void logout(){
// if(PoolSdkHelper.hasLogout()){
// PoolSdkHelper.logout(this);//结果回调通知到PoolLogoutListener
// }
}
private void upTx(final String msg){
mContext.runOnUiThread(new Runnable() {
@Override
public void run() {
txMsg.setText(msg);
}
});
// new Handler().post(new Runnable() {
//
// @Override
// public void run() {
// txMsg.setText(msg);
// }
// });
}
private void login() {
PoolSdkLog.logError("调用login");
//调用Poolsdk 登录接口
PoolSdkHelper.login("登录自定义字段", new PoolLoginListener() {
@Override
public void onLoginSuccess(PoolLoginInfo poolLoginInfo) {
final String userType = poolLoginInfo.getUserType();
final String timestamp = poolLoginInfo.getTimestamp();
final String serverSign = poolLoginInfo.getServerSign();
......@@ -484,11 +403,13 @@ public class AppActivity extends Activity implements OnClickListener {
}
});
//单机游戏无服务端支付结果查询接口,网游无需接入
PoolPayOrderConfirmHandler.getInstance(this, 2000, 1000).startOrderConfirmOp(mPoolPayListener);
}
private void pay() {
//Poolsdk 支付接口
final PoolPayInfo poolPayInfo = new PoolPayInfo();
/********************************************
......@@ -545,10 +466,22 @@ public class AppActivity extends Activity implements OnClickListener {
poolRoleInfo.setVipLevel("10");//vip等级
poolRoleInfo.setDiamond("1000");//余额
poolRoleInfo.setMoneyType("金币");//商品单位
poolRoleInfo.setCallType(callType);
// poolRoleInfo.setCallType(PoolRoleInfo.Type_CreateRole);
// poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade);
poolRoleInfo.setPower(10);//战力
poolRoleInfo.setPartyId("10");//工会id
poolRoleInfo.setProfessionId("10");//职业id
poolRoleInfo.setProfessionName("无");//职业名称
poolRoleInfo.setReborn("0");//角色转生等级
poolRoleInfo.setCheckPointId("1");//关卡id
poolRoleInfo.setCheckPointName("关卡名");//关卡名
poolRoleInfo.setCallType(PoolRoleInfo.Type_EnterGame);//进入游戏(第一次创建角色后需再调用一次进入游戏)
// poolRoleInfo.setCallType(PoolRoleInfo.Type_CreateRole);//创建角色
// poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade);//角色升级
// poolRoleInfo.setCallType(PoolRoleInfo.Type_SelectServer);//选择服务器
// poolRoleInfo.setCallType(PoolRoleInfo.Type_ExitServer);//退出服务器
// poolRoleInfo.setCallType(PoolRoleInfo.Type_Change_RoleName);//改名
// poolRoleInfo.setCallType(PoolRoleInfo.Type_SelectRole);//选角
// poolRoleInfo.setCallType(PoolRoleInfo.Type_CheckPoint_Start);//关卡开始
// poolRoleInfo.setCallType(PoolRoleInfo.Type_CheckPoint_End);//关卡结束
PoolSdkHelper.submitRoleData(poolRoleInfo, new PoolRoleListener() {
@Override
......@@ -578,7 +511,8 @@ public class AppActivity extends Activity implements OnClickListener {
PoolSdkHelper.logout(this);//注销成功后结果回调通知到PoolLogoutListener中
}else if(PoolSdkHelper.hasSwitchAccount()){
PoolSdkHelper.switchAccount(this);//切换成功后回回调结果到登录成功通知中(与登录通知数据一样)
}else{//渠道不存在注销和切换账号接口,游戏可自定处理逻辑
}else{
//渠道不存在注销和切换账号接口,游戏可自定处理逻辑,退出当前角色,回到初始界面重新调用登录接口
}
}
......@@ -594,7 +528,7 @@ public class AppActivity extends Activity implements OnClickListener {
}
/**
* 商品查询接口
* 商品查询接口,用于谷歌支付,在商品列表中显示当地货币价格,回到在初始化接口中
*/
private void queryProducts(){
PoolSdkLog.logError(PoolSdkHelper.hasFunction("hasQueryWithProducts") + "SSS");
......@@ -604,4 +538,106 @@ public class AppActivity extends Activity implements OnClickListener {
PoolSdkHelper.callFunc("queryWithProducts",productMap);
}
//---------------------------- SDK 相关 ↑ ------------------------------
//新的view
private Button btLogin;
private Button btEnterGame;
private Button btPay;
private Button btLogout;
private Button btSubRoleInfo;
private Button btOpenChannel;
private Button btSwitchAcc;
private Button btOpenBbs;
private Button btQueryProducts;
private Button pb_bt_verifyname;
private Bundle saveBundle;
//提示LOG
private TextView txMsg,txSdkMsg;
private Activity mContext;
private void showGameExitTips() {
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
int ic_dialog_alert_id = getRedIdByName("ic_dialog_alert", "drawable");
dialog.setIcon(ic_dialog_alert_id);
dialog.setTitle("提示");
dialog.setMessage("是否退出游戏?");
dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
PoolSdkHelper.exitGame(new PoolExitListener() {
@Override
public void onExitGame() {
finish();
}
});
}
});
dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
dialog.show();
}
private int getRedIdByName(String resName, String resType) {
return getResources().getIdentifier(resName, resType, getPackageName());
}
private void initView(){
int layoutId = getResources().getIdentifier("public_sdk_self_test", "layout", getPackageName());
setContentView(layoutId);
mContext = this;
btLogin = (Button) findViewById(getRedIdByName("pb_bt_login", "id"));
btEnterGame = (Button) findViewById(getRedIdByName("pb_bt_entergame", "id"));
btPay = (Button) findViewById(getRedIdByName("pb_bt_pay", "id"));
btLogout = (Button) findViewById(getRedIdByName("pb_bt_logout", "id"));
btSubRoleInfo = (Button) findViewById(getRedIdByName("pb_bt_subrole", "id"));
btOpenChannel = (Button) findViewById(getRedIdByName("pb_bt_openchannel", "id"));
btSwitchAcc = (Button) findViewById(getRedIdByName("pb_bt_switchacc", "id"));
btOpenBbs = (Button) findViewById(getRedIdByName("pb_bt_openbbs", "id"));
btQueryProducts = findViewById(getRedIdByName("pool_query_products_id","id"));
pb_bt_verifyname = (Button) findViewById(getRedIdByName("pb_bt_verifyname", "id"));
txMsg = (TextView) findViewById(getRedIdByName("tx_msg", "id"));
txSdkMsg = (TextView) findViewById(getRedIdByName("tx_sdk_msg", "id"));
btLogin.setOnClickListener(this);
btEnterGame.setOnClickListener(this);
btPay.setOnClickListener(this);
btLogout.setOnClickListener(this);
btSubRoleInfo.setOnClickListener(this);
btOpenChannel.setOnClickListener(this);
btSwitchAcc.setOnClickListener(this);
btOpenBbs.setOnClickListener(this);
btQueryProducts.setOnClickListener(this);
pb_bt_verifyname.setOnClickListener(this);
}
public void yaOnClick(View view) {
}
private void upTx(final String msg){
mContext.runOnUiThread(new Runnable() {
@Override
public void run() {
txMsg.setText(msg);
}
});
// new Handler().post(new Runnable() {
//
// @Override
// public void run() {
// txMsg.setText(msg);
// }
// });
}
}
......
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Demo_shenshou</string>
<string name="app_name">PoolSDK_Demo</string>
</resources>
......
# 公共SDK事件埋点接入文档 #
## 接入必读
事件埋点接口分为三部分:埋点接口,事件类型,事件参数集合的key
### 埋点接口 (PoolSdkHelper)
、、、java
PoolSdkHelper.trackEvent(上下文, 事件类型, 事件参数集合);
、、、
### 事件类型 (PoolEventType)
| 事件类型名称 | 事件类型值(字符串) | 描述 | 需要传的事件参数(PoolEventParameterName) |
|------------------|------------|---------------------|-------------------------|
| POOL_RES_START | af_res_start | 开始加载资源 | 无 |
| POOL_RES_LOADED | af_loading_completed | 资源加载完毕 | 无 |
| POOL_REGISTER | af_registration | 注册 | POOL_REGISTRATION_METHOD |
| POOL_ENTER_GAME | af_lead | 进入游戏 | 无 |
| POOL_TUTORIAL_COMPLETION | af_complete_trial | 新手结束 | POOL_TUTORIAL_SUCCESS , POOL_TUTORIAL_CONTENT_ID , POOL_TUTORIAL_CONTENT |
| POOL_FIRST_DAY_CHECKPOINT_TO_VALUE | af_speciallevel_2 | 副本关卡(创角首日达到的某个关卡 | POOL_CHECKPOINT_ID , POOL_CHECKPOINT_NAME |
| POOL_ENTER_PARTY | af_join_guild | 进入公会 | POOL_GROUP_ID |
| POOL_FIRST_DAY_UPDATE_TO_LEVEL1 | af_firstday_level | 首日更新到某个等级 | POOL_ROLE_LEVEL |
| POOL_UPDATE_TO_LEVEL | af_level_achieve | 更新到某个等级 | POOL_ROLE_LEVEL ,POOL_CHARACTER,POOL_ACHIEVEMENT_ID,POOL_SCORE,POOL_ROLE_STATE |
| POOL_CREATE_ORDER | af_initiate_checkout | 创建订单/点击任意计费点 | POOL_PRICE , POOL_PURCHASE_CONTENT_ID |
| POOL_FIRST_RECHARGE | af_fisrt_purchase | 首冲 | POOL_PRICE , POOL_PURCHASE_CONTENT_ID |
| POOL_PAY_SUCCESS | af_purchase | 支付成功 | POOL_PRICE , POOL_PURCHASE_CONTENT_ID , POOL_ORDER_ID , POOL_CURRENCY,POOL_PURCHASE_QUANTITY|
| POOL_FIRST_DAY_RECHARGE_TO_VALUE | af_premium_product | 首日付费(创角首日达到的某个充值额度) | POOL_TOTAL_PAY_VALUE |
| POOL_BUY_MOUTH_CARD | af_monthcard | 购买月卡 | 无 |
| POOL_BIG_RECHARGE | af_greatvalue | 大额充值 | POOL_PRICE |
| POOL_FIRST_PURCHASE_FUND | af_first_purchase_fund | 首次成长基金充值 | 无 |
| POOL_VIP_LEVEL_TO_TARGET_LEVEL | af_vip_level_to_target_level | vip达到某个等级 | POOL_VIP_LEVEL |
| POOL_BUY_ANNUAL_CARD | af_annual_card | 购买年卡 | 无 |
| POOL_FRIENDS_NUM | af_friends_num | 知己数量 | POOL_FRIENDS_VALUE |
| POOL_ATTENDANT | af_attendant | 妖精的数量 | POOL_ATTENDANT_VALUE |
| POOL_MAIN_MISSION | af_main_mission | 已通过的主线任务 | POOL_MAIN_MISSION_NAME |
| POOL_SIGN_IN | af_sign_in | 签到(一般是七天签到活动) | POOL_SIGN_IN_DAY |
| POOL_START_TRIAL | af_start_trial | 开始新手 | 无 |
| POOL_SPECIAL_LEVEL | af_special_level | 通关,通过xx章 | POOL_CHECKPOINT_ID , POOL_CHECKPOINT_NAME |
| POOL_FUNDS | af_funds | 成功购买基金 | POOL_PURCHASE_CONTENT_ID,POOL_PRICE |
| POOL_RETAINED | af_retention | 留存 | POOL_RETAINED_DAY |
### 事件参数集合的key (PoolEventParameterName)
| 事件参数名称 | 事件参数值(字符串) | 描述 |
|-----------------------|--------------|------------------|
| POOL_ORDER_ID | af_content_id | 订单号 |
| POOL_PRICE | af_revenue | 价格 |
| POOL_CURRENCY | af_currency | 货币类型 USD:美元 CNY:人民币 |
| POOL_FRIENDS_VALUE | af_friends_value | 知己数量值 |
| POOL_ATTENDANT_VALUE | af_attendant_value | 妖精数量 |
| POOL_VIP_LEVEL | af_vip_level | vip等级 |
| POOL_ROLE_LEVEL | af_role_level | 角色等级 |
| POOL_ROLE_STATE | af_role_state | 角色等级对应的称号,境界 |
| POOL_MAIN_MISSION_NAME | af_main_mission_name | 已通过的主线任务名称 |
| POOL_SIGN_IN_DAY | af_sign_in_day | 签到(一般是指七天签到活动中的第几天签到,传数字) |
| POOL_REGISTRATION_METHOD | af_registration_method | 注册方式 |
| POOL_CHECKPOINT_ID | af_checkpoint_id | 关卡id |
| POOL_CHECKPOINT_NAME | af_checkpoint_name | 关卡名 |
| POOL_GROUP_ID | group_id | 加入群组时 |
| POOL_PURCHASE_CONTENT_ID | af_content_id | 物品ID |
| POOL_TOTAL_PAY_VALUE | af_total_pay_value | 总额度 |
| POOL_TUTORIAL_SUCCESS | af_success | 用户是否完成了该教程 |
| POOL_TUTORIAL_CONTENT_ID | af_content_id | 教程ID |
| POOL_TUTORIAL_CONTENT | af_content | 该教程名称 |
| POOL_CHARACTER | character | 角色名 |
| POOL_ACHIEVEMENT_ID | achievement_id | 成就标志 |
| POOL_SCORE | af_score | 用户成就分数 |
| POOL_PURCHASE_QUANTITY | af_quantity | 购买的物品数量 |
| POOL_RETAINED_DAY | af_retained_day | 留存的天数(传数字) |
#### 接入实例
*1.接入资源加载完毕的埋点
类型: POOL_RES_LOADED
需要传的参数集合: 无
'''java
PoolSdkHelper.trackEvent(上下文, PoolEventType.POOL_RES_LOADED,null);
'''
*2.接入支付成功时的埋点
类型:POOL_PAY_SUCCESS
需要传的参数集合:POOL_PRICE , POOL_PURCHASE_CONTENT_ID,POOL_CURRENCY,POOL_ORDER_ID
'''java
Map<String,Object> valueMap = new HashMap<>();
valueMap.put(PoolEventParameterName.POOL_ORDER_ID,System.currentTimeMillis()+"");//订单号
valueMap.put(PoolEventParameterName.POOL_CURRENCY,"USD");//货币类型 USD:美元 CNY:人民币
valueMap.put(PoolEventParameterName.POOL_PRICE,6);//充值金额
valueMap.put(PoolEventParameterName.POOL_PURCHASE_CONTENT_ID,"fdfdf");//物品id
PoolSdkHelper.trackEvent(上下文,PoolEventType.POOL_PAY_SUCCESS,valueMap);
'''
......@@ -145,9 +145,9 @@ public static void login(final String paramCustom,final PoolLoginListener poolLo
```
#### 2.4、提交角色数据接口(必接)
接口说明:游戏提交角色数据接口,该接口需要在以下3中情况下调用:
接口说明:游戏提交角色数据接口,该接口需要在以下9中情况下调用:
进入游戏主场景、创建角色、角色更新
进入游戏主场景、创建角色、角色更新(vip等级升级也由此类型上报)、选择服务器、退出服务器、改名、选角、关卡开始、关卡结束
**(如果游戏创建角色时没有角色名,需要在用户创建角色名时调用多一次进入游戏统计,否则用户名无法正常统计,投放测试无法通过)**
......@@ -166,7 +166,7 @@ public static void submitRoleData(final PoolRoleInfo poolRoleInfo,final PoolRole
PoolRoleInfo 实体类字段说明(以下参数都为必传参数,如游戏没有的传 "无" 或者 "0")
| 字段名 | 说明 |
| -------------- | ---------------------------------------- |
| callType | 调用类型Type_EnterGame 登录游戏主 场景;Type_CreatRole 为创建角 色;Type_RoleUpgrade 为角色更新 |
| callType | 调用类型Type_EnterGame 登录游戏主 场景;Type_CreatRole 为创建角 色;Type_RoleUpgrade 为角色更新(vip等级升级也由此类型上报) ;Type_SelectServer 为选择服务器 ;Type_ExitServer 为退出服务器 ;Type_Change_RoleName 为改名 ;Type_SelectRole 为选角 ;Type_CheckPoint_Start 为关卡开始 ;Type_CheckPoint_End 为关卡结束 ;|
| roleId | 角色 Id(请用数字) |
| roleName | 角色名称 |
| roleLevel | 角色等级 (请用数字) |
......@@ -181,6 +181,13 @@ public static void submitRoleData(final PoolRoleInfo poolRoleInfo,final PoolRole
| vipLevel | VIP等级 (请用数字,如无请传"0") |
| diamond | 余额 (请用数字,如无请传"0") |
| moneyType | 商品单位 (如 "钻石"、"金币"、"水晶"等) |
| power | 战力 (请用数字,如无请传"0") |
| partyId | 工会id (请用数字,如无请传"0") |
| professionId | 职业id (请用数字,如无请传"0") |
| professionName | 职业名称 (没有的传 "无") |
| reborn | 角色转生等级 (请用数字,如无请传"0") |
| checkPointId | 关卡id (请用数字,如无请传"0") |
| checkPointName | 关卡名 (没有的传 "无") |
```java
......@@ -203,9 +210,22 @@ public static void submitRoleData(final PoolRoleInfo poolRoleInfo,final PoolRole
poolRoleInfo.setVipLevel("10");//vip等级
poolRoleInfo.setDiamond("1000");//余额
poolRoleInfo.setMoneyType("金币");//商品单位
poolRoleInfo.setPower("10");//战力
poolRoleInfo.setPartyId("10");//工会id
poolRoleInfo.setProfessionId("10");//职业id
poolRoleInfo.setProfessionName("无");//职业名称
poolRoleInfo.setReborn("0");//角色转生等级
poolRoleInfo.setCheckPointId("1");//关卡id
poolRoleInfo.setCheckPointName("关卡名");//关卡名
poolRoleInfo.setCallType(PoolRoleInfo.Type_EnterGame);//进入游戏(第一次创建角色后需再调用一次进入游戏)
// poolRoleInfo.setCallType(PoolRoleInfo.Type_CreateRole);//创建角色(如果游戏创建角色时没有角色名,需要在用户创建角色名时调用多一次进入游戏统计,否则用户名无法正常统计,投放测试无法通过)
// poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade);//角色升级
// poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade);//角色升级(vip等级升级也由此类型上报)
// poolRoleInfo.setCallType(PoolRoleInfo.Type_SelectServer);//选择服务器
// poolRoleInfo.setCallType(PoolRoleInfo.Type_ExitServer);//退出服务器
// poolRoleInfo.setCallType(PoolRoleInfo.Type_Change_RoleName);//改名
// poolRoleInfo.setCallType(PoolRoleInfo.Type_SelectRole);//选角
// poolRoleInfo.setCallType(PoolRoleInfo.Type_CheckPoint_Start);//关卡开始
// poolRoleInfo.setCallType(PoolRoleInfo.Type_CheckPoint_End);//关卡结束
PoolSdkHelper.submitRoleData(poolRoleInfo, new PoolRoleListener() {
@Override
......@@ -657,6 +677,8 @@ PoolEventType类中对应的类型:
POOL_RETAINED_7_DAY 领取七天礼包的第七天奖励时
POOL_FIRST_PURCHASE_FUND 首次成长基金充值
POOL_VIP_LEVEL_TO_TARGET_LEVEL vip达到某个等级
POOL_BUY_ANNUAL_CARD 购买年卡
POOL_FIRST_RECHARGE_9999 首次储值99.99美元
```
......@@ -1313,10 +1335,22 @@ public class AppActivity extends Activity implements OnClickListener {
poolRoleInfo.setVipLevel("10");//vip等级
poolRoleInfo.setDiamond("1000");//余额
poolRoleInfo.setMoneyType("金币");//商品单位
poolRoleInfo.setCallType(callType);
// poolRoleInfo.setCallType(PoolRoleInfo.Type_CreateRole);
// poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade);
poolRoleInfo.setPower("10");//战力
poolRoleInfo.setPartyId("10");//工会id
poolRoleInfo.setProfessionId("10");//职业id
poolRoleInfo.setProfessionName("无");//职业名称
poolRoleInfo.setReborn("0");//角色转生等级
poolRoleInfo.setCheckPointId("1");//关卡id
poolRoleInfo.setCheckPointName("关卡名");//关卡名
poolRoleInfo.setCallType(PoolRoleInfo.Type_EnterGame);//进入游戏(第一次创建角色后需再调用一次进入游戏)
// poolRoleInfo.setCallType(PoolRoleInfo.Type_CreateRole);//创建角色
// poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade);//角色升级
// poolRoleInfo.setCallType(PoolRoleInfo.Type_SelectServer);//选择服务器
// poolRoleInfo.setCallType(PoolRoleInfo.Type_ExitServer);//退出服务器
// poolRoleInfo.setCallType(PoolRoleInfo.Type_Change_RoleName);//改名
// poolRoleInfo.setCallType(PoolRoleInfo.Type_SelectRole);//选角
// poolRoleInfo.setCallType(PoolRoleInfo.Type_CheckPoint_Start);//关卡开始
// poolRoleInfo.setCallType(PoolRoleInfo.Type_CheckPoint_End);//关卡结束
PoolSdkHelper.submitRoleData(poolRoleInfo, new PoolRoleListener() {
@Override
......
......@@ -50,9 +50,11 @@
| coupon | 优惠券接口 | 成功 1102(PoolSDKCode.POOLSDK_COUPON_SUCCESS) 失败 1202(PoolSDKCode.POOLSDK_COUPON_FAIL) |
调用事例:
`Map<Object,Object> map = new HashMap();`
`map.put("优惠券码","");`
`PoolSdkHelper.callFunc("coupon",map);`
```java
Map<Object,Object> map = new HashMap();
map.put("优惠券码","");`
PoolSdkHelper.callFunc("coupon",map);
```
#### 删除账号
*是否有删除账号接口
......@@ -138,9 +140,33 @@
| showShareView | facebook截屏分享接口 | 成功 1104(PoolSDKCode.POOLSDK_SHARE_SUCCESS) 失败 1204(PoolSDKCode.POOLSDK_SHARE_FAIL) |
调用事例:
`Map<Object,Object> map = new HashMap();`
`map.put("facebook_capture","");`
`PoolSdkHelper.callFunc("showShareView",map);`
```java
Map<Object,Object> map = new HashMap();
map.put("facebook_capture","");
PoolSdkHelper.callFunc("showShareView",map);
```
#### facebook链接分享
*是否有facebook链接分享接口
| 参数名称 | 功能说明 | 返回值说明 |
|---------------------------|------------------------------|-----------------------|
| hasFacebookLinkShare | 是否有facebook链接分享接口 | true:有,false:没有 |
调用事例: `boolean hasFacebookLinkShare = PoolSdkHelper.hasFunction("hasFacebookLinkShare");`
*facebook链接分享功能接口
| 参数名称 | 功能说明 | 返回值说明 |
|-----------------|------------------------|-------------------------------------------------------------------------------------------|
| showShareView | facebook链接分享接口 | 成功 1104(PoolSDKCode.POOLSDK_SHARE_SUCCESS) 失败 1204(PoolSDKCode.POOLSDK_SHARE_FAIL) |
调用事例:
```java
Map<Object,Object> map = new HashMap();
map.put("facebook_link","");
PoolSdkHelper.callFunc("showShareView",map);
```
#### twitter分享
*是否有twitter分享接口
......@@ -158,9 +184,11 @@
| showShareView | twitter分享接口 | 成功 1104(PoolSDKCode.POOLSDK_SHARE_SUCCESS) 失败 1204(PoolSDKCode.POOLSDK_SHARE_FAIL) |
调用事例:
`Map<Object,Object> map = new HashMap();`
`map.put("twitter","");`
`PoolSdkHelper.callFunc("showShareView",map);`
```java
Map<Object,Object> map = new HashMap();
map.put("twitter","");
PoolSdkHelper.callFunc("showShareView",map);
```
#### twitter截屏分享
*是否有twitter截屏分享接口
......@@ -178,9 +206,11 @@
| showShareView | twitter截屏分享接口 | 成功 1104(PoolSDKCode.POOLSDK_SHARE_SUCCESS) 失败 1204(PoolSDKCode.POOLSDK_SHARE_FAIL) |
调用事例:
`Map<Object,Object> map = new HashMap();`
`map.put("twitter_capture","");`
`PoolSdkHelper.callFunc("showShareView",map);`
```java
Map<Object,Object> map = new HashMap();
map.put("twitter_capture","");
PoolSdkHelper.callFunc("showShareView",map);
```
#### line截屏分享
*是否有line截屏分享接口
......@@ -202,6 +232,26 @@
`map.put("line_capture","");`
`PoolSdkHelper.callFunc("showShareView",map);`
#### line链接分享
*是否有line链接分享接口
| 参数名称 | 功能说明 | 返回值说明 |
|-----------------------|--------------------------|-----------------------|
| hasLineLinkShare | 是否有line链接分享接口 | true:有,false:没有 |
调用事例: `boolean hasLineLinkShare = PoolSdkHelper.hasFunction("hasLineLinkShare");`
*line截屏分享功能接口
| 参数名称 | 功能说明 | 返回值说明 |
|-----------------|--------------------|-------------------------------------------------------------------------------------------|
| showShareView | line链接分享接口 | 成功 1104(PoolSDKCode.POOLSDK_SHARE_SUCCESS) 失败 1204(PoolSDKCode.POOLSDK_SHARE_FAIL) |
调用事例:
`Map<Object,Object> map = new HashMap();`
`map.put("line_link","");`
`PoolSdkHelper.callFunc("showShareView",map);`
#### instagram截屏分享
*是否有instagram截屏分享接口
......@@ -456,3 +506,141 @@
`map.put("ad","");`
`PoolSdkHelper.callFunc("setPushDisable",map);`
#### AppsFlyer邀请
*是否有AppsFlyer邀请接口
| 参数名称 | 功能说明 | 返回值说明 |
|-------------|--------------------|-----------------------|
| hasAFInviteLink | 是否有AppsFlyer邀请接口 | true:有,false:没有 |
调用事例: `boolean hasAFInviteLink = PoolSdkHelper.hasFunction("hasAFInviteLink");`
*AppsFlyer邀请链接生成接口功能接口
| 参数名称 | 功能说明 | 返回值说明 |
|-------------|-----------|---------------------------------------------------------------------------------------------|
| createAFInviteLink | AppsFlyer邀请链接生成接口 | 无 |
调用事例:
```java
PoolSdkHelper.callFunc("createAFInviteLink",null);
```
*AppsFlyer邀请链接发放奖励接口
| 参数名称 | 功能说明 | 返回值说明 |
|-------------|-----------|---------------------------------------------------------------------------------------------|
| afInviteRewards | AppsFlyer邀请链接发放奖励接口 | 无 |
调用事例:
```java
PoolSdkHelper.callFunc("afInviteRewards",null);
```
### 区域地址功能
*获取区域地址接口
| 参数名称 | 功能说明 | 返回值说明 |
|-------------|-----------|---------------------------------------------------------------------------------------------|
| getGameAreaUrl | 获取区域地址 | 返回区域地址 |
调用事例:
```java
String gameAreaUrl = PoolSdkHelper.callFunc("getGameAreaUrl",null)
*区域地址回调监听
```java
PoolSdkHelper.init(this, new PoolSDKCallBackListener() {
@Override
public void poolSdkCallBack(int code, String msg) {
// TODO Auto-generated method stub
switch (code) {
case 1301://区域地址回调,游戏收到此回调重新刷新加载
//msg为区域地址值
break;
}
}
});
```
### 广告接口
| 参数名称 | 功能说明 | 返回值说明 |
|-------------|-----------|---------------------------------------------------------------------------------------------|
| adShow | 广告 | 无 |
| paramMap | 广告参数 | 无 |
- paramMap字段说明
| 参数名称 | 参数说明 |
|-------------|-----------|
| activity | Activity上下文 |
| viewGroup | 当前页面的layout布局 |
| type | 广告类型 1:激励视频 2:banner 3:开屏 4:插屏 |
调用事例:
Map<Object, Object> paramMap = new HashMap<>();
paramMap.put("activity",AppActivity.this);
paramMap.put("viewGroup",layout);
paramMap.put("type","1");
PoolSdkHelper.callFunc("adShow",paramMap);
### 广告结果回调(初始化init中接口回调)
调用事例:
PoolSdkHelper.init(this, new PoolSDKCallBackListener() {
@Override
public void poolSdkCallBack(int code, String msg) {
// TODO Auto-generated method stub
switch (code) {
case 1401://激励视频观看完成关闭
break;
case 1402://激励视频未看完成关闭
break;
}
}
});
### 分享接口
| 参数名称 | 功能说明 | 返回值说明 |
|-------------|-----------|---------------------------------------------------------------------------------------------|
| commonShare | 分享 | 无 |
| paramMap | 广告参数 | 无 |
- paramMap字段说明
| 参数名称 | 参数说明 |
|-------------|-----------|
| activity | Activity上下文 |
| type | 分享类型 1:纯文本 2:图片 3:文本+图片 4:文本+链接 |
| title | 标题 |
| content | 分享文本内容 |
| pic_url | 图片地址 |
| pic_data | 图片数据 |
| link | 分享链接 |
调用事例:
Map<Object, Object> paramMap = new HashMap<>();
paramMap.put("activity",AppActivity.this);
paramMap.put("content","这是一段文本");
paramMap.put("type","1");
PoolSdkHelper.callFunc("commonShare",paramMap);
### 分享结果回调(初始化init中接口回调)
调用事例:
PoolSdkHelper.init(this, new PoolSDKCallBackListener() {
@Override
public void poolSdkCallBack(int code, String msg) {
// TODO Auto-generated method stub
switch (code) {
case 1403://分享成功code
break;
case 1404://分享失败code
break;
}
}
});
\ No newline at end of file
......
No preview for this file type
No preview for this file type