lizhihui

update

......@@ -7,7 +7,7 @@
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<!-- P7725 PERMISSION START. -->
<!-- P7725 PERMISSION START. -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
......@@ -42,8 +42,7 @@
android:label="@string/permlab_downloadCompletedIntent"
android:protectionLevel="normal" />
<!-- P7725 PERMISSION END. -->
<application
android:allowBackup="true"
android:icon="@drawable/icon"
......@@ -58,9 +57,16 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- P7725 ACTIVITY,SERVER,RECEIVER START -->
<!-- P7725 ACTIVITY,SERVER,RECEIVER START -->
<!-- FloatMenu start -->
<activity
android:name="com.platform7725.gamesdk.floats.FloatMenuMainActivity"
android:theme="@style/p7725_full_screen" />
<activity
android:name="com.platform7725.gamesdk.floats.FloatDetailMainActivity"
android:theme="@style/p7725_full_screen" />
<!-- FloatMenu end -->
<activity
android:name="com.platform7725.gamesdk.CustomerServiceActivity"
android:configChanges="keyboardHidden|orientation"
......@@ -134,7 +140,6 @@
</intent-filter>
</service>
<activity
android:name="com.facebook.LoginActivity"
android:label="@string/com_7725_app_name"
......@@ -146,8 +151,9 @@
<meta-data
android:name="com_7725_payment_flag"
android:value="gash" />
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<!-- P7725 ACTIVITY、SERVER、RECEIVER END. -->
......@@ -176,7 +182,7 @@
</intent-filter>
</receiver>
<!-- 下載相關的 End -->
</application>
</manifest>
</manifest>
\ No newline at end of file
......
......@@ -40,5 +40,12 @@
android:layout_alignParentLeft="true"
android:layout_below="@+id/test_login"
android:text="GOOGLE充值" />
<Button
android:id="@+id/test_kefu"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="客服" />
</LinearLayout>
......
package com.youai.easygame;
import com.platform7725.gamesdk.CustomerServiceActivity;
import com.platform7725.gamesdk.DepositsActivity;
import com.platform7725.gamesdk.ExitActivity;
import com.platform7725.gamesdk.IExitEventsListener;
import com.platform7725.gamesdk.ITopSDKEventsListener;
import com.platform7725.gamesdk.LoginProActivity;
import com.platform7725.gamesdk.entity.User;
import com.platform7725.gamesdk.floats.FloatManager;
import com.platform7725.gamesdk.manager.UserManager;
import com.platform7725.gamesdk.util.Toasts;
import com.platform7725.qile.tfws.R;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
......@@ -20,7 +24,7 @@ import android.content.Intent;
public class MainActivity extends Activity implements OnClickListener {
private Activity context;
private Button bt_login, bt_gl_pay;
private Button bt_login, bt_gl_pay, test_kefu;
private int LOGIN_CODE = 1;
@Override
......@@ -28,7 +32,7 @@ public class MainActivity extends Activity implements OnClickListener {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context = this;
//初始化界面
// 初始化界面
initView();
}
......@@ -36,11 +40,46 @@ public class MainActivity extends Activity implements OnClickListener {
private void initView() {
bt_login = (Button) findViewById(R.id.test_login);
bt_gl_pay = (Button) findViewById(R.id.test_pay);
test_kefu = (Button) findViewById(R.id.test_kefu);
bt_login.setOnClickListener(this);
bt_gl_pay.setOnClickListener(this);
test_kefu.setOnClickListener(this);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (KeyEvent.KEYCODE_BACK == keyCode) {
ExitActivity.exit(MainActivity.this, new IExitEventsListener() {
@Override
public void onExitEventDispatch() {
//游戏执行退出
finish();
}
});
}
return super.onKeyDown(keyCode, event);
}
@Override
protected void onPause() {
super.onPause();
FloatManager. onPause ();
}
@Override
protected void onResume() {
super.onResume();
FloatManager. onResume ();
}
@Override
protected void onDestroy() {
super.onDestroy();
FloatManager. onDestroy ();
}
@Override
public void onClick(View mView) {
switch (mView.getId()) {
// 登录按钮
......@@ -53,11 +92,13 @@ public class MainActivity extends Activity implements OnClickListener {
User user = (User) data.getSerializableExtra("user");
if (user != null) {
String nickName = user.getNickname();
Log.e("账号登录成功:" , nickName);
//设置角色和服务器
Log.e("账号登录成功:", nickName);
// 设置角色和服务器
UserManager.setServer(context, "S10086");
UserManager.setRole(context, "951", "我是角色名");
Toasts.makeText(context, "账号登录成功:"+nickName);
Toasts.makeText(context, "账号登录成功:" + nickName);
// 登录成功后打开悬浮窗
FloatManager.init(MainActivity.this, 0);
}
}
}, context);
......@@ -67,6 +108,10 @@ public class MainActivity extends Activity implements OnClickListener {
case R.id.test_pay:
DepositsActivity.pay(context, "", "{\"payment_flag\":\"0\"}");
break;
// 打开客服界面按钮
case R.id.test_kefu:
CustomerServiceActivity.customer(MainActivity.this);
break;
default:
break;
}
......
# EasyGame客户端对接文档 #
## 1.配置开发环境 ##
使用7725SDK需要完成下面5个步骤:
使用easygameSDK环境配置需要完成下面几个步骤:
1.把res中所有资源拷贝合并到你项目res目录中。
### 1.把res中所有资源拷贝合并到你项目res目录中。 ###
![](http://i.imgur.com/bViJNcw.png)
2.把assets中的内容拷贝合并你的项目assets目录中。
###2.把assets中的内容拷贝合并你的项目assets目录中。###
![](http://i.imgur.com/RHJKhBN.png)
3.把libs中所有jar包拷贝到你的项目libs目录中。
###3.把libs中所有jar包拷贝到你的项目libs目录中。###
## 2.配置AndroidManifest.xml ##
1.添加permission
###1.添加permission###
```xml
<!-- easygame SDK PERMISSION START. -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
......@@ -53,9 +53,17 @@
<!-- easygame SDK PERMISSION END. -->
```
2.添加application相关属性
###2.添加application相关属性###
```xml
<!-- easygame SDK ACTIVITY,SERVER,RECEIVER START -->
<!-- FloatMenu start -->
<activity
android:name="com.platform7725.gamesdk.floats.FloatMenuMainActivity"
android:theme="@style/p7725_full_screen" />
<activity
android:name="com.platform7725.gamesdk.floats.FloatDetailMainActivity"
android:theme="@style/p7725_full_screen" />
<!-- FloatMenu end -->
<activity
android:name="com.platform7725.gamesdk.CustomerServiceActivity"
android:configChanges="keyboardHidden|orientation"
......@@ -172,7 +180,7 @@
<!-- download End -->
```
## 3.代码相关接口说明 ##
1.调用登录界面
###1.调用登录界面###
通过调用静态方法
```java
......@@ -205,7 +213,7 @@ LoginProActivity.login(requestCode, callback, context)
}, context);
```
2.获取登录用户资料
###2.获取登录用户资料###
在Activity中实现ITopSDKEventsListener接口,实现onEventDispatch方法获取用户资料(Class User, User结构)
......@@ -226,10 +234,9 @@ getOpenidChannel() String 用户来源渠道名,枚举值:Facebook, G
getOpenUID() String OPENID用户标识,有约定的游戏才可以使用
setServer (serverID) Boolean 用户进入伺服器时调用,区分伺服器的游戏若无调用本函数将无法使用储值功能
setRole(roleid, rolename) Boolean 用户登入角色时调用,不管首次或下次登入都需要调用,有角色名的游戏若无调用本函数将无法使用储值功能
```
3.游戏服务端登录验证
###3.游戏服务端登录验证###
游戏客户端发送以下参数到游戏服务端进行验证。如:
......@@ -247,7 +254,8 @@ Sign = md5( game_server_key + userid + openuid + nickname + sex + logintime );
```
注:集成过程中,发现不少厂商将上述参数作特殊字符过滤处理,导致签名校验失败,在此强调 md5 加密用的参数,绝不能过滤特殊字符。
4.进入充值界面
###4.进入充值界面###
调用方法
```java
DepositsActivity.pay(context, info, extra);
......@@ -259,4 +267,93 @@ DepositsActivity.pay(context, info, extra);
示例
```java
DepositsActivity.pay(context, "", "{\"payment_flag\":\"0\"}");
```
\ No newline at end of file
```
###5.设置服务器和角色信息###
- 设置服务器信息
```java
UserManager.setServer(context, serverid);
```
- context 上下文
- serverid 服务器ID
如果不需要设置服编号,请设默认值 UserManager.setServer (0)
`注:游戏若无调用本函数将无法使用充值功能。`
- 设置角色信息
```java
UserManager.setRole(context, roleid, rolename);
```
- context 上下文
- roleid 游戏的玩家角色ID
- rolename 游戏的玩家角色名
`注:有角色名的游戏若无调用本函数将无法使用储值功能。`
###特殊情况:###
如果游戏记录玩家的历史登录记录,并且提供快速选服选角色进入游戏的,则需同时调用
```java
UserManager.setRole(context, Role,Roleid);
UserManager.setServer(context, server, noticeUrl);
```
###6.打开客服界面###
```java
CustomerServiceActivity.customer(context);
```
###7.SDK悬浮按钮###
```java
FloatManager.init(Context activity, int init_y);
```
`悬浮按钮初始化方法,请在登录后调用。`
- context:上下文对象。
- init_y:悬浮按钮初始化位置(Y坐标位置),如果不需要则填入任意小于0的数。
```java
FloatManager. onPause ();
```
请务必在Activity生命周期onPause方法调用。
```java
FloatManager. onResume ();
```
请务必在Activity生命周期onResume方法调用。
```java
FloatManager. onDestroy ();
```
请务必在Activity生命周期onDestroy方法调用。
###8.SDK退出接口###
```java
ExitActivity.exit(context, exitCallback);
```
- context 上下文
- exitCallback IExitEventsListener接口实例。
`备注:实现IExitEventsListener接口,重写onExitEventDispatch()方法,在方法添加原来的退出代码。`
示例
```java
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (KeyEvent.KEYCODE_BACK == keyCode) {
ExitActivity.exit(MainActivity.this, new IExitEventsListener() {
@Override
public void onExitEventDispatch() {
//游戏执行退出
finish();
}
});
}
return super.onKeyDown(keyCode, event);
}
```
......