Showing
16 changed files
with
584 additions
and
208 deletions
| ... | @@ -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 | ... | ... |
demo/.idea/compiler.xml
0 → 100644
| ... | @@ -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> | ... | ... |
demo/.idea/jarRepositories.xml
0 → 100644
| 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 | } | ... | ... |
demo/app/libs/PoolSdk_V2_0902.jar
deleted
100644 → 0
No preview for this file type
demo/app/libs/PoolSdk_V2_20210223.jar
0 → 100644
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 | } | ... | ... |
doc/公共SDK事件埋点接入文档.md
0 → 100644
| 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 | ... | ... |
libs/PoolSdk_V2_0902.jar
deleted
100644 → 0
No preview for this file type
libs/PoolSdk_V2_20210223.jar
0 → 100644
No preview for this file type
-
Please register or login to post a comment