唐伟军

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

...@@ -45,7 +45,17 @@ ...@@ -45,7 +45,17 @@
45 - 直接替换PoolSdk_V2_xxxx.jar 45 - 直接替换PoolSdk_V2_xxxx.jar
46 - 2020-06-29 46 - 2020-06-29
47 - 删除权限回调中的激活,直接替换PoolSdk_V2_xxxx.jar 47 - 删除权限回调中的激活,直接替换PoolSdk_V2_xxxx.jar
48 -- 2020-09-01 48 +- 2020-09-18
49 - - 增加application启动的公共接口,直接替换PoolSdk_V2_xxxx.jar 49 + - 增加applicationStart启动接口,增加扩展接口接入文档,增加扩展接口code常量
50 -- 2020-09-02 50 + - 直接替换PoolSdk_V2_xxxx.jar
51 - - 在PoolSdkCode类中添加相应的code常量,直接替换PoolSdk_V2_xxxx.jar 51 +- 2020-10-27
52 + - 增加六种场景接口上报类型 4=选择服务器,5=退出服务器,6=改名,7=选角,8=关卡开始,9=关卡结束
53 + - 每种场景上报类型增加七个参数 战力,工会id,职业id,职业名称,关卡id,关卡名,角色转生等级
54 +- 2020-12-21
55 + - 去掉保存登录验签成功返回的chatLog字段, 直接替换PoolSdk_V2_xxxx.jar
56 +- 2021-01-13
57 + - 修复防沉迷计时可能不准的问题, 增加了埋点的类型和参数,直接替换PoolSdk_V2_xxxx.jar
58 +- 2021-01-20
59 + - 去掉sentry上报,增加留存事件埋点类型,直接替换PoolSdk_V2_xxxx.jar
60 +- 2021-02-23
61 + - 删掉了防成谜代码,获取oaid方式退回之前,直接替换PoolSdk_V2_xxxx.jar
......
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<project version="4">
3 + <component name="CompilerConfiguration">
4 + <bytecodeTargetLevel target="1.8" />
5 + </component>
6 +</project>
...\ No newline at end of file ...\ No newline at end of file
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
14 </set> 14 </set>
15 </option> 15 </option>
16 <option name="resolveModulePerSourceSet" value="false" /> 16 <option name="resolveModulePerSourceSet" value="false" />
17 + <option name="useQualifiedModuleNames" value="true" />
17 </GradleProjectSettings> 18 </GradleProjectSettings>
18 </option> 19 </option>
19 </component> 20 </component>
......
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<project version="4">
3 + <component name="RemoteRepositoriesConfiguration">
4 + <remote-repository>
5 + <option name="id" value="central" />
6 + <option name="name" value="Maven Central repository" />
7 + <option name="url" value="https://repo1.maven.org/maven2" />
8 + </remote-repository>
9 + <remote-repository>
10 + <option name="id" value="jboss.community" />
11 + <option name="name" value="JBoss Community repository" />
12 + <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
13 + </remote-repository>
14 + <remote-repository>
15 + <option name="id" value="BintrayJCenter" />
16 + <option name="name" value="BintrayJCenter" />
17 + <option name="url" value="https://jcenter.bintray.com/" />
18 + </remote-repository>
19 + <remote-repository>
20 + <option name="id" value="Google" />
21 + <option name="name" value="Google" />
22 + <option name="url" value="https://dl.google.com/dl/android/maven2/" />
23 + </remote-repository>
24 + <remote-repository>
25 + <option name="id" value="D:\AndroidSDK\extras\m2repository" />
26 + <option name="name" value="D:\AndroidSDK\extras\m2repository" />
27 + <option name="url" value="file:/$PROJECT_DIR$/../../../AndroidSDK/extras/m2repository" />
28 + </remote-repository>
29 + <remote-repository>
30 + <option name="id" value="D:\AndroidSDK\extras\google\m2repository" />
31 + <option name="name" value="D:\AndroidSDK\extras\google\m2repository" />
32 + <option name="url" value="file:/$PROJECT_DIR$/../../../AndroidSDK/extras/google/m2repository" />
33 + </remote-repository>
34 + <remote-repository>
35 + <option name="id" value="D:\AndroidSDK\extras\android\m2repository" />
36 + <option name="name" value="D:\AndroidSDK\extras\android\m2repository" />
37 + <option name="url" value="file:/$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository" />
38 + </remote-repository>
39 + </component>
40 +</project>
...\ No newline at end of file ...\ No newline at end of file
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <project version="4"> 2 <project version="4">
3 - <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK"> 3 + <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
4 <output url="file://$PROJECT_DIR$/build/classes" /> 4 <output url="file://$PROJECT_DIR$/build/classes" />
5 </component> 5 </component>
6 <component name="ProjectType"> 6 <component name="ProjectType">
......
1 apply plugin: 'com.android.application' 1 apply plugin: 'com.android.application'
2 2
3 android { 3 android {
4 - compileSdkVersion 28 4 + compileSdkVersion 29
5 buildToolsVersion '29.0.2' 5 buildToolsVersion '29.0.2'
6 defaultConfig { 6 defaultConfig {
7 - applicationId "com.ssjh.demo" 7 + applicationId "com.poolsdk.demo"
8 - minSdkVersion 14 8 + minSdkVersion 21
9 - targetSdkVersion 28 9 + targetSdkVersion 29
10 versionCode 2 10 versionCode 2
11 versionName "1.0" 11 versionName "1.0"
12 } 12 }
...@@ -32,6 +32,6 @@ dependencies { ...@@ -32,6 +32,6 @@ dependencies {
32 // implementation 'com.android.installreferrer:installreferrer:1.0' 32 // implementation 'com.android.installreferrer:installreferrer:1.0'
33 33
34 // implementation 'com.google.android.gms:play-services-ads-identifier:16.0.0' 34 // implementation 'com.google.android.gms:play-services-ads-identifier:16.0.0'
35 - compile 'com.google.firebase:firebase-core:16.0.6' 35 +// compile 'com.google.firebase:firebase-core:16.0.6'
36 - compile 'com.google.firebase:firebase-messaging:17.3.4' 36 +// compile 'com.google.firebase:firebase-messaging:17.3.4'
37 } 37 }
......
No preview for this file type
No preview for this file type
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 - package="com.youai.demo.shenshou"> 3 + package="com.poolsdk.demo">
4 4
5 <!-- SDK start --> 5 <!-- SDK start -->
6 - <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
7 <uses-permission android:name="android.permission.INTERNET" /> 6 <uses-permission android:name="android.permission.INTERNET" />
8 - <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 7 + <!-- 国内需要用公共SDK的后台数据功能需要以下权限 -->
9 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 8 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
10 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 9 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
11 - <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 10 + <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
12 - <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
13 - <uses-permission android:name="android.permission.GET_TASKS" />
14 - <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
15 - <uses-permission android:name="android.permission.RECORD_AUDIO" />
16 <!-- SDK end --> 11 <!-- SDK end -->
17 12
18 <application 13 <application
19 android:name="com.gzpublic.app.sdk.application.PoolSDKApplication" 14 android:name="com.gzpublic.app.sdk.application.PoolSDKApplication"
20 android:allowBackup="false" 15 android:allowBackup="false"
21 android:icon="@drawable/public_sdk_self_ic_launcher" 16 android:icon="@drawable/public_sdk_self_ic_launcher"
22 - android:label="@string/app_name" > 17 + android:label="@string/app_name">
23 <activity 18 <activity
24 android:name="com.youai.foolsdk.demo.AppActivity" 19 android:name="com.youai.foolsdk.demo.AppActivity"
25 android:configChanges="keyboardHidden|orientation|screenSize" 20 android:configChanges="keyboardHidden|orientation|screenSize"
26 android:label="@string/app_name" 21 android:label="@string/app_name"
27 android:screenOrientation="portrait" 22 android:screenOrientation="portrait"
28 - android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > 23 + android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
29 <intent-filter> 24 <intent-filter>
30 <action android:name="android.intent.action.MAIN" /> 25 <action android:name="android.intent.action.MAIN" />
31 26
32 <category android:name="android.intent.category.LAUNCHER" /> 27 <category android:name="android.intent.category.LAUNCHER" />
33 </intent-filter> 28 </intent-filter>
34 </activity> 29 </activity>
35 - <!-- SDK start -->
36 - <activity
37 - android:name="com.appsdk.sdk.YouaiSDK"
38 - android:label="youai_sdk"
39 - android:launchMode="singleTask"
40 - android:theme="@android:style/Theme.Dialog" />
41 -
42 - <service
43 - android:name="com.appsdk.sdk.YouaiService"
44 - android:enabled="true" >
45 - <intent-filter>
46 - <action android:name="com.youai.sdk.YouaiService" />
47 - </intent-filter>
48 - </service>
49 -
50 - <receiver android:name="com.appsdk.sdk.Receiver" >
51 - <intent-filter>
52 - <action android:name="android.intent.action.BOOT_COMPLETED" />
53 30
54 - <category android:name="android.intent.category.LAUNCHER" /> 31 + <!-- SDK start -->
55 - </intent-filter>
56 - </receiver>
57 32
58 - <activity
59 - android:name="com.alipay.sdk.app.H5PayActivity"
60 - android:configChanges="keyboardHidden|navigation|orientation"
61 - android:exported="false"
62 - android:screenOrientation="behind" />
63 - <activity
64 - android:name="com.alipay.sdk.auth.AuthActivity"
65 - android:configChanges="keyboardHidden|navigation|orientation"
66 - android:exported="false"
67 - android:screenOrientation="behind" />
68 <!-- SDK end --> 33 <!-- SDK end -->
69 </application> 34 </application>
70 35
......
...@@ -3,21 +3,18 @@ package com.youai.foolsdk.demo; ...@@ -3,21 +3,18 @@ package com.youai.foolsdk.demo;
3 import android.Manifest; 3 import android.Manifest;
4 import android.app.Activity; 4 import android.app.Activity;
5 import android.app.AlertDialog; 5 import android.app.AlertDialog;
6 -import android.app.Application;
7 import android.content.DialogInterface; 6 import android.content.DialogInterface;
8 import android.content.Intent; 7 import android.content.Intent;
9 import android.content.res.Configuration; 8 import android.content.res.Configuration;
10 import android.os.Build; 9 import android.os.Build;
11 import android.os.Bundle; 10 import android.os.Bundle;
12 import android.os.Handler; 11 import android.os.Handler;
13 -import android.util.Log;
14 import android.view.KeyEvent; 12 import android.view.KeyEvent;
15 import android.view.View; 13 import android.view.View;
16 import android.view.View.OnClickListener; 14 import android.view.View.OnClickListener;
17 import android.view.WindowManager.LayoutParams; 15 import android.view.WindowManager.LayoutParams;
18 import android.widget.Button; 16 import android.widget.Button;
19 import android.widget.TextView; 17 import android.widget.TextView;
20 -import android.widget.Toast;
21 18
22 import com.gzpublic.app.sdk.framework.PoolEventParameterName; 19 import com.gzpublic.app.sdk.framework.PoolEventParameterName;
23 import com.gzpublic.app.sdk.framework.PoolEventType; 20 import com.gzpublic.app.sdk.framework.PoolEventType;
...@@ -30,7 +27,6 @@ import com.gzpublic.app.sdk.framework.PoolLogoutListener; ...@@ -30,7 +27,6 @@ import com.gzpublic.app.sdk.framework.PoolLogoutListener;
30 import com.gzpublic.app.sdk.framework.PoolPayInfo; 27 import com.gzpublic.app.sdk.framework.PoolPayInfo;
31 import com.gzpublic.app.sdk.framework.PoolPayListener; 28 import com.gzpublic.app.sdk.framework.PoolPayListener;
32 import com.gzpublic.app.sdk.framework.PoolPayOrderConfirmHandler; 29 import com.gzpublic.app.sdk.framework.PoolPayOrderConfirmHandler;
33 -import com.gzpublic.app.sdk.framework.PoolReport;
34 import com.gzpublic.app.sdk.framework.PoolRoleInfo; 30 import com.gzpublic.app.sdk.framework.PoolRoleInfo;
35 import com.gzpublic.app.sdk.framework.PoolRoleListener; 31 import com.gzpublic.app.sdk.framework.PoolRoleListener;
36 import com.gzpublic.app.sdk.framework.PoolSDKCallBackListener; 32 import com.gzpublic.app.sdk.framework.PoolSDKCallBackListener;
...@@ -45,31 +41,18 @@ import org.json.JSONException; ...@@ -45,31 +41,18 @@ import org.json.JSONException;
45 import org.json.JSONObject; 41 import org.json.JSONObject;
46 42
47 import java.util.HashMap; 43 import java.util.HashMap;
48 -import java.util.Locale;
49 import java.util.Map; 44 import java.util.Map;
50 45
51 public class AppActivity extends Activity implements OnClickListener { 46 public class AppActivity extends Activity implements OnClickListener {
52 - //新的view
53 - private Button btLogin;
54 - private Button btEnterGame;
55 - private Button btPay;
56 - private Button btLogout;
57 - private Button btSubRoleInfo;
58 - private Button btOpenChannel;
59 - private Button btSwitchAcc;
60 - private Button btOpenBbs;
61 - private Button btQueryProducts;
62 - private Button pb_bt_verifyname;
63 47
64 - private Bundle saveBundle;
65 - //提示LOG
66 - private TextView txMsg,txSdkMsg;
67 - private Activity mContext;
68 - private PoolPayListener mPoolPayListener = new PoolPayListener() {
69 48
49 + private PoolPayListener mPoolPayListener = new PoolPayListener() {
70 @Override 50 @Override
71 - public void onPaySuccess(String paramCustom) {//支付回调以服务端通知为准 51 + public void onPaySuccess(String paramCustom) {
72 - // TODO Auto-generated method stub 52 + //支付回调以服务端通知为准
53 + upTx("支付成功回调:" + paramCustom);
54 +
55 +
73 //[{"orderId":"20180116114151740535D825","state":0,"productId":"1","productName":"金币","amout":0}] 56 //[{"orderId":"20180116114151740535D825","state":0,"productId":"1","productName":"金币","amout":0}]
74 if(paramCustom == null || paramCustom.length() <= 0) 57 if(paramCustom == null || paramCustom.length() <= 0)
75 { 58 {
...@@ -94,22 +77,19 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -94,22 +77,19 @@ public class AppActivity extends Activity implements OnClickListener {
94 // TODO Auto-generated catch block 77 // TODO Auto-generated catch block
95 e.printStackTrace(); 78 e.printStackTrace();
96 } 79 }
97 - upTx("支付成功回调:" + paramCustom);
98 } 80 }
99 81
100 @Override 82 @Override
101 public void onPayFailed(String paramCustom, String errorMsg) { 83 public void onPayFailed(String paramCustom, String errorMsg) {
102 - // TODO Auto-generated method stub 84 + System.out.println("支付失败回调:" + paramCustom + "; errorMsg:"+ errorMsg);
103 - System.out.println("支付失败回调:" + paramCustom + "; errorMsg:" 85 + upTx("支付失败回调:" + paramCustom + "; errorMsg:" + errorMsg);
104 - + errorMsg);
105 - upTx("支付失败回调:" + paramCustom + "; errorMsg:"
106 - + errorMsg);
107 } 86 }
108 }; 87 };
109 88
110 @Override 89 @Override
111 public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { 90 public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
112 super.onRequestPermissionsResult(requestCode, permissions, grantResults); 91 super.onRequestPermissionsResult(requestCode, permissions, grantResults);
92 +
113 PoolSdkHelper.onRequestPermissionsResult(requestCode, permissions, grantResults); 93 PoolSdkHelper.onRequestPermissionsResult(requestCode, permissions, grantResults);
114 init(saveBundle); 94 init(saveBundle);
115 } 95 }
...@@ -118,17 +98,17 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -118,17 +98,17 @@ public class AppActivity extends Activity implements OnClickListener {
118 protected void onCreate(Bundle savedInstanceState) { 98 protected void onCreate(Bundle savedInstanceState) {
119 super.onCreate(savedInstanceState); 99 super.onCreate(savedInstanceState);
120 saveBundle = savedInstanceState; 100 saveBundle = savedInstanceState;
121 - int layoutId = getResources().getIdentifier(
122 - "public_sdk_self_test", "layout", getPackageName());
123 - setContentView(layoutId);
124 - mContext = this;
125 initView(); 101 initView();
102 +
103 +
126 PoolSdkLog.setIsShowLog(true); 104 PoolSdkLog.setIsShowLog(true);
127 PoolSdkConfig.readPoolSdkConfigData(this); 105 PoolSdkConfig.readPoolSdkConfigData(this);
128 106
107 + //国内游戏接入如果需要使用平台统计等功能,需要获取手机识别号和读写SD卡权限再调用初始化接口
129 if(getApplicationInfo().targetSdkVersion >= 23 && Build.VERSION.SDK_INT >= 23){ 108 if(getApplicationInfo().targetSdkVersion >= 23 && Build.VERSION.SDK_INT >= 23){
130 requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE,Manifest.permission.WRITE_EXTERNAL_STORAGE},1); 109 requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE,Manifest.permission.WRITE_EXTERNAL_STORAGE},1);
131 - }else {//不需要权限直接调用init 110 + }else {
111 + //不需要权限直接调用init
132 this.init(savedInstanceState); 112 this.init(savedInstanceState);
133 } 113 }
134 114
...@@ -140,16 +120,18 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -140,16 +120,18 @@ public class AppActivity extends Activity implements OnClickListener {
140 } 120 }
141 121
142 private void init( Bundle savedInstanceState){ 122 private void init( Bundle savedInstanceState){
123 +
124 + //PoolSDK初始化接口
143 PoolSdkHelper.init(this, new PoolSDKCallBackListener() { 125 PoolSdkHelper.init(this, new PoolSDKCallBackListener() {
144 @Override 126 @Override
145 public void poolSdkCallBack(int code, String msg) { 127 public void poolSdkCallBack(int code, String msg) {
146 PoolSdkLog.logInfo("poolSdkCallBack:code:" + code + ",msg:" + msg); 128 PoolSdkLog.logInfo("poolSdkCallBack:code:" + code + ",msg:" + msg);
147 upTx("poolSdkCallBack:code:" + code + ",msg:" + msg); 129 upTx("poolSdkCallBack:code:" + code + ",msg:" + msg);
148 switch (code) { 130 switch (code) {
149 - case PoolSDKCode.POOLSDK_INIT_SUCCESS:// 初始化成功 131 + case PoolSDKCode.POOLSDK_INIT_SUCCESS:
132 + // 初始化成功,游戏可以调用登录接口
150 PoolSdkLog.logInfo("游戏中收到初始化成功回调"); 133 PoolSdkLog.logInfo("游戏中收到初始化成功回调");
151 new Handler().postDelayed(new Runnable() { 134 new Handler().postDelayed(new Runnable() {
152 -
153 @Override 135 @Override
154 public void run() { 136 public void run() {
155 login(); 137 login();
...@@ -157,8 +139,10 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -157,8 +139,10 @@ public class AppActivity extends Activity implements OnClickListener {
157 }, 1000); 139 }, 1000);
158 break; 140 break;
159 case PoolSDKCode.POOLSDK_INIT_FAIL: 141 case PoolSDKCode.POOLSDK_INIT_FAIL:
142 + //初始化失败,游戏可以尝试重新调用初始化接口或退出游戏等操作
160 break; 143 break;
161 case PoolSDKCode.POOLSDK_QUERY_WITH_PRODUCTS: 144 case PoolSDKCode.POOLSDK_QUERY_WITH_PRODUCTS:
145 + //该接口为查询谷歌支付当地货币价格接口,国内游戏无需接入
162 //msg:为查询的结果值 146 //msg:为查询的结果值
163 /** 147 /**
164 * {//查询商品信息返回数据 148 * {//查询商品信息返回数据
...@@ -173,7 +157,8 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -173,7 +157,8 @@ public class AppActivity extends Activity implements OnClickListener {
173 * } 157 * }
174 */ 158 */
175 break; 159 break;
176 - case PoolSDKCode.POOLSDK_EXTENDS_CODE1://实名认证成功才有回调 160 + case PoolSDKCode.POOLSDK_EXTENDS_CODE1:
161 + //实名认证成功才有回调
177 //msg为生日 162 //msg为生日
178 break; 163 break;
179 164
...@@ -195,18 +180,22 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -195,18 +180,22 @@ public class AppActivity extends Activity implements OnClickListener {
195 } 180 }
196 } 181 }
197 },savedInstanceState);// init(this);// this为游戏的activity对象 182 },savedInstanceState);// init(this);// this为游戏的activity对象
183 +
184 + //设置支付回调接口监听
198 PoolSdkHelper.setPayListener(mPoolPayListener); 185 PoolSdkHelper.setPayListener(mPoolPayListener);
186 +
187 + //设置注销账号接口监听
199 PoolSdkHelper.setLogoutCallback(new PoolLogoutListener() { 188 PoolSdkHelper.setLogoutCallback(new PoolLogoutListener() {
200 @Override 189 @Override
201 public void onLogoutSuccess() { 190 public void onLogoutSuccess() {
202 // TODO: 此处处理SDK登出的逻辑 191 // TODO: 此处处理SDK登出的逻辑
203 - PoolSdkLog.logInfo("游戏中收到logoutSuccess回调"); 192 + PoolSdkLog.logInfo("游戏中收到SDK logoutSuccess回调");
193 + //游戏退出当前账号 回到初始界面 重新调起登录操作
204 login(); 194 login();
205 } 195 }
206 }); 196 });
207 - PoolSdkHelper.trackEvent(getApplicationContext(), PoolEventType.POOL_RES_LOADED, null);
208 197
209 - //开启公共SDK的防沉迷功能 198 + //开启公共SDK的防沉迷功能,国内游戏按需使用,海外游戏无需接入
210 PoolSdkAntiAddiction.isUseAntiAddiction = true; 199 PoolSdkAntiAddiction.isUseAntiAddiction = true;
211 //PoolSdkAntiAddiction.isUseAntiAddictionToast = true;//防沉迷相关toast提示(默认关闭) 200 //PoolSdkAntiAddiction.isUseAntiAddictionToast = true;//防沉迷相关toast提示(默认关闭)
212 } 201 }
...@@ -289,11 +278,15 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -289,11 +278,15 @@ public class AppActivity extends Activity implements OnClickListener {
289 PoolSdkHelper.onWindowAttributesChanged(params); 278 PoolSdkHelper.onWindowAttributesChanged(params);
290 } 279 }
291 280
281 + //返回键退出游戏时 显示退出界面
292 @Override 282 @Override
293 public boolean dispatchKeyEvent(KeyEvent pKeyEvent) { 283 public boolean dispatchKeyEvent(KeyEvent pKeyEvent) {
294 if (pKeyEvent.getKeyCode() == KeyEvent.KEYCODE_BACK 284 if (pKeyEvent.getKeyCode() == KeyEvent.KEYCODE_BACK
295 && pKeyEvent.getAction() == KeyEvent.ACTION_DOWN) { 285 && pKeyEvent.getAction() == KeyEvent.ACTION_DOWN) {
286 +
287 + //判断当前SDK是否自带退出界面
296 if (PoolSdkHelper.hasExitDialog()) { 288 if (PoolSdkHelper.hasExitDialog()) {
289 + //显示SDK的退出界面
297 PoolSdkHelper.showExitDialog(new PoolExitDialogListener() { 290 PoolSdkHelper.showExitDialog(new PoolExitDialogListener() {
298 @Override 291 @Override
299 public void onDialogResult(int code, String msg) { 292 public void onDialogResult(int code, String msg) {
...@@ -314,7 +307,7 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -314,7 +307,7 @@ public class AppActivity extends Activity implements OnClickListener {
314 } 307 }
315 }); 308 });
316 } else { 309 } else {
317 - // TODO: 调用游戏的退出界面 310 + //SDK无退出界面,调用游戏自己的退出界面
318 showGameExitTips(); 311 showGameExitTips();
319 } 312 }
320 return false; 313 return false;
...@@ -322,66 +315,6 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -322,66 +315,6 @@ public class AppActivity extends Activity implements OnClickListener {
322 return super.dispatchKeyEvent(pKeyEvent); 315 return super.dispatchKeyEvent(pKeyEvent);
323 } 316 }
324 317
325 - private void showGameExitTips() {
326 - AlertDialog.Builder dialog = new AlertDialog.Builder(this);
327 - int ic_dialog_alert_id = getRedIdByName("ic_dialog_alert", "drawable");
328 - dialog.setIcon(ic_dialog_alert_id);
329 - dialog.setTitle("提示");
330 - dialog.setMessage("是否退出游戏?");
331 - dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
332 - @Override
333 - public void onClick(DialogInterface dialog, int which) {
334 - PoolSdkHelper.exitGame(new PoolExitListener() {
335 - @Override
336 - public void onExitGame() {
337 - finish();
338 - }
339 - });
340 - }
341 - });
342 - dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
343 - @Override
344 - public void onClick(DialogInterface dialog, int which) {
345 - dialog.dismiss();
346 - }
347 - });
348 - dialog.show();
349 - }
350 -
351 - private int getRedIdByName(String resName, String resType) {
352 - return getResources().getIdentifier(resName, resType, getPackageName());
353 - }
354 -
355 - private void initView(){
356 - btLogin = (Button) findViewById(getRedIdByName("pb_bt_login", "id"));
357 - btEnterGame = (Button) findViewById(getRedIdByName("pb_bt_entergame", "id"));
358 - btPay = (Button) findViewById(getRedIdByName("pb_bt_pay", "id"));
359 - btLogout = (Button) findViewById(getRedIdByName("pb_bt_logout", "id"));
360 - btSubRoleInfo = (Button) findViewById(getRedIdByName("pb_bt_subrole", "id"));
361 - btOpenChannel = (Button) findViewById(getRedIdByName("pb_bt_openchannel", "id"));
362 - btSwitchAcc = (Button) findViewById(getRedIdByName("pb_bt_switchacc", "id"));
363 - btOpenBbs = (Button) findViewById(getRedIdByName("pb_bt_openbbs", "id"));
364 - btQueryProducts = findViewById(getRedIdByName("pool_query_products_id","id"));
365 - pb_bt_verifyname = (Button) findViewById(getRedIdByName("pb_bt_verifyname", "id"));
366 -
367 - txMsg = (TextView) findViewById(getRedIdByName("tx_msg", "id"));
368 - txSdkMsg = (TextView) findViewById(getRedIdByName("tx_sdk_msg", "id"));
369 -
370 - btLogin.setOnClickListener(this);
371 - btEnterGame.setOnClickListener(this);
372 - btPay.setOnClickListener(this);
373 - btLogout.setOnClickListener(this);
374 - btSubRoleInfo.setOnClickListener(this);
375 - btOpenChannel.setOnClickListener(this);
376 - btSwitchAcc.setOnClickListener(this);
377 - btOpenBbs.setOnClickListener(this);
378 - btQueryProducts.setOnClickListener(this);
379 - pb_bt_verifyname.setOnClickListener(this);
380 - }
381 -
382 - public void yaOnClick(View view) {
383 - }
384 -
385 @Override 318 @Override
386 public void onClick(View view) { 319 public void onClick(View view) {
387 //新view 320 //新view
...@@ -393,7 +326,7 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -393,7 +326,7 @@ public class AppActivity extends Activity implements OnClickListener {
393 }else if (view == btPay) { 326 }else if (view == btPay) {
394 pay(); 327 pay();
395 }else if (view == btLogout) { 328 }else if (view == btLogout) {
396 - logout(); 329 + //logout();
397 }else if (view == btSubRoleInfo) { 330 }else if (view == btSubRoleInfo) {
398 //角色升级 331 //角色升级
399 submitRoleData(11,PoolRoleInfo.Type_RoleUpgrade); 332 submitRoleData(11,PoolRoleInfo.Type_RoleUpgrade);
...@@ -407,7 +340,8 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -407,7 +340,8 @@ public class AppActivity extends Activity implements OnClickListener {
407 queryProducts(); 340 queryProducts();
408 }else if (view == pb_bt_verifyname){ 341 }else if (view == pb_bt_verifyname){
409 //Toast.makeText(this,PoolSdkHelper.verifyRealName(this),Toast.LENGTH_SHORT).show(); 342 //Toast.makeText(this,PoolSdkHelper.verifyRealName(this),Toast.LENGTH_SHORT).show();
410 - //渠道无实名认证功能时,可以调用公共SDK的实名认证接口,在登录成功后才可以调用 343 +
344 + //渠道无实名认证功能时,可以调用公共SDK的实名认证接口,在登录成功后才可以调用,海外游戏无需接入,国内游戏按需使用
411 PoolSdkHelper.setUserIDInfo("尚福乐", "211322198509260317", new PoolSdkAntiAddictionUserInfoListener() { 345 PoolSdkHelper.setUserIDInfo("尚福乐", "211322198509260317", new PoolSdkAntiAddictionUserInfoListener() {
412 @Override 346 @Override
413 public void onSuccess(int totalGameTime, int totalPayMoney, String ymd) { 347 public void onSuccess(int totalGameTime, int totalPayMoney, String ymd) {
...@@ -420,6 +354,11 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -420,6 +354,11 @@ public class AppActivity extends Activity implements OnClickListener {
420 } 354 }
421 355
422 @Override 356 @Override
357 + public void onResult(String s) {
358 +
359 + }
360 +
361 +
423 public void onResutl(String result) { 362 public void onResutl(String result) {
424 PoolSdkLog.logError("游戏获取实名结果:"+result); 363 PoolSdkLog.logError("游戏获取实名结果:"+result);
425 } 364 }
...@@ -428,6 +367,7 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -428,6 +367,7 @@ public class AppActivity extends Activity implements OnClickListener {
428 } 367 }
429 368
430 private void trackEvent(){ 369 private void trackEvent(){
370 + //使用AF和FB 等统计功能 需要调用该统计接口 value 具体参考文档
431 Map<String,Object> valueMap = new HashMap<>(); 371 Map<String,Object> valueMap = new HashMap<>();
432 valueMap.put(PoolEventParameterName.POOL_ORDER_ID,System.currentTimeMillis()+"");//订单号 372 valueMap.put(PoolEventParameterName.POOL_ORDER_ID,System.currentTimeMillis()+"");//订单号
433 valueMap.put(PoolEventParameterName.POOL_CURRENCY,"USD");//货币类型 USD:美元 CNY:人民币 373 valueMap.put(PoolEventParameterName.POOL_CURRENCY,"USD");//货币类型 USD:美元 CNY:人民币
...@@ -435,34 +375,13 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -435,34 +375,13 @@ public class AppActivity extends Activity implements OnClickListener {
435 PoolSdkHelper.trackEvent(getApplicationContext(), PoolEventType.POOL_RES_LOADED,valueMap); 375 PoolSdkHelper.trackEvent(getApplicationContext(), PoolEventType.POOL_RES_LOADED,valueMap);
436 } 376 }
437 377
438 - private void logout(){
439 -// if(PoolSdkHelper.hasLogout()){
440 -// PoolSdkHelper.logout(this);//结果回调通知到PoolLogoutListener
441 -// }
442 - }
443 -
444 - private void upTx(final String msg){
445 - mContext.runOnUiThread(new Runnable() {
446 -
447 - @Override
448 - public void run() {
449 - txMsg.setText(msg);
450 - }
451 - });
452 -// new Handler().post(new Runnable() {
453 -//
454 -// @Override
455 -// public void run() {
456 -// txMsg.setText(msg);
457 -// }
458 -// });
459 - }
460 -
461 private void login() { 378 private void login() {
462 PoolSdkLog.logError("调用login"); 379 PoolSdkLog.logError("调用login");
380 + //调用Poolsdk 登录接口
463 PoolSdkHelper.login("登录自定义字段", new PoolLoginListener() { 381 PoolSdkHelper.login("登录自定义字段", new PoolLoginListener() {
464 @Override 382 @Override
465 public void onLoginSuccess(PoolLoginInfo poolLoginInfo) { 383 public void onLoginSuccess(PoolLoginInfo poolLoginInfo) {
384 +
466 final String userType = poolLoginInfo.getUserType(); 385 final String userType = poolLoginInfo.getUserType();
467 final String timestamp = poolLoginInfo.getTimestamp(); 386 final String timestamp = poolLoginInfo.getTimestamp();
468 final String serverSign = poolLoginInfo.getServerSign(); 387 final String serverSign = poolLoginInfo.getServerSign();
...@@ -484,11 +403,13 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -484,11 +403,13 @@ public class AppActivity extends Activity implements OnClickListener {
484 } 403 }
485 }); 404 });
486 405
487 - 406 + //单机游戏无服务端支付结果查询接口,网游无需接入
488 PoolPayOrderConfirmHandler.getInstance(this, 2000, 1000).startOrderConfirmOp(mPoolPayListener); 407 PoolPayOrderConfirmHandler.getInstance(this, 2000, 1000).startOrderConfirmOp(mPoolPayListener);
489 } 408 }
490 409
491 private void pay() { 410 private void pay() {
411 +
412 + //Poolsdk 支付接口
492 final PoolPayInfo poolPayInfo = new PoolPayInfo(); 413 final PoolPayInfo poolPayInfo = new PoolPayInfo();
493 414
494 /******************************************** 415 /********************************************
...@@ -545,10 +466,22 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -545,10 +466,22 @@ public class AppActivity extends Activity implements OnClickListener {
545 poolRoleInfo.setVipLevel("10");//vip等级 466 poolRoleInfo.setVipLevel("10");//vip等级
546 poolRoleInfo.setDiamond("1000");//余额 467 poolRoleInfo.setDiamond("1000");//余额
547 poolRoleInfo.setMoneyType("金币");//商品单位 468 poolRoleInfo.setMoneyType("金币");//商品单位
548 - 469 + poolRoleInfo.setPower(10);//战力
549 - poolRoleInfo.setCallType(callType); 470 + poolRoleInfo.setPartyId("10");//工会id
550 - // poolRoleInfo.setCallType(PoolRoleInfo.Type_CreateRole); 471 + poolRoleInfo.setProfessionId("10");//职业id
551 - // poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade); 472 + poolRoleInfo.setProfessionName("无");//职业名称
473 + poolRoleInfo.setReborn("0");//角色转生等级
474 + poolRoleInfo.setCheckPointId("1");//关卡id
475 + poolRoleInfo.setCheckPointName("关卡名");//关卡名
476 + poolRoleInfo.setCallType(PoolRoleInfo.Type_EnterGame);//进入游戏(第一次创建角色后需再调用一次进入游戏)
477 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_CreateRole);//创建角色
478 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade);//角色升级
479 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_SelectServer);//选择服务器
480 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_ExitServer);//退出服务器
481 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_Change_RoleName);//改名
482 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_SelectRole);//选角
483 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_CheckPoint_Start);//关卡开始
484 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_CheckPoint_End);//关卡结束
552 485
553 PoolSdkHelper.submitRoleData(poolRoleInfo, new PoolRoleListener() { 486 PoolSdkHelper.submitRoleData(poolRoleInfo, new PoolRoleListener() {
554 @Override 487 @Override
...@@ -578,7 +511,8 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -578,7 +511,8 @@ public class AppActivity extends Activity implements OnClickListener {
578 PoolSdkHelper.logout(this);//注销成功后结果回调通知到PoolLogoutListener中 511 PoolSdkHelper.logout(this);//注销成功后结果回调通知到PoolLogoutListener中
579 }else if(PoolSdkHelper.hasSwitchAccount()){ 512 }else if(PoolSdkHelper.hasSwitchAccount()){
580 PoolSdkHelper.switchAccount(this);//切换成功后回回调结果到登录成功通知中(与登录通知数据一样) 513 PoolSdkHelper.switchAccount(this);//切换成功后回回调结果到登录成功通知中(与登录通知数据一样)
581 - }else{//渠道不存在注销和切换账号接口,游戏可自定处理逻辑 514 + }else{
515 + //渠道不存在注销和切换账号接口,游戏可自定处理逻辑,退出当前角色,回到初始界面重新调用登录接口
582 } 516 }
583 } 517 }
584 518
...@@ -594,7 +528,7 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -594,7 +528,7 @@ public class AppActivity extends Activity implements OnClickListener {
594 } 528 }
595 529
596 /** 530 /**
597 - * 商品查询接口 531 + * 商品查询接口,用于谷歌支付,在商品列表中显示当地货币价格,回到在初始化接口中
598 */ 532 */
599 private void queryProducts(){ 533 private void queryProducts(){
600 PoolSdkLog.logError(PoolSdkHelper.hasFunction("hasQueryWithProducts") + "SSS"); 534 PoolSdkLog.logError(PoolSdkHelper.hasFunction("hasQueryWithProducts") + "SSS");
...@@ -604,4 +538,106 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -604,4 +538,106 @@ public class AppActivity extends Activity implements OnClickListener {
604 PoolSdkHelper.callFunc("queryWithProducts",productMap); 538 PoolSdkHelper.callFunc("queryWithProducts",productMap);
605 } 539 }
606 540
541 +
542 +
543 + //---------------------------- SDK 相关 ↑ ------------------------------
544 +
545 + //新的view
546 + private Button btLogin;
547 + private Button btEnterGame;
548 + private Button btPay;
549 + private Button btLogout;
550 + private Button btSubRoleInfo;
551 + private Button btOpenChannel;
552 + private Button btSwitchAcc;
553 + private Button btOpenBbs;
554 + private Button btQueryProducts;
555 + private Button pb_bt_verifyname;
556 +
557 + private Bundle saveBundle;
558 + //提示LOG
559 + private TextView txMsg,txSdkMsg;
560 + private Activity mContext;
561 +
562 +
563 + private void showGameExitTips() {
564 + AlertDialog.Builder dialog = new AlertDialog.Builder(this);
565 + int ic_dialog_alert_id = getRedIdByName("ic_dialog_alert", "drawable");
566 + dialog.setIcon(ic_dialog_alert_id);
567 + dialog.setTitle("提示");
568 + dialog.setMessage("是否退出游戏?");
569 + dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
570 + @Override
571 + public void onClick(DialogInterface dialog, int which) {
572 + PoolSdkHelper.exitGame(new PoolExitListener() {
573 + @Override
574 + public void onExitGame() {
575 + finish();
576 + }
577 + });
578 + }
579 + });
580 + dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
581 + @Override
582 + public void onClick(DialogInterface dialog, int which) {
583 + dialog.dismiss();
584 + }
585 + });
586 + dialog.show();
587 + }
588 +
589 + private int getRedIdByName(String resName, String resType) {
590 + return getResources().getIdentifier(resName, resType, getPackageName());
591 + }
592 +
593 + private void initView(){
594 + int layoutId = getResources().getIdentifier("public_sdk_self_test", "layout", getPackageName());
595 + setContentView(layoutId);
596 + mContext = this;
597 +
598 + btLogin = (Button) findViewById(getRedIdByName("pb_bt_login", "id"));
599 + btEnterGame = (Button) findViewById(getRedIdByName("pb_bt_entergame", "id"));
600 + btPay = (Button) findViewById(getRedIdByName("pb_bt_pay", "id"));
601 + btLogout = (Button) findViewById(getRedIdByName("pb_bt_logout", "id"));
602 + btSubRoleInfo = (Button) findViewById(getRedIdByName("pb_bt_subrole", "id"));
603 + btOpenChannel = (Button) findViewById(getRedIdByName("pb_bt_openchannel", "id"));
604 + btSwitchAcc = (Button) findViewById(getRedIdByName("pb_bt_switchacc", "id"));
605 + btOpenBbs = (Button) findViewById(getRedIdByName("pb_bt_openbbs", "id"));
606 + btQueryProducts = findViewById(getRedIdByName("pool_query_products_id","id"));
607 + pb_bt_verifyname = (Button) findViewById(getRedIdByName("pb_bt_verifyname", "id"));
608 +
609 + txMsg = (TextView) findViewById(getRedIdByName("tx_msg", "id"));
610 + txSdkMsg = (TextView) findViewById(getRedIdByName("tx_sdk_msg", "id"));
611 +
612 + btLogin.setOnClickListener(this);
613 + btEnterGame.setOnClickListener(this);
614 + btPay.setOnClickListener(this);
615 + btLogout.setOnClickListener(this);
616 + btSubRoleInfo.setOnClickListener(this);
617 + btOpenChannel.setOnClickListener(this);
618 + btSwitchAcc.setOnClickListener(this);
619 + btOpenBbs.setOnClickListener(this);
620 + btQueryProducts.setOnClickListener(this);
621 + pb_bt_verifyname.setOnClickListener(this);
622 + }
623 +
624 + public void yaOnClick(View view) {
625 + }
626 +
627 + private void upTx(final String msg){
628 + mContext.runOnUiThread(new Runnable() {
629 +
630 + @Override
631 + public void run() {
632 + txMsg.setText(msg);
633 + }
634 + });
635 +// new Handler().post(new Runnable() {
636 +//
637 +// @Override
638 +// public void run() {
639 +// txMsg.setText(msg);
640 +// }
641 +// });
642 + }
607 } 643 }
......
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <resources> 2 <resources>
3 - 3 + <string name="app_name">PoolSDK_Demo</string>
4 - <string name="app_name">Demo_shenshou</string>
5 -
6 </resources> 4 </resources>
......
1 +# 公共SDK事件埋点接入文档 #
2 +
3 +## 接入必读
4 + 事件埋点接口分为三部分:埋点接口,事件类型,事件参数集合的key
5 +
6 +### 埋点接口 (PoolSdkHelper)
7 + 、、、java
8 + PoolSdkHelper.trackEvent(上下文, 事件类型, 事件参数集合);
9 + 、、、
10 +
11 +### 事件类型 (PoolEventType)
12 +
13 +| 事件类型名称 | 事件类型值(字符串) | 描述 | 需要传的事件参数(PoolEventParameterName) |
14 +|------------------|------------|---------------------|-------------------------|
15 +| POOL_RES_START | af_res_start | 开始加载资源 | 无 |
16 +| POOL_RES_LOADED | af_loading_completed | 资源加载完毕 | 无 |
17 +| POOL_REGISTER | af_registration | 注册 | POOL_REGISTRATION_METHOD |
18 +| POOL_ENTER_GAME | af_lead | 进入游戏 | 无 |
19 +| POOL_TUTORIAL_COMPLETION | af_complete_trial | 新手结束 | POOL_TUTORIAL_SUCCESS , POOL_TUTORIAL_CONTENT_ID , POOL_TUTORIAL_CONTENT |
20 +| POOL_FIRST_DAY_CHECKPOINT_TO_VALUE | af_speciallevel_2 | 副本关卡(创角首日达到的某个关卡 | POOL_CHECKPOINT_ID , POOL_CHECKPOINT_NAME |
21 +| POOL_ENTER_PARTY | af_join_guild | 进入公会 | POOL_GROUP_ID |
22 +| POOL_FIRST_DAY_UPDATE_TO_LEVEL1 | af_firstday_level | 首日更新到某个等级 | POOL_ROLE_LEVEL |
23 +| POOL_UPDATE_TO_LEVEL | af_level_achieve | 更新到某个等级 | POOL_ROLE_LEVEL ,POOL_CHARACTER,POOL_ACHIEVEMENT_ID,POOL_SCORE,POOL_ROLE_STATE |
24 +| POOL_CREATE_ORDER | af_initiate_checkout | 创建订单/点击任意计费点 | POOL_PRICE , POOL_PURCHASE_CONTENT_ID |
25 +| POOL_FIRST_RECHARGE | af_fisrt_purchase | 首冲 | POOL_PRICE , POOL_PURCHASE_CONTENT_ID |
26 +| POOL_PAY_SUCCESS | af_purchase | 支付成功 | POOL_PRICE , POOL_PURCHASE_CONTENT_ID , POOL_ORDER_ID , POOL_CURRENCY,POOL_PURCHASE_QUANTITY|
27 +| POOL_FIRST_DAY_RECHARGE_TO_VALUE | af_premium_product | 首日付费(创角首日达到的某个充值额度) | POOL_TOTAL_PAY_VALUE |
28 +| POOL_BUY_MOUTH_CARD | af_monthcard | 购买月卡 | 无 |
29 +| POOL_BIG_RECHARGE | af_greatvalue | 大额充值 | POOL_PRICE |
30 +| POOL_FIRST_PURCHASE_FUND | af_first_purchase_fund | 首次成长基金充值 | 无 |
31 +| POOL_VIP_LEVEL_TO_TARGET_LEVEL | af_vip_level_to_target_level | vip达到某个等级 | POOL_VIP_LEVEL |
32 +| POOL_BUY_ANNUAL_CARD | af_annual_card | 购买年卡 | 无 |
33 +| POOL_FRIENDS_NUM | af_friends_num | 知己数量 | POOL_FRIENDS_VALUE |
34 +| POOL_ATTENDANT | af_attendant | 妖精的数量 | POOL_ATTENDANT_VALUE |
35 +| POOL_MAIN_MISSION | af_main_mission | 已通过的主线任务 | POOL_MAIN_MISSION_NAME |
36 +| POOL_SIGN_IN | af_sign_in | 签到(一般是七天签到活动) | POOL_SIGN_IN_DAY |
37 +| POOL_START_TRIAL | af_start_trial | 开始新手 | 无 |
38 +| POOL_SPECIAL_LEVEL | af_special_level | 通关,通过xx章 | POOL_CHECKPOINT_ID , POOL_CHECKPOINT_NAME |
39 +| POOL_FUNDS | af_funds | 成功购买基金 | POOL_PURCHASE_CONTENT_ID,POOL_PRICE |
40 +| POOL_RETAINED | af_retention | 留存 | POOL_RETAINED_DAY |
41 +
42 +
43 +### 事件参数集合的key (PoolEventParameterName)
44 +
45 +| 事件参数名称 | 事件参数值(字符串) | 描述 |
46 +|-----------------------|--------------|------------------|
47 +| POOL_ORDER_ID | af_content_id | 订单号 |
48 +| POOL_PRICE | af_revenue | 价格 |
49 +| POOL_CURRENCY | af_currency | 货币类型 USD:美元 CNY:人民币 |
50 +| POOL_FRIENDS_VALUE | af_friends_value | 知己数量值 |
51 +| POOL_ATTENDANT_VALUE | af_attendant_value | 妖精数量 |
52 +| POOL_VIP_LEVEL | af_vip_level | vip等级 |
53 +| POOL_ROLE_LEVEL | af_role_level | 角色等级 |
54 +| POOL_ROLE_STATE | af_role_state | 角色等级对应的称号,境界 |
55 +| POOL_MAIN_MISSION_NAME | af_main_mission_name | 已通过的主线任务名称 |
56 +| POOL_SIGN_IN_DAY | af_sign_in_day | 签到(一般是指七天签到活动中的第几天签到,传数字) |
57 +| POOL_REGISTRATION_METHOD | af_registration_method | 注册方式 |
58 +| POOL_CHECKPOINT_ID | af_checkpoint_id | 关卡id |
59 +| POOL_CHECKPOINT_NAME | af_checkpoint_name | 关卡名 |
60 +| POOL_GROUP_ID | group_id | 加入群组时 |
61 +| POOL_PURCHASE_CONTENT_ID | af_content_id | 物品ID |
62 +| POOL_TOTAL_PAY_VALUE | af_total_pay_value | 总额度 |
63 +| POOL_TUTORIAL_SUCCESS | af_success | 用户是否完成了该教程 |
64 +| POOL_TUTORIAL_CONTENT_ID | af_content_id | 教程ID |
65 +| POOL_TUTORIAL_CONTENT | af_content | 该教程名称 |
66 +| POOL_CHARACTER | character | 角色名 |
67 +| POOL_ACHIEVEMENT_ID | achievement_id | 成就标志 |
68 +| POOL_SCORE | af_score | 用户成就分数 |
69 +| POOL_PURCHASE_QUANTITY | af_quantity | 购买的物品数量 |
70 +| POOL_RETAINED_DAY | af_retained_day | 留存的天数(传数字) |
71 +
72 +
73 +#### 接入实例
74 +
75 +*1.接入资源加载完毕的埋点
76 +
77 + 类型: POOL_RES_LOADED
78 +
79 + 需要传的参数集合: 无
80 +
81 + '''java
82 + PoolSdkHelper.trackEvent(上下文, PoolEventType.POOL_RES_LOADED,null);
83 + '''
84 +
85 +*2.接入支付成功时的埋点
86 +
87 + 类型:POOL_PAY_SUCCESS
88 +
89 + 需要传的参数集合:POOL_PRICE , POOL_PURCHASE_CONTENT_ID,POOL_CURRENCY,POOL_ORDER_ID
90 +
91 + '''java
92 + Map<String,Object> valueMap = new HashMap<>();
93 + valueMap.put(PoolEventParameterName.POOL_ORDER_ID,System.currentTimeMillis()+"");//订单号
94 + valueMap.put(PoolEventParameterName.POOL_CURRENCY,"USD");//货币类型 USD:美元 CNY:人民币
95 + valueMap.put(PoolEventParameterName.POOL_PRICE,6);//充值金额
96 + valueMap.put(PoolEventParameterName.POOL_PURCHASE_CONTENT_ID,"fdfdf");//物品id
97 + PoolSdkHelper.trackEvent(上下文,PoolEventType.POOL_PAY_SUCCESS,valueMap);
98 + '''
...@@ -145,9 +145,9 @@ public static void login(final String paramCustom,final PoolLoginListener poolLo ...@@ -145,9 +145,9 @@ public static void login(final String paramCustom,final PoolLoginListener poolLo
145 ``` 145 ```
146 146
147 #### 2.4、提交角色数据接口(必接) 147 #### 2.4、提交角色数据接口(必接)
148 -接口说明:游戏提交角色数据接口,该接口需要在以下3中情况下调用: 148 +接口说明:游戏提交角色数据接口,该接口需要在以下9中情况下调用:
149 149
150 -进入游戏主场景、创建角色、角色更新 150 +进入游戏主场景、创建角色、角色更新(vip等级升级也由此类型上报)、选择服务器、退出服务器、改名、选角、关卡开始、关卡结束
151 151
152 **(如果游戏创建角色时没有角色名,需要在用户创建角色名时调用多一次进入游戏统计,否则用户名无法正常统计,投放测试无法通过)** 152 **(如果游戏创建角色时没有角色名,需要在用户创建角色名时调用多一次进入游戏统计,否则用户名无法正常统计,投放测试无法通过)**
153 153
...@@ -166,7 +166,7 @@ public static void submitRoleData(final PoolRoleInfo poolRoleInfo,final PoolRole ...@@ -166,7 +166,7 @@ public static void submitRoleData(final PoolRoleInfo poolRoleInfo,final PoolRole
166 PoolRoleInfo 实体类字段说明(以下参数都为必传参数,如游戏没有的传 "无" 或者 "0") 166 PoolRoleInfo 实体类字段说明(以下参数都为必传参数,如游戏没有的传 "无" 或者 "0")
167 | 字段名 | 说明 | 167 | 字段名 | 说明 |
168 | -------------- | ---------------------------------------- | 168 | -------------- | ---------------------------------------- |
169 -| callType | 调用类型Type_EnterGame 登录游戏主 场景;Type_CreatRole 为创建角 色;Type_RoleUpgrade 为角色更新 | 169 +| callType | 调用类型Type_EnterGame 登录游戏主 场景;Type_CreatRole 为创建角 色;Type_RoleUpgrade 为角色更新(vip等级升级也由此类型上报) ;Type_SelectServer 为选择服务器 ;Type_ExitServer 为退出服务器 ;Type_Change_RoleName 为改名 ;Type_SelectRole 为选角 ;Type_CheckPoint_Start 为关卡开始 ;Type_CheckPoint_End 为关卡结束 ;|
170 | roleId | 角色 Id(请用数字) | 170 | roleId | 角色 Id(请用数字) |
171 | roleName | 角色名称 | 171 | roleName | 角色名称 |
172 | roleLevel | 角色等级 (请用数字) | 172 | roleLevel | 角色等级 (请用数字) |
...@@ -181,6 +181,13 @@ public static void submitRoleData(final PoolRoleInfo poolRoleInfo,final PoolRole ...@@ -181,6 +181,13 @@ public static void submitRoleData(final PoolRoleInfo poolRoleInfo,final PoolRole
181 | vipLevel | VIP等级 (请用数字,如无请传"0") | 181 | vipLevel | VIP等级 (请用数字,如无请传"0") |
182 | diamond | 余额 (请用数字,如无请传"0") | 182 | diamond | 余额 (请用数字,如无请传"0") |
183 | moneyType | 商品单位 (如 "钻石"、"金币"、"水晶"等) | 183 | moneyType | 商品单位 (如 "钻石"、"金币"、"水晶"等) |
184 +| power | 战力 (请用数字,如无请传"0") |
185 +| partyId | 工会id (请用数字,如无请传"0") |
186 +| professionId | 职业id (请用数字,如无请传"0") |
187 +| professionName | 职业名称 (没有的传 "无") |
188 +| reborn | 角色转生等级 (请用数字,如无请传"0") |
189 +| checkPointId | 关卡id (请用数字,如无请传"0") |
190 +| checkPointName | 关卡名 (没有的传 "无") |
184 191
185 192
186 ```java 193 ```java
...@@ -203,9 +210,22 @@ public static void submitRoleData(final PoolRoleInfo poolRoleInfo,final PoolRole ...@@ -203,9 +210,22 @@ public static void submitRoleData(final PoolRoleInfo poolRoleInfo,final PoolRole
203 poolRoleInfo.setVipLevel("10");//vip等级 210 poolRoleInfo.setVipLevel("10");//vip等级
204 poolRoleInfo.setDiamond("1000");//余额 211 poolRoleInfo.setDiamond("1000");//余额
205 poolRoleInfo.setMoneyType("金币");//商品单位 212 poolRoleInfo.setMoneyType("金币");//商品单位
213 + poolRoleInfo.setPower("10");//战力
214 + poolRoleInfo.setPartyId("10");//工会id
215 + poolRoleInfo.setProfessionId("10");//职业id
216 + poolRoleInfo.setProfessionName("无");//职业名称
217 + poolRoleInfo.setReborn("0");//角色转生等级
218 + poolRoleInfo.setCheckPointId("1");//关卡id
219 + poolRoleInfo.setCheckPointName("关卡名");//关卡名
206 poolRoleInfo.setCallType(PoolRoleInfo.Type_EnterGame);//进入游戏(第一次创建角色后需再调用一次进入游戏) 220 poolRoleInfo.setCallType(PoolRoleInfo.Type_EnterGame);//进入游戏(第一次创建角色后需再调用一次进入游戏)
207 // poolRoleInfo.setCallType(PoolRoleInfo.Type_CreateRole);//创建角色(如果游戏创建角色时没有角色名,需要在用户创建角色名时调用多一次进入游戏统计,否则用户名无法正常统计,投放测试无法通过) 221 // poolRoleInfo.setCallType(PoolRoleInfo.Type_CreateRole);//创建角色(如果游戏创建角色时没有角色名,需要在用户创建角色名时调用多一次进入游戏统计,否则用户名无法正常统计,投放测试无法通过)
208 - // poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade);//角色升级 222 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade);//角色升级(vip等级升级也由此类型上报)
223 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_SelectServer);//选择服务器
224 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_ExitServer);//退出服务器
225 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_Change_RoleName);//改名
226 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_SelectRole);//选角
227 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_CheckPoint_Start);//关卡开始
228 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_CheckPoint_End);//关卡结束
209 229
210 PoolSdkHelper.submitRoleData(poolRoleInfo, new PoolRoleListener() { 230 PoolSdkHelper.submitRoleData(poolRoleInfo, new PoolRoleListener() {
211 @Override 231 @Override
...@@ -657,6 +677,8 @@ PoolEventType类中对应的类型: ...@@ -657,6 +677,8 @@ PoolEventType类中对应的类型:
657 POOL_RETAINED_7_DAY 领取七天礼包的第七天奖励时 677 POOL_RETAINED_7_DAY 领取七天礼包的第七天奖励时
658 POOL_FIRST_PURCHASE_FUND 首次成长基金充值 678 POOL_FIRST_PURCHASE_FUND 首次成长基金充值
659 POOL_VIP_LEVEL_TO_TARGET_LEVEL vip达到某个等级 679 POOL_VIP_LEVEL_TO_TARGET_LEVEL vip达到某个等级
680 + POOL_BUY_ANNUAL_CARD 购买年卡
681 + POOL_FIRST_RECHARGE_9999 首次储值99.99美元
660 ``` 682 ```
661 683
662 684
...@@ -1313,10 +1335,22 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -1313,10 +1335,22 @@ public class AppActivity extends Activity implements OnClickListener {
1313 poolRoleInfo.setVipLevel("10");//vip等级 1335 poolRoleInfo.setVipLevel("10");//vip等级
1314 poolRoleInfo.setDiamond("1000");//余额 1336 poolRoleInfo.setDiamond("1000");//余额
1315 poolRoleInfo.setMoneyType("金币");//商品单位 1337 poolRoleInfo.setMoneyType("金币");//商品单位
1316 - 1338 + poolRoleInfo.setPower("10");//战力
1317 - poolRoleInfo.setCallType(callType); 1339 + poolRoleInfo.setPartyId("10");//工会id
1318 - // poolRoleInfo.setCallType(PoolRoleInfo.Type_CreateRole); 1340 + poolRoleInfo.setProfessionId("10");//职业id
1319 - // poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade); 1341 + poolRoleInfo.setProfessionName("无");//职业名称
1342 + poolRoleInfo.setReborn("0");//角色转生等级
1343 + poolRoleInfo.setCheckPointId("1");//关卡id
1344 + poolRoleInfo.setCheckPointName("关卡名");//关卡名
1345 + poolRoleInfo.setCallType(PoolRoleInfo.Type_EnterGame);//进入游戏(第一次创建角色后需再调用一次进入游戏)
1346 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_CreateRole);//创建角色
1347 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade);//角色升级
1348 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_SelectServer);//选择服务器
1349 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_ExitServer);//退出服务器
1350 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_Change_RoleName);//改名
1351 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_SelectRole);//选角
1352 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_CheckPoint_Start);//关卡开始
1353 + // poolRoleInfo.setCallType(PoolRoleInfo.Type_CheckPoint_End);//关卡结束
1320 1354
1321 PoolSdkHelper.submitRoleData(poolRoleInfo, new PoolRoleListener() { 1355 PoolSdkHelper.submitRoleData(poolRoleInfo, new PoolRoleListener() {
1322 @Override 1356 @Override
......
...@@ -50,9 +50,11 @@ ...@@ -50,9 +50,11 @@
50 | coupon | 优惠券接口 | 成功 1102(PoolSDKCode.POOLSDK_COUPON_SUCCESS) 失败 1202(PoolSDKCode.POOLSDK_COUPON_FAIL) | 50 | coupon | 优惠券接口 | 成功 1102(PoolSDKCode.POOLSDK_COUPON_SUCCESS) 失败 1202(PoolSDKCode.POOLSDK_COUPON_FAIL) |
51 51
52 调用事例: 52 调用事例:
53 - `Map<Object,Object> map = new HashMap();` 53 + ```java
54 - `map.put("优惠券码","");` 54 + Map<Object,Object> map = new HashMap();
55 - `PoolSdkHelper.callFunc("coupon",map);` 55 + map.put("优惠券码","");`
56 + PoolSdkHelper.callFunc("coupon",map);
57 + ```
56 58
57 #### 删除账号 59 #### 删除账号
58 *是否有删除账号接口 60 *是否有删除账号接口
...@@ -138,9 +140,33 @@ ...@@ -138,9 +140,33 @@
138 | showShareView | facebook截屏分享接口 | 成功 1104(PoolSDKCode.POOLSDK_SHARE_SUCCESS) 失败 1204(PoolSDKCode.POOLSDK_SHARE_FAIL) | 140 | showShareView | facebook截屏分享接口 | 成功 1104(PoolSDKCode.POOLSDK_SHARE_SUCCESS) 失败 1204(PoolSDKCode.POOLSDK_SHARE_FAIL) |
139 141
140 调用事例: 142 调用事例:
141 - `Map<Object,Object> map = new HashMap();` 143 + ```java
142 - `map.put("facebook_capture","");` 144 + Map<Object,Object> map = new HashMap();
143 - `PoolSdkHelper.callFunc("showShareView",map);` 145 + map.put("facebook_capture","");
146 + PoolSdkHelper.callFunc("showShareView",map);
147 + ```
148 +
149 +#### facebook链接分享
150 +*是否有facebook链接分享接口
151 +
152 +| 参数名称 | 功能说明 | 返回值说明 |
153 +|---------------------------|------------------------------|-----------------------|
154 +| hasFacebookLinkShare | 是否有facebook链接分享接口 | true:有,false:没有 |
155 +
156 + 调用事例: `boolean hasFacebookLinkShare = PoolSdkHelper.hasFunction("hasFacebookLinkShare");`
157 +
158 +*facebook链接分享功能接口
159 +
160 +| 参数名称 | 功能说明 | 返回值说明 |
161 +|-----------------|------------------------|-------------------------------------------------------------------------------------------|
162 +| showShareView | facebook链接分享接口 | 成功 1104(PoolSDKCode.POOLSDK_SHARE_SUCCESS) 失败 1204(PoolSDKCode.POOLSDK_SHARE_FAIL) |
163 +
164 + 调用事例:
165 + ```java
166 + Map<Object,Object> map = new HashMap();
167 + map.put("facebook_link","");
168 + PoolSdkHelper.callFunc("showShareView",map);
169 + ```
144 170
145 #### twitter分享 171 #### twitter分享
146 *是否有twitter分享接口 172 *是否有twitter分享接口
...@@ -158,9 +184,11 @@ ...@@ -158,9 +184,11 @@
158 | showShareView | twitter分享接口 | 成功 1104(PoolSDKCode.POOLSDK_SHARE_SUCCESS) 失败 1204(PoolSDKCode.POOLSDK_SHARE_FAIL) | 184 | showShareView | twitter分享接口 | 成功 1104(PoolSDKCode.POOLSDK_SHARE_SUCCESS) 失败 1204(PoolSDKCode.POOLSDK_SHARE_FAIL) |
159 185
160 调用事例: 186 调用事例:
161 - `Map<Object,Object> map = new HashMap();` 187 + ```java
162 - `map.put("twitter","");` 188 + Map<Object,Object> map = new HashMap();
163 - `PoolSdkHelper.callFunc("showShareView",map);` 189 + map.put("twitter","");
190 + PoolSdkHelper.callFunc("showShareView",map);
191 + ```
164 192
165 #### twitter截屏分享 193 #### twitter截屏分享
166 *是否有twitter截屏分享接口 194 *是否有twitter截屏分享接口
...@@ -178,9 +206,11 @@ ...@@ -178,9 +206,11 @@
178 | showShareView | twitter截屏分享接口 | 成功 1104(PoolSDKCode.POOLSDK_SHARE_SUCCESS) 失败 1204(PoolSDKCode.POOLSDK_SHARE_FAIL) | 206 | showShareView | twitter截屏分享接口 | 成功 1104(PoolSDKCode.POOLSDK_SHARE_SUCCESS) 失败 1204(PoolSDKCode.POOLSDK_SHARE_FAIL) |
179 207
180 调用事例: 208 调用事例:
181 - `Map<Object,Object> map = new HashMap();` 209 + ```java
182 - `map.put("twitter_capture","");` 210 + Map<Object,Object> map = new HashMap();
183 - `PoolSdkHelper.callFunc("showShareView",map);` 211 + map.put("twitter_capture","");
212 + PoolSdkHelper.callFunc("showShareView",map);
213 + ```
184 214
185 #### line截屏分享 215 #### line截屏分享
186 *是否有line截屏分享接口 216 *是否有line截屏分享接口
...@@ -202,6 +232,26 @@ ...@@ -202,6 +232,26 @@
202 `map.put("line_capture","");` 232 `map.put("line_capture","");`
203 `PoolSdkHelper.callFunc("showShareView",map);` 233 `PoolSdkHelper.callFunc("showShareView",map);`
204 234
235 +#### line链接分享
236 +*是否有line链接分享接口
237 +
238 +| 参数名称 | 功能说明 | 返回值说明 |
239 +|-----------------------|--------------------------|-----------------------|
240 +| hasLineLinkShare | 是否有line链接分享接口 | true:有,false:没有 |
241 +
242 + 调用事例: `boolean hasLineLinkShare = PoolSdkHelper.hasFunction("hasLineLinkShare");`
243 +
244 +*line截屏分享功能接口
245 +
246 +| 参数名称 | 功能说明 | 返回值说明 |
247 +|-----------------|--------------------|-------------------------------------------------------------------------------------------|
248 +| showShareView | line链接分享接口 | 成功 1104(PoolSDKCode.POOLSDK_SHARE_SUCCESS) 失败 1204(PoolSDKCode.POOLSDK_SHARE_FAIL) |
249 +
250 + 调用事例:
251 + `Map<Object,Object> map = new HashMap();`
252 + `map.put("line_link","");`
253 + `PoolSdkHelper.callFunc("showShareView",map);`
254 +
205 #### instagram截屏分享 255 #### instagram截屏分享
206 *是否有instagram截屏分享接口 256 *是否有instagram截屏分享接口
207 257
...@@ -456,3 +506,141 @@ ...@@ -456,3 +506,141 @@
456 `map.put("ad","");` 506 `map.put("ad","");`
457 `PoolSdkHelper.callFunc("setPushDisable",map);` 507 `PoolSdkHelper.callFunc("setPushDisable",map);`
458 508
509 +#### AppsFlyer邀请
510 +*是否有AppsFlyer邀请接口
511 +
512 +| 参数名称 | 功能说明 | 返回值说明 |
513 +|-------------|--------------------|-----------------------|
514 +| hasAFInviteLink | 是否有AppsFlyer邀请接口 | true:有,false:没有 |
515 +
516 + 调用事例: `boolean hasAFInviteLink = PoolSdkHelper.hasFunction("hasAFInviteLink");`
517 +
518 +*AppsFlyer邀请链接生成接口功能接口
519 +
520 +| 参数名称 | 功能说明 | 返回值说明 |
521 +|-------------|-----------|---------------------------------------------------------------------------------------------|
522 +| createAFInviteLink | AppsFlyer邀请链接生成接口 | 无 |
523 +
524 + 调用事例:
525 + ```java
526 + PoolSdkHelper.callFunc("createAFInviteLink",null);
527 + ```
528 +*AppsFlyer邀请链接发放奖励接口
529 +
530 +| 参数名称 | 功能说明 | 返回值说明 |
531 +|-------------|-----------|---------------------------------------------------------------------------------------------|
532 +| afInviteRewards | AppsFlyer邀请链接发放奖励接口 | 无 |
533 +
534 + 调用事例:
535 + ```java
536 + PoolSdkHelper.callFunc("afInviteRewards",null);
537 + ```
538 +
539 +### 区域地址功能
540 +*获取区域地址接口
541 +
542 +| 参数名称 | 功能说明 | 返回值说明 |
543 +|-------------|-----------|---------------------------------------------------------------------------------------------|
544 +| getGameAreaUrl | 获取区域地址 | 返回区域地址 |
545 +
546 + 调用事例:
547 + ```java
548 + String gameAreaUrl = PoolSdkHelper.callFunc("getGameAreaUrl",null)
549 +
550 +*区域地址回调监听
551 +
552 +```java
553 + PoolSdkHelper.init(this, new PoolSDKCallBackListener() {
554 + @Override
555 + public void poolSdkCallBack(int code, String msg) {
556 + // TODO Auto-generated method stub
557 + switch (code) {
558 + case 1301://区域地址回调,游戏收到此回调重新刷新加载
559 + //msg为区域地址值
560 + break;
561 + }
562 + }
563 + });
564 +
565 +```
566 +
567 +### 广告接口
568 +| 参数名称 | 功能说明 | 返回值说明 |
569 +|-------------|-----------|---------------------------------------------------------------------------------------------|
570 +| adShow | 广告 | 无 |
571 +| paramMap | 广告参数 | 无 |
572 +
573 +- paramMap字段说明
574 +
575 +| 参数名称 | 参数说明 |
576 +|-------------|-----------|
577 +| activity | Activity上下文 |
578 +| viewGroup | 当前页面的layout布局 |
579 +| type | 广告类型 1:激励视频 2:banner 3:开屏 4:插屏 |
580 +
581 + 调用事例:
582 + Map<Object, Object> paramMap = new HashMap<>();
583 + paramMap.put("activity",AppActivity.this);
584 + paramMap.put("viewGroup",layout);
585 + paramMap.put("type","1");
586 + PoolSdkHelper.callFunc("adShow",paramMap);
587 +
588 +
589 +### 广告结果回调(初始化init中接口回调)
590 +
591 + 调用事例:
592 + PoolSdkHelper.init(this, new PoolSDKCallBackListener() {
593 + @Override
594 + public void poolSdkCallBack(int code, String msg) {
595 + // TODO Auto-generated method stub
596 + switch (code) {
597 + case 1401://激励视频观看完成关闭
598 + break;
599 + case 1402://激励视频未看完成关闭
600 + break;
601 + }
602 + }
603 + });
604 +
605 +### 分享接口
606 +| 参数名称 | 功能说明 | 返回值说明 |
607 +|-------------|-----------|---------------------------------------------------------------------------------------------|
608 +| commonShare | 分享 | 无 |
609 +| paramMap | 广告参数 | 无 |
610 +
611 +- paramMap字段说明
612 +
613 +| 参数名称 | 参数说明 |
614 +|-------------|-----------|
615 +| activity | Activity上下文 |
616 +| type | 分享类型 1:纯文本 2:图片 3:文本+图片 4:文本+链接 |
617 +| title | 标题 |
618 +| content | 分享文本内容 |
619 +| pic_url | 图片地址 |
620 +| pic_data | 图片数据 |
621 +| link | 分享链接 |
622 +
623 +
624 + 调用事例:
625 + Map<Object, Object> paramMap = new HashMap<>();
626 + paramMap.put("activity",AppActivity.this);
627 + paramMap.put("content","这是一段文本");
628 + paramMap.put("type","1");
629 + PoolSdkHelper.callFunc("commonShare",paramMap);
630 +
631 +
632 +### 分享结果回调(初始化init中接口回调)
633 +
634 + 调用事例:
635 + PoolSdkHelper.init(this, new PoolSDKCallBackListener() {
636 + @Override
637 + public void poolSdkCallBack(int code, String msg) {
638 + // TODO Auto-generated method stub
639 + switch (code) {
640 + case 1403://分享成功code
641 + break;
642 + case 1404://分享失败code
643 + break;
644 + }
645 + }
646 + });
...\ No newline at end of file ...\ No newline at end of file
......
No preview for this file type
No preview for this file type