lizhihui

update

...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
7 <uses-sdk 7 <uses-sdk
8 android:minSdkVersion="14" 8 android:minSdkVersion="14"
9 android:targetSdkVersion="19" /> 9 android:targetSdkVersion="19" />
10 -<!-- P7725 PERMISSION START. --> 10 + <!-- P7725 PERMISSION START. -->
11 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 11 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
12 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 12 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
13 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 13 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
...@@ -42,8 +42,7 @@ ...@@ -42,8 +42,7 @@
42 android:label="@string/permlab_downloadCompletedIntent" 42 android:label="@string/permlab_downloadCompletedIntent"
43 android:protectionLevel="normal" /> 43 android:protectionLevel="normal" />
44 <!-- P7725 PERMISSION END. --> 44 <!-- P7725 PERMISSION END. -->
45 - 45 +
46 -
47 <application 46 <application
48 android:allowBackup="true" 47 android:allowBackup="true"
49 android:icon="@drawable/icon" 48 android:icon="@drawable/icon"
...@@ -58,9 +57,16 @@ ...@@ -58,9 +57,16 @@
58 <category android:name="android.intent.category.LAUNCHER" /> 57 <category android:name="android.intent.category.LAUNCHER" />
59 </intent-filter> 58 </intent-filter>
60 </activity> 59 </activity>
61 -
62 - <!-- P7725 ACTIVITY,SERVER,RECEIVER START -->
63 60
61 + <!-- P7725 ACTIVITY,SERVER,RECEIVER START -->
62 + <!-- FloatMenu start -->
63 + <activity
64 + android:name="com.platform7725.gamesdk.floats.FloatMenuMainActivity"
65 + android:theme="@style/p7725_full_screen" />
66 + <activity
67 + android:name="com.platform7725.gamesdk.floats.FloatDetailMainActivity"
68 + android:theme="@style/p7725_full_screen" />
69 + <!-- FloatMenu end -->
64 <activity 70 <activity
65 android:name="com.platform7725.gamesdk.CustomerServiceActivity" 71 android:name="com.platform7725.gamesdk.CustomerServiceActivity"
66 android:configChanges="keyboardHidden|orientation" 72 android:configChanges="keyboardHidden|orientation"
...@@ -134,7 +140,6 @@ ...@@ -134,7 +140,6 @@
134 </intent-filter> 140 </intent-filter>
135 </service> 141 </service>
136 142
137 -
138 <activity 143 <activity
139 android:name="com.facebook.LoginActivity" 144 android:name="com.facebook.LoginActivity"
140 android:label="@string/com_7725_app_name" 145 android:label="@string/com_7725_app_name"
...@@ -146,8 +151,9 @@ ...@@ -146,8 +151,9 @@
146 <meta-data 151 <meta-data
147 android:name="com_7725_payment_flag" 152 android:name="com_7725_payment_flag"
148 android:value="gash" /> 153 android:value="gash" />
149 - <meta-data android:name="com.google.android.gms.version" 154 + <meta-data
150 - android:value="@integer/google_play_services_version" /> 155 + android:name="com.google.android.gms.version"
156 + android:value="@integer/google_play_services_version" />
151 <!-- P7725 ACTIVITY、SERVER、RECEIVER END. --> 157 <!-- P7725 ACTIVITY、SERVER、RECEIVER END. -->
152 158
153 159
...@@ -176,7 +182,7 @@ ...@@ -176,7 +182,7 @@
176 </intent-filter> 182 </intent-filter>
177 </receiver> 183 </receiver>
178 <!-- 下載相關的 End --> 184 <!-- 下載相關的 End -->
179 - 185 +
180 </application> 186 </application>
181 187
182 -</manifest> 188 +</manifest>
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -40,5 +40,12 @@ ...@@ -40,5 +40,12 @@
40 android:layout_alignParentLeft="true" 40 android:layout_alignParentLeft="true"
41 android:layout_below="@+id/test_login" 41 android:layout_below="@+id/test_login"
42 android:text="GOOGLE充值" /> 42 android:text="GOOGLE充值" />
43 +
44 + <Button
45 + android:id="@+id/test_kefu"
46 + style="?android:attr/buttonStyleSmall"
47 + android:layout_width="wrap_content"
48 + android:layout_height="wrap_content"
49 + android:text="客服" />
43 50
44 </LinearLayout> 51 </LinearLayout>
......
1 package com.youai.easygame; 1 package com.youai.easygame;
2 2
3 - 3 +import com.platform7725.gamesdk.CustomerServiceActivity;
4 import com.platform7725.gamesdk.DepositsActivity; 4 import com.platform7725.gamesdk.DepositsActivity;
5 +import com.platform7725.gamesdk.ExitActivity;
6 +import com.platform7725.gamesdk.IExitEventsListener;
5 import com.platform7725.gamesdk.ITopSDKEventsListener; 7 import com.platform7725.gamesdk.ITopSDKEventsListener;
6 import com.platform7725.gamesdk.LoginProActivity; 8 import com.platform7725.gamesdk.LoginProActivity;
7 import com.platform7725.gamesdk.entity.User; 9 import com.platform7725.gamesdk.entity.User;
10 +import com.platform7725.gamesdk.floats.FloatManager;
8 import com.platform7725.gamesdk.manager.UserManager; 11 import com.platform7725.gamesdk.manager.UserManager;
9 import com.platform7725.gamesdk.util.Toasts; 12 import com.platform7725.gamesdk.util.Toasts;
10 import com.platform7725.qile.tfws.R; 13 import com.platform7725.qile.tfws.R;
11 14
12 import android.os.Bundle; 15 import android.os.Bundle;
13 import android.util.Log; 16 import android.util.Log;
17 +import android.view.KeyEvent;
14 import android.view.View; 18 import android.view.View;
15 import android.view.View.OnClickListener; 19 import android.view.View.OnClickListener;
16 import android.widget.Button; 20 import android.widget.Button;
...@@ -20,7 +24,7 @@ import android.content.Intent; ...@@ -20,7 +24,7 @@ import android.content.Intent;
20 public class MainActivity extends Activity implements OnClickListener { 24 public class MainActivity extends Activity implements OnClickListener {
21 25
22 private Activity context; 26 private Activity context;
23 - private Button bt_login, bt_gl_pay; 27 + private Button bt_login, bt_gl_pay, test_kefu;
24 private int LOGIN_CODE = 1; 28 private int LOGIN_CODE = 1;
25 29
26 @Override 30 @Override
...@@ -28,7 +32,7 @@ public class MainActivity extends Activity implements OnClickListener { ...@@ -28,7 +32,7 @@ public class MainActivity extends Activity implements OnClickListener {
28 super.onCreate(savedInstanceState); 32 super.onCreate(savedInstanceState);
29 setContentView(R.layout.activity_main); 33 setContentView(R.layout.activity_main);
30 context = this; 34 context = this;
31 - //初始化界面 35 + // 初始化界面
32 initView(); 36 initView();
33 37
34 } 38 }
...@@ -36,11 +40,46 @@ public class MainActivity extends Activity implements OnClickListener { ...@@ -36,11 +40,46 @@ public class MainActivity extends Activity implements OnClickListener {
36 private void initView() { 40 private void initView() {
37 bt_login = (Button) findViewById(R.id.test_login); 41 bt_login = (Button) findViewById(R.id.test_login);
38 bt_gl_pay = (Button) findViewById(R.id.test_pay); 42 bt_gl_pay = (Button) findViewById(R.id.test_pay);
43 + test_kefu = (Button) findViewById(R.id.test_kefu);
39 bt_login.setOnClickListener(this); 44 bt_login.setOnClickListener(this);
40 bt_gl_pay.setOnClickListener(this); 45 bt_gl_pay.setOnClickListener(this);
46 + test_kefu.setOnClickListener(this);
41 } 47 }
48 +
49 + @Override
50 + public boolean onKeyDown(int keyCode, KeyEvent event) {
51 + if (KeyEvent.KEYCODE_BACK == keyCode) {
52 + ExitActivity.exit(MainActivity.this, new IExitEventsListener() {
53 + @Override
54 + public void onExitEventDispatch() {
55 + //游戏执行退出
56 + finish();
57 + }
58 + });
59 + }
60 + return super.onKeyDown(keyCode, event);
61 + }
62 +
42 63
43 @Override 64 @Override
65 + protected void onPause() {
66 + super.onPause();
67 + FloatManager. onPause ();
68 + }
69 +
70 + @Override
71 + protected void onResume() {
72 + super.onResume();
73 + FloatManager. onResume ();
74 + }
75 +
76 + @Override
77 + protected void onDestroy() {
78 + super.onDestroy();
79 + FloatManager. onDestroy ();
80 + }
81 +
82 + @Override
44 public void onClick(View mView) { 83 public void onClick(View mView) {
45 switch (mView.getId()) { 84 switch (mView.getId()) {
46 // 登录按钮 85 // 登录按钮
...@@ -53,11 +92,13 @@ public class MainActivity extends Activity implements OnClickListener { ...@@ -53,11 +92,13 @@ public class MainActivity extends Activity implements OnClickListener {
53 User user = (User) data.getSerializableExtra("user"); 92 User user = (User) data.getSerializableExtra("user");
54 if (user != null) { 93 if (user != null) {
55 String nickName = user.getNickname(); 94 String nickName = user.getNickname();
56 - Log.e("账号登录成功:" , nickName); 95 + Log.e("账号登录成功:", nickName);
57 - //设置角色和服务器 96 + // 设置角色和服务器
58 UserManager.setServer(context, "S10086"); 97 UserManager.setServer(context, "S10086");
59 UserManager.setRole(context, "951", "我是角色名"); 98 UserManager.setRole(context, "951", "我是角色名");
60 - Toasts.makeText(context, "账号登录成功:"+nickName); 99 + Toasts.makeText(context, "账号登录成功:" + nickName);
100 + // 登录成功后打开悬浮窗
101 + FloatManager.init(MainActivity.this, 0);
61 } 102 }
62 } 103 }
63 }, context); 104 }, context);
...@@ -67,6 +108,10 @@ public class MainActivity extends Activity implements OnClickListener { ...@@ -67,6 +108,10 @@ public class MainActivity extends Activity implements OnClickListener {
67 case R.id.test_pay: 108 case R.id.test_pay:
68 DepositsActivity.pay(context, "", "{\"payment_flag\":\"0\"}"); 109 DepositsActivity.pay(context, "", "{\"payment_flag\":\"0\"}");
69 break; 110 break;
111 + // 打开客服界面按钮
112 + case R.id.test_kefu:
113 + CustomerServiceActivity.customer(MainActivity.this);
114 + break;
70 default: 115 default:
71 break; 116 break;
72 } 117 }
......
1 # EasyGame客户端对接文档 # 1 # EasyGame客户端对接文档 #
2 ## 1.配置开发环境 ## 2 ## 1.配置开发环境 ##
3 -使用7725SDK需要完成下面5个步骤: 3 +使用easygameSDK环境配置需要完成下面几个步骤:
4 4
5 -1.把res中所有资源拷贝合并到你项目res目录中。 5 +### 1.把res中所有资源拷贝合并到你项目res目录中。 ###
6 6
7 ![](http://i.imgur.com/bViJNcw.png) 7 ![](http://i.imgur.com/bViJNcw.png)
8 8
9 -2.把assets中的内容拷贝合并你的项目assets目录中。 9 +###2.把assets中的内容拷贝合并你的项目assets目录中。###
10 10
11 ![](http://i.imgur.com/RHJKhBN.png) 11 ![](http://i.imgur.com/RHJKhBN.png)
12 12
13 -3.把libs中所有jar包拷贝到你的项目libs目录中。 13 +###3.把libs中所有jar包拷贝到你的项目libs目录中。###
14 14
15 ## 2.配置AndroidManifest.xml ## 15 ## 2.配置AndroidManifest.xml ##
16 16
17 -1.添加permission 17 +###1.添加permission###
18 ```xml 18 ```xml
19 <!-- easygame SDK PERMISSION START. --> 19 <!-- easygame SDK PERMISSION START. -->
20 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 20 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
...@@ -53,9 +53,17 @@ ...@@ -53,9 +53,17 @@
53 <!-- easygame SDK PERMISSION END. --> 53 <!-- easygame SDK PERMISSION END. -->
54 ``` 54 ```
55 55
56 -2.添加application相关属性 56 +###2.添加application相关属性###
57 ```xml 57 ```xml
58 <!-- easygame SDK ACTIVITY,SERVER,RECEIVER START --> 58 <!-- easygame SDK ACTIVITY,SERVER,RECEIVER START -->
59 + <!-- FloatMenu start -->
60 + <activity
61 + android:name="com.platform7725.gamesdk.floats.FloatMenuMainActivity"
62 + android:theme="@style/p7725_full_screen" />
63 + <activity
64 + android:name="com.platform7725.gamesdk.floats.FloatDetailMainActivity"
65 + android:theme="@style/p7725_full_screen" />
66 + <!-- FloatMenu end -->
59 <activity 67 <activity
60 android:name="com.platform7725.gamesdk.CustomerServiceActivity" 68 android:name="com.platform7725.gamesdk.CustomerServiceActivity"
61 android:configChanges="keyboardHidden|orientation" 69 android:configChanges="keyboardHidden|orientation"
...@@ -172,7 +180,7 @@ ...@@ -172,7 +180,7 @@
172 <!-- download End --> 180 <!-- download End -->
173 ``` 181 ```
174 ## 3.代码相关接口说明 ## 182 ## 3.代码相关接口说明 ##
175 -1.调用登录界面 183 +###1.调用登录界面###
176 184
177 通过调用静态方法 185 通过调用静态方法
178 ```java 186 ```java
...@@ -205,7 +213,7 @@ LoginProActivity.login(requestCode, callback, context) ...@@ -205,7 +213,7 @@ LoginProActivity.login(requestCode, callback, context)
205 }, context); 213 }, context);
206 ``` 214 ```
207 215
208 -2.获取登录用户资料 216 +###2.获取登录用户资料###
209 217
210 在Activity中实现ITopSDKEventsListener接口,实现onEventDispatch方法获取用户资料(Class User, User结构) 218 在Activity中实现ITopSDKEventsListener接口,实现onEventDispatch方法获取用户资料(Class User, User结构)
211 219
...@@ -226,10 +234,9 @@ getOpenidChannel() String 用户来源渠道名,枚举值:Facebook, G ...@@ -226,10 +234,9 @@ getOpenidChannel() String 用户来源渠道名,枚举值:Facebook, G
226 getOpenUID() String OPENID用户标识,有约定的游戏才可以使用 234 getOpenUID() String OPENID用户标识,有约定的游戏才可以使用
227 setServer (serverID) Boolean 用户进入伺服器时调用,区分伺服器的游戏若无调用本函数将无法使用储值功能 235 setServer (serverID) Boolean 用户进入伺服器时调用,区分伺服器的游戏若无调用本函数将无法使用储值功能
228 setRole(roleid, rolename) Boolean 用户登入角色时调用,不管首次或下次登入都需要调用,有角色名的游戏若无调用本函数将无法使用储值功能 236 setRole(roleid, rolename) Boolean 用户登入角色时调用,不管首次或下次登入都需要调用,有角色名的游戏若无调用本函数将无法使用储值功能
229 -
230 ``` 237 ```
231 238
232 -3.游戏服务端登录验证 239 +###3.游戏服务端登录验证###
233 240
234 游戏客户端发送以下参数到游戏服务端进行验证。如: 241 游戏客户端发送以下参数到游戏服务端进行验证。如:
235 242
...@@ -247,7 +254,8 @@ Sign = md5( game_server_key + userid + openuid + nickname + sex + logintime ); ...@@ -247,7 +254,8 @@ Sign = md5( game_server_key + userid + openuid + nickname + sex + logintime );
247 ``` 254 ```
248 注:集成过程中,发现不少厂商将上述参数作特殊字符过滤处理,导致签名校验失败,在此强调 md5 加密用的参数,绝不能过滤特殊字符。 255 注:集成过程中,发现不少厂商将上述参数作特殊字符过滤处理,导致签名校验失败,在此强调 md5 加密用的参数,绝不能过滤特殊字符。
249 256
250 -4.进入充值界面 257 +###4.进入充值界面###
258 +
251 调用方法 259 调用方法
252 ```java 260 ```java
253 DepositsActivity.pay(context, info, extra); 261 DepositsActivity.pay(context, info, extra);
...@@ -259,4 +267,93 @@ DepositsActivity.pay(context, info, extra); ...@@ -259,4 +267,93 @@ DepositsActivity.pay(context, info, extra);
259 示例 267 示例
260 ```java 268 ```java
261 DepositsActivity.pay(context, "", "{\"payment_flag\":\"0\"}"); 269 DepositsActivity.pay(context, "", "{\"payment_flag\":\"0\"}");
262 -```
...\ No newline at end of file ...\ No newline at end of file
270 +```
271 +
272 +###5.设置服务器和角色信息###
273 +- 设置服务器信息
274 +```java
275 +UserManager.setServer(context, serverid);
276 +```
277 +
278 +- context 上下文
279 +
280 +- serverid 服务器ID
281 +
282 +如果不需要设置服编号,请设默认值 UserManager.setServer (0)
283 +
284 +`注:游戏若无调用本函数将无法使用充值功能。`
285 +
286 +- 设置角色信息
287 +```java
288 +UserManager.setRole(context, roleid, rolename);
289 +```
290 +- context 上下文
291 +
292 +- roleid 游戏的玩家角色ID
293 +
294 +- rolename 游戏的玩家角色名
295 +
296 +
297 +`注:有角色名的游戏若无调用本函数将无法使用储值功能。`
298 +
299 +###特殊情况:###
300 +如果游戏记录玩家的历史登录记录,并且提供快速选服选角色进入游戏的,则需同时调用
301 +```java
302 +UserManager.setRole(context, Role,Roleid);
303 +UserManager.setServer(context, server, noticeUrl);
304 +```
305 +
306 +###6.打开客服界面###
307 +```java
308 +CustomerServiceActivity.customer(context);
309 +```
310 +
311 +###7.SDK悬浮按钮###
312 +```java
313 +FloatManager.init(Context activity, int init_y);
314 +```
315 +`悬浮按钮初始化方法,请在登录后调用。`
316 +
317 +- context:上下文对象。
318 +- init_y:悬浮按钮初始化位置(Y坐标位置),如果不需要则填入任意小于0的数。
319 +
320 +```java
321 +FloatManager. onPause ();
322 +```
323 +请务必在Activity生命周期onPause方法调用。
324 +```java
325 +FloatManager. onResume ();
326 +```
327 +请务必在Activity生命周期onResume方法调用。
328 +
329 +```java
330 +FloatManager. onDestroy ();
331 +```
332 +请务必在Activity生命周期onDestroy方法调用。
333 +
334 +###8.SDK退出接口###
335 +```java
336 +ExitActivity.exit(context, exitCallback);
337 +```
338 +- context 上下文
339 +
340 +- exitCallback IExitEventsListener接口实例。
341 +
342 +`备注:实现IExitEventsListener接口,重写onExitEventDispatch()方法,在方法添加原来的退出代码。`
343 +
344 +示例
345 +```java
346 + @Override
347 + public boolean onKeyDown(int keyCode, KeyEvent event) {
348 + if (KeyEvent.KEYCODE_BACK == keyCode) {
349 + ExitActivity.exit(MainActivity.this, new IExitEventsListener() {
350 + @Override
351 + public void onExitEventDispatch() {
352 + //游戏执行退出
353 + finish();
354 + }
355 + });
356 + }
357 + return super.onKeyDown(keyCode, event);
358 + }
359 +```
......