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