youaiPublic
Committed by GitHub

Update 公共SDK客户端接入文档.md

1 #SDK 接入文档 1 #SDK 接入文档
2 2
3 ###1、开发环境搭建 3 ###1、开发环境搭建
4 - 以下是以 Eclipse 为例,在 Eclipse 环境下开发的 SDK 配置<br> 4 + 以下是以 Eclipse 为例,在 Eclipse 环境下开发的 SDK 配置
5 - 1.1、将 SDK 压缩包中 Jar 目录下的所有 jar 包复制到游戏工程的 libs 目录下<br> 5 + 1.1、将 SDK 压缩包中 Jar 目录下的所有 jar 包复制到游戏工程的 libs 目录下
6 ![Alt text](../image/image1.png) 6 ![Alt text](../image/image1.png)
7 1.2、将1.1中复制的jar包引用到游戏工程<br> 7 1.2、将1.1中复制的jar包引用到游戏工程<br>
8 - 1.3、复制SDK压缩包中assets目录下的所有内容到游戏工程的assets目录,将游戏中的闪屏图片放到assets中poolsdk_splash目录<br> 下,将assets中的poolsdk.xml中的payCallbackUrl参数配置为游戏测试的充值回调地址(注:此回调地址为测试使用,正式<br> 环境以SDK后台配置的地址为准) 8 + 1.3、复制SDK压缩包中assets目录下的所有内容到游戏工程的assets目录,将游戏中的闪屏图片放到assets中poolsdk_splash目录 下,将assets中的poolsdk.xml中的payCallbackUrl参数配置为游戏测试的充值回调地址(注:此回调地址为测试使用,正式 环境以SDK后台配置的地址为准)
9 1.4、修改游戏工程的AndroidManifest.xml(可以参照复制Demo中AndroidManifest.xml文件) 9 1.4、修改游戏工程的AndroidManifest.xml(可以参照复制Demo中AndroidManifest.xml文件)
10 ①.添加声明权限: 10 ①.添加声明权限:
11 <uses-permission android:name="android.permission.INTERNET" /> 11 <uses-permission android:name="android.permission.INTERNET" />
...@@ -216,7 +216,158 @@ ...@@ -216,7 +216,158 @@
216 }); 216 });
217 217
218 2.6、检测 SDK 是否含有用户中心接口(必接) 218 2.6、检测 SDK 是否含有用户中心接口(必接)
219 - 说明:如果接口返回为 true,表示需要游戏方在合适的界面中添 加一个用户中心的按钮,点击按钮时调用文档中 2.7 的用户中心 接口;如果返回 false,则不做处理 219 + 说明:如果接口返回为 true,表示需要游戏方在合适的界面中添加一个用户中心的按钮,点击按钮时调用文档中 2.7 的用户中心接口;如果返回 false,则不做处理
220 2.6.1、方法定义 220 2.6.1、方法定义
221 public static boolean hasChannelCenter() 221 public static boolean hasChannelCenter()
222 + 2.7、用户中心接口(必接)
223 + 说明:打开渠道用户中心界面
224 + 2.7.1、方法定义
225 + public static void openChannelCenter()
226 + 2.7.2、代码示例
227 + /**
228 + * 用户中心
229 + *
230 + * 游戏方先调用YASDKHelper.hasChannelCenter()获取是否有用户中心,
231 + * 如果有的话,游戏中需要添加按钮,点击按钮调用YASDKHelper.openChannelCenter();
232 + * 如果没有,则不需要显示按钮,也不用调用下面的接口
233 + */
234 + private void channelCenter() {
235 + PoolSdkHelper.openChannelCenter();
236 + }
222 237
238 + 2.8、注销登录监听接口
239 + 说明:可在游戏启动时设置注销监听事件,渠道注销成功后 SDK 会回调 onLogoutSuccess 方法通知游戏,游戏可在此处理切换账号逻辑
240 + 2.8.1、方法定义
241 + public static void setLogoutCallback(final PoolLogoutListener poolLogoutListener)
242 + 2.8.2、参数说明
243 + 2.8.3、代码示例
244 + PoolSdkHelper.setLogoutCallback(new PoolLogoutListener() {
245 + @Override
246 + public void onLogoutSuccess() {
247 + // TODO: 此处处理SDK登出的逻辑
248 + login();
249 + PoolSdkLog.logInfo("游戏中logoutSuccess");
250 + }
251 + });
252 + 2.9、退出游戏接口(必接)
253 + 说明:在游戏需要退出时调用,调用此接口时需先用 PoolSdkHelper.hasExitDialog() 判断 sdk 是否有退出界面,为 true
254 + 表示有退出界面需调用 showExitDialog()显示退出界面,为 false 时表示没有退出界面,游戏需自己处理退出逻辑且在确认
255 + 游戏退出前调用 PoolSdkHelper.exitGame 通知 SDK 游戏要退出 (具体可参照 Demo 示例)
256 + 2.9.1、方法定义
257 + public static void showExitDialog(final PoolExitDialogListener exitDialogListener)
258 + 2.9.2、参数说明
259 + 2.9.3、代码示例
260 + @Override
261 + public boolean dispatchKeyEvent(KeyEvent pKeyEvent) {
262 + if (pKeyEvent.getKeyCode() == KeyEvent.KEYCODE_BACK
263 + && pKeyEvent.getAction() == KeyEvent.ACTION_DOWN) {
264 + if (PoolSdkHelper.hasExitDialog()) {
265 + PoolSdkHelper.showExitDialog(new PoolExitDialogListener() {
266 + @Override
267 + public void onDialogResult(int code, String msg) {
268 + // TODO Auto-generated method stub
269 + switch (code) {
270 + case PoolSDKCode.EXIT_SUCCESS:// 退出成功游戏处理自己退出逻辑
271 + finish();
272 + // System.exit(0);
273 + break;
274 + case PoolSDKCode.EXIT_CANCEL:// 取消退出
275 + break;
276 + default:
277 + break;
278 + }
279 + }
280 + });
281 + } else {
282 + // TODO: 调用游戏的退出界面
283 + showGameExitTips();
284 + }
285 + return false;
286 + }
287 + return super.dispatchKeyEvent(pKeyEvent);
288 + }
289 + 2.10、Android 生命周期接口(必接)
290 + 说明:在游戏 Activity 的 onStart、onPause、onResume、 onStop、onDestroy、onRestart、onNewIntent、 onActivityResult、onConfigurationChanged 中分别调用对应的接口
291 + 2.10.1、代码示例
292 + @Override
293 + public void onStart() {
294 + super.onStart();
295 + PoolSdkHelper.onStart();
296 + }
297 +
298 + @Override
299 + public void onStop() {
300 + super.onStop();
301 + PoolSdkHelper.onStop();
302 + }
303 +
304 + @Override
305 + public void onDestroy() {
306 + super.onDestroy();
307 + PoolSdkHelper.onDestroy();
308 + }
309 +
310 + @Override
311 + public void onResume() {
312 + super.onResume();
313 + PoolSdkHelper.onResume();
314 + }
315 +
316 + @Override
317 + public void onPause() {
318 + super.onPause();
319 + PoolSdkHelper.onPause();
320 + }
321 +
322 + @Override
323 + public void onRestart() {
324 + super.onRestart();
325 + PoolSdkHelper.onRestart();
326 + }
327 +
328 + @Override
329 + public void onNewIntent(Intent intent) {
330 + super.onNewIntent(intent);
331 + PoolSdkHelper.onNewIntent(intent);
332 + }
333 +
334 + @Override
335 + protected void onActivityResult(int requestCode, int resultCode, Intent data) {
336 + PoolSdkHelper.onActivityResult(requestCode, resultCode, data);
337 + }
338 +
339 + @Override
340 + public void onConfigurationChanged(Configuration newConfig) {
341 + // TODO Auto-generated method stub
342 + super.onConfigurationChanged(newConfig);
343 + PoolSdkHelper.onConfigurationChanged(newConfig);
344 + }
345 + 2.11、扩展接口(可选)
346 + 说明:该接口为扩展的万能接口,留作备用,目前游戏方可以不接入
347 + 2.11.1、方法定义
348 + public static void expansionInterface(final String paramCustom,final PoolExpansionListener poolExpansionListener)
349 + 2.11.2、参数说明
350 +
351 + 2.12、获取渠道包标识(可选)
352 + 接口名称:PoolSdkHelper.getGameChannelId()
353 + 接口说明:获取在企业平台配置的渠道标识,返回类型为 String
354 + 接口名称:PoolSdkHelper. getChannelParameter1 ()
355 + 接口说明:获取在企业平台配置的渠道参数 1,返回类型为 String
356 + 接口名称:PoolSdkHelper. getChannelParameter2 ()
357 + 接口说明:获取在企业平台配置的渠道参数 2,返回类型为 String
358 + 2.13、获取渠道自定义参数(可选)
359 + 接口名称:PoolSdkHelper.getCustomValue()
360 + 接口说明:获取在企业平台配置的渠道自定义参数,返回类型为 String
361 + 2.14、打开论坛接口(UC 平台专用)
362 + 接口名称:PoolSkHelper.openForum()
363 + 接口说明:打开渠道的论坛界面
364 +
365 +#3、自测用例
366 + 3.1、进入游戏会弹出下面的登录界面,表示登录接口接入正常;
367 + ![text1][../image/image2.png]
368 + 3.2、点击充值会弹出下面的界面,表示充值接口接入正常;
369 + ![text2][../image/image3.png]
370 + 3.3、点击渠道用户中心,弹出下面的界面表示该接口接入正常;
371 + ![text3][../image/image4.png]
372 +#4、母包
373 + 4.1、接入公共 SDK 编译生成的 apk 即为打包工具使用的母包
......