lizhihui

优化接入逻辑流程跟文档demo

1 +
2 +- 2022-05-18
3 + - 优化对接demo逻辑跟文档
4 +
1 - 2019-09-02 5 - 2019-09-02
2 - 修改PoolSdk_V2 assets/sdk assets/sdk.zip 6 - 修改PoolSdk_V2 assets/sdk assets/sdk.zip
3 - 2019-11-15 7 - 2019-11-15
......
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="CompilerConfiguration"> 3 <component name="CompilerConfiguration">
4 - <bytecodeTargetLevel target="11" /> 4 + <bytecodeTargetLevel target="1.8" />
5 </component> 5 </component>
6 </project> 6 </project>
...\ No newline at end of file ...\ No newline at end of file
......
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<project version="4">
3 + <component name="deploymentTargetDropDown">
4 + <runningDeviceTargetSelectedWithDropDown>
5 + <Target>
6 + <type value="RUNNING_DEVICE_TARGET" />
7 + <deviceKey>
8 + <Key>
9 + <type value="SERIAL_NUMBER" />
10 + <value value="emulator-5560" />
11 + </Key>
12 + </deviceKey>
13 + </Target>
14 + </runningDeviceTargetSelectedWithDropDown>
15 + <timeTargetWasSelectedWithDropDown value="2022-05-18T09:17:58.724621500Z" />
16 + </component>
17 +</project>
...\ No newline at end of file ...\ No newline at end of file
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
4 <component name="GradleSettings"> 4 <component name="GradleSettings">
5 <option name="linkedExternalProjectsSettings"> 5 <option name="linkedExternalProjectsSettings">
6 <GradleProjectSettings> 6 <GradleProjectSettings>
7 - <option name="testRunner" value="PLATFORM" /> 7 + <option name="testRunner" value="GRADLE" />
8 <option name="distributionType" value="DEFAULT_WRAPPED" /> 8 <option name="distributionType" value="DEFAULT_WRAPPED" />
9 <option name="externalProjectPath" value="$PROJECT_DIR$" /> 9 <option name="externalProjectPath" value="$PROJECT_DIR$" />
10 <option name="modules"> 10 <option name="modules">
...@@ -13,8 +13,6 @@ ...@@ -13,8 +13,6 @@
13 <option value="$PROJECT_DIR$/app" /> 13 <option value="$PROJECT_DIR$/app" />
14 </set> 14 </set>
15 </option> 15 </option>
16 - <option name="resolveModulePerSourceSet" value="false" />
17 - <option name="useQualifiedModuleNames" value="true" />
18 </GradleProjectSettings> 16 </GradleProjectSettings>
19 </option> 17 </option>
20 </component> 18 </component>
......
1 +<component name="InspectionProjectProfileManager">
2 + <profile version="1.0">
3 + <option name="myName" value="Project Default" />
4 + <inspection_tool class="JavaDoc" enabled="true" level="WARNING" enabled_by_default="true">
5 + <option name="TOP_LEVEL_CLASS_OPTIONS">
6 + <value>
7 + <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
8 + <option name="REQUIRED_TAGS" value="" />
9 + </value>
10 + </option>
11 + <option name="INNER_CLASS_OPTIONS">
12 + <value>
13 + <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
14 + <option name="REQUIRED_TAGS" value="" />
15 + </value>
16 + </option>
17 + <option name="METHOD_OPTIONS">
18 + <value>
19 + <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
20 + <option name="REQUIRED_TAGS" value="@return@param@throws or @exception" />
21 + </value>
22 + </option>
23 + <option name="FIELD_OPTIONS">
24 + <value>
25 + <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
26 + <option name="REQUIRED_TAGS" value="" />
27 + </value>
28 + </option>
29 + <option name="IGNORE_DEPRECATED" value="false" />
30 + <option name="IGNORE_JAVADOC_PERIOD" value="true" />
31 + <option name="IGNORE_DUPLICATED_THROWS" value="false" />
32 + <option name="IGNORE_POINT_TO_ITSELF" value="false" />
33 + <option name="myAdditionalJavadocTags" value="date" />
34 + </inspection_tool>
35 + </profile>
36 +</component>
...\ 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_11" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK"> 3 + <component name="ASMIdeaPluginConfiguration">
4 + <asm skipDebug="true" skipFrames="true" skipCode="false" expandFrames="false" />
5 + <groovy codeStyle="LEGACY" />
6 + </component>
7 + <component name="DesignSurface">
8 + <option name="filePathToZoomLevelMap">
9 + <map>
10 + <entry key="..\:/_Git/public_sdk_android/demo/app/src/main/res/layout/public_sdk_self_test.xml" value="0.18697916666666667" />
11 + </map>
12 + </option>
13 + </component>
14 + <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" /> 15 <output url="file://$PROJECT_DIR$/build/classes" />
5 </component> 16 </component>
6 <component name="ProjectType"> 17 <component name="ProjectType">
......
1 -<?xml version="1.0" encoding="UTF-8"?>
2 -<project version="4">
3 - <component name="RunConfigurationProducerService">
4 - <option name="ignoredProducers">
5 - <set>
6 - <option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
7 - <option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
8 - <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
9 - <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
10 - </set>
11 - </option>
12 - </component>
13 -</project>
...\ No newline at end of file ...\ No newline at end of file
...@@ -5,22 +5,20 @@ ...@@ -5,22 +5,20 @@
5 <!-- SDK start --> 5 <!-- SDK start -->
6 <uses-permission android:name="android.permission.INTERNET" /> 6 <uses-permission android:name="android.permission.INTERNET" />
7 <!-- 国内需要用公共SDK的后台数据功能需要以下权限(非必要) --> 7 <!-- 国内需要用公共SDK的后台数据功能需要以下权限(非必要) -->
8 - <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 8 +<!-- <uses-permission android:name="android.permission.READ_PHONE_STATE" />-->
9 - <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 9 +<!-- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />-->
10 - <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 10 +<!-- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />-->
11 <!-- SDK end --> 11 <!-- SDK end -->
12 12
13 <application 13 <application
14 android:name="com.gzpublic.app.sdk.application.PoolSDKApplication" 14 android:name="com.gzpublic.app.sdk.application.PoolSDKApplication"
15 android:allowBackup="false" 15 android:allowBackup="false"
16 - android:icon="@drawable/public_sdk_self_ic_launcher"
17 android:label="@string/app_name"> 16 android:label="@string/app_name">
18 <activity 17 <activity
19 android:name="com.youai.foolsdk.demo.AppActivity" 18 android:name="com.youai.foolsdk.demo.AppActivity"
20 android:configChanges="keyboardHidden|orientation|screenSize" 19 android:configChanges="keyboardHidden|orientation|screenSize"
21 android:label="@string/app_name" 20 android:label="@string/app_name"
22 - android:screenOrientation="portrait" 21 + android:screenOrientation="portrait">
23 - android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
24 <intent-filter> 22 <intent-filter>
25 <action android:name="android.intent.action.MAIN" /> 23 <action android:name="android.intent.action.MAIN" />
26 <category android:name="android.intent.category.LAUNCHER" /> 24 <category android:name="android.intent.category.LAUNCHER" />
......
1 <?xml version="1.0" ?> 1 <?xml version="1.0" ?>
2 <config> 2 <config>
3 - <sdkconfig channelparameter1="" channelparameter2="" custom="{}" gamechannelid="" gamesimplename="fytx_test" logincheckurl="http://183.136.223.85:9010/logincheck/check" logreporturl="http://183.136.223.85:9030/sdk/statistic" paycheckurl="http://183.136.223.85:9020/paycheck/confirm" payorderurl="http://183.136.223.85:9020/paycheck/create" sdksimplename="poolsdk" sdkversioncode="V1_0" usertype="739"/> 3 + <sdkconfig channelparameter1="" channelparameter2="" custom="{}" gamechannelid=""
4 + gamesimplename="fytx_test" logincheckurl="http://183.136.236.208:9010/logincheck/check"
5 + logreporturl="http://183.136.236.208:9030/sdk/statistic"
6 + paycheckurl="http://183.136.236.208:9020/paycheck/confirm"
7 + payorderurl="http://183.136.236.208:9020/paycheck/create" sdksimplename="poolsdk"
8 + sdkversioncode="V1_0" usertype="739" />
4 </config> 9 </config>
......
...@@ -105,9 +105,9 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -105,9 +105,9 @@ public class AppActivity extends Activity implements OnClickListener {
105 PoolSdkLog.setIsShowLog(true);//游戏无需设置该接口 105 PoolSdkLog.setIsShowLog(true);//游戏无需设置该接口
106 PoolSdkConfig.readPoolSdkConfigData(this); 106 PoolSdkConfig.readPoolSdkConfigData(this);
107 107
108 + //ps!公共SDK会收集用户隐私信息,游戏需弹窗显示隐私条款,再调用公共SDK的初始化接口
108 //国内游戏接入如果需要使用平台统计等功能,需要获取手机识别号和读写SD卡权限再调用初始化接口 109 //国内游戏接入如果需要使用平台统计等功能,需要获取手机识别号和读写SD卡权限再调用初始化接口
109 //海外接入直接调用SDK初始化接口即可 110 //海外接入直接调用SDK初始化接口即可
110 -
111 if(getApplicationInfo().targetSdkVersion >= 23 && Build.VERSION.SDK_INT >= 23){ 111 if(getApplicationInfo().targetSdkVersion >= 23 && Build.VERSION.SDK_INT >= 23){
112 requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE,Manifest.permission.WRITE_EXTERNAL_STORAGE},1); 112 requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE,Manifest.permission.WRITE_EXTERNAL_STORAGE},1);
113 }else { 113 }else {
...@@ -125,6 +125,7 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -125,6 +125,7 @@ public class AppActivity extends Activity implements OnClickListener {
125 private void init( Bundle savedInstanceState){ 125 private void init( Bundle savedInstanceState){
126 126
127 //PoolSDK初始化接口 127 //PoolSDK初始化接口
128 + //公共SDK会收集用户隐私信息,游戏需弹窗显示隐私条款,再调用公共SDK的初始化接口
128 PoolSdkHelper.init(this, new PoolSDKCallBackListener() { 129 PoolSdkHelper.init(this, new PoolSDKCallBackListener() {
129 @Override 130 @Override
130 public void poolSdkCallBack(int code, String msg) { 131 public void poolSdkCallBack(int code, String msg) {
...@@ -307,7 +308,7 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -307,7 +308,7 @@ public class AppActivity extends Activity implements OnClickListener {
307 }else if (view == btPay) { 308 }else if (view == btPay) {
308 pay(); 309 pay();
309 }else if (view == btLogout) { 310 }else if (view == btLogout) {
310 - //logout(); 311 +// logout();
311 }else if (view == btSubRoleInfo) { 312 }else if (view == btSubRoleInfo) {
312 //角色升级 313 //角色升级
313 submitRoleData(11,PoolRoleInfo.Type_RoleUpgrade); 314 submitRoleData(11,PoolRoleInfo.Type_RoleUpgrade);
...@@ -320,10 +321,14 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -320,10 +321,14 @@ public class AppActivity extends Activity implements OnClickListener {
320 }else if(view == btQueryProducts){ 321 }else if(view == btQueryProducts){
321 queryProducts(); 322 queryProducts();
322 }else if (view == pb_bt_verifyname){ 323 }else if (view == pb_bt_verifyname){
323 - 324 + PoolSdkLog.logError("游戏demo获取到的生日:"+getBirthday());
324 } 325 }
325 } 326 }
326 327
328 + private String getBirthday(){
329 + return PoolSdkHelper.verifyRealName(mContext);
330 + }
331 +
327 private void trackEvent(){ 332 private void trackEvent(){
328 //使用AF和FB 等统计功能 需要调用该统计接口 value 具体参考文档 333 //使用AF和FB 等统计功能 需要调用该统计接口 value 具体参考文档
329 Map<String,Object> valueMap = new HashMap<>(); 334 Map<String,Object> valueMap = new HashMap<>();
...@@ -352,6 +357,8 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -352,6 +357,8 @@ public class AppActivity extends Activity implements OnClickListener {
352 upTx("登录成功回调:userType = " + userType 357 upTx("登录成功回调:userType = " + userType
353 + "; timestamp = " + timestamp + "; serverSign = " 358 + "; timestamp = " + timestamp + "; serverSign = "
354 + serverSign + "; openId = " + openId); 359 + serverSign + "; openId = " + openId);
360 +
361 + submitRoleData(10,PoolRoleInfo.Type_EnterGame);
355 } 362 }
356 363
357 @Override 364 @Override
...@@ -362,7 +369,7 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -362,7 +369,7 @@ public class AppActivity extends Activity implements OnClickListener {
362 }); 369 });
363 370
364 //单机游戏无服务端支付结果查询接口,网游无需接入 371 //单机游戏无服务端支付结果查询接口,网游无需接入
365 - PoolPayOrderConfirmHandler.getInstance(this, 2000, 1000).startOrderConfirmOp(mPoolPayListener); 372 +// PoolPayOrderConfirmHandler.getInstance(this, 2000, 1000).startOrderConfirmOp(mPoolPayListener);
366 } 373 }
367 374
368 private void pay() { 375 private void pay() {
...@@ -431,7 +438,7 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -431,7 +438,7 @@ public class AppActivity extends Activity implements OnClickListener {
431 poolRoleInfo.setReborn("0");//角色转生等级 438 poolRoleInfo.setReborn("0");//角色转生等级
432 poolRoleInfo.setCheckPointId("1");//关卡id 439 poolRoleInfo.setCheckPointId("1");//关卡id
433 poolRoleInfo.setCheckPointName("关卡名");//关卡名 440 poolRoleInfo.setCheckPointName("关卡名");//关卡名
434 - poolRoleInfo.setCallType(PoolRoleInfo.Type_EnterGame);//进入游戏(第一次创建角色后需再调用一次进入游戏) 441 + poolRoleInfo.setCallType(callType);//进入游戏(第一次创建角色后需再调用一次进入游戏)
435 // poolRoleInfo.setCallType(PoolRoleInfo.Type_CreateRole);//创建角色 442 // poolRoleInfo.setCallType(PoolRoleInfo.Type_CreateRole);//创建角色
436 // poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade);//角色升级 443 // poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade);//角色升级
437 444
...@@ -519,7 +526,7 @@ public class AppActivity extends Activity implements OnClickListener { ...@@ -519,7 +526,7 @@ public class AppActivity extends Activity implements OnClickListener {
519 private TextView txMsg,txSdkMsg; 526 private TextView txMsg,txSdkMsg;
520 private Activity mContext; 527 private Activity mContext;
521 528
522 - 529 + //该退出界面只为一个例子,游戏自己实现
523 private void showGameExitTips() { 530 private void showGameExitTips() {
524 AlertDialog.Builder dialog = new AlertDialog.Builder(this); 531 AlertDialog.Builder dialog = new AlertDialog.Builder(this);
525 int ic_dialog_alert_id = getRedIdByName("ic_dialog_alert", "drawable"); 532 int ic_dialog_alert_id = getRedIdByName("ic_dialog_alert", "drawable");
......
...@@ -46,6 +46,12 @@ ...@@ -46,6 +46,12 @@
46 android:layout_height="wrap_content" 46 android:layout_height="wrap_content"
47 android:visibility="gone" 47 android:visibility="gone"
48 android:text="注销" /> 48 android:text="注销" />
49 + <Button
50 + android:id="@+id/pb_bt_verifyname"
51 + style="?android:attr/buttonStyleSmall"
52 + android:layout_width="fill_parent"
53 + android:layout_height="wrap_content"
54 + android:text="获取生日判断是否成年" />
49 </LinearLayout> 55 </LinearLayout>
50 56
51 <LinearLayout 57 <LinearLayout
...@@ -74,28 +80,23 @@ ...@@ -74,28 +80,23 @@
74 style="?android:attr/buttonStyleSmall" 80 style="?android:attr/buttonStyleSmall"
75 android:layout_width="fill_parent" 81 android:layout_width="fill_parent"
76 android:layout_height="wrap_content" 82 android:layout_height="wrap_content"
77 - android:text="切换账号" /> 83 + android:text="注销/切换账号" />
78 84
79 <Button 85 <Button
80 android:id="@+id/pb_bt_openbbs" 86 android:id="@+id/pb_bt_openbbs"
81 style="?android:attr/buttonStyleSmall" 87 style="?android:attr/buttonStyleSmall"
82 android:layout_width="fill_parent" 88 android:layout_width="fill_parent"
83 android:layout_height="wrap_content" 89 android:layout_height="wrap_content"
84 - android:text="事件上报" /> 90 + android:text="事件上报(非必接)" />
91 + <Button
92 + android:id="@+id/pool_query_products_id"
93 + android:layout_width="fill_parent"
94 + android:layout_height="wrap_content"
95 + android:text="商品查询(国内不用接)" />
85 </LinearLayout> 96 </LinearLayout>
86 </LinearLayout> 97 </LinearLayout>
87 - <Button
88 - android:id="@+id/pb_bt_verifyname"
89 - style="?android:attr/buttonStyleSmall"
90 - android:layout_width="fill_parent"
91 - android:layout_height="wrap_content"
92 - android:text="实名认证" />
93 98
94 - <Button 99 +
95 - android:id="@+id/pool_query_products_id"
96 - android:layout_width="195dp"
97 - android:layout_height="wrap_content"
98 - android:text="商品查询" />
99 100
100 <TextView 101 <TextView
101 android:layout_width="fill_parent" 102 android:layout_width="fill_parent"
......
...@@ -2,13 +2,7 @@ ...@@ -2,13 +2,7 @@
2 2
3 ## 接入必读 3 ## 接入必读
4 注意! 4 注意!
5 -游戏如有需要获取以下权限的,收到权限回调之后再调用公共SDK的初始化接口 5 +因国家相关法规规定,不能未向用户告知同意收集用户信息,游戏自行弹窗提示用户同意之后,再调用公共SDK的初始化接口
6 -如无需要获取以下权限,则直接调用公共SDK的初始化接口
7 -
8 -```xml
9 -<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
10 -<uses-permission android:name="android.permission.READ_PHONE_STATE" />
11 -```
12 6
13 ` 7 `
14 接入公共SDK测试没问题后游戏打出为 母包 ,后续使用打包工具打对应 渠道包 8 接入公共SDK测试没问题后游戏打出为 母包 ,后续使用打包工具打对应 渠道包
...@@ -152,7 +146,7 @@ public static void submitRoleData(final PoolRoleInfo poolRoleInfo,final PoolRole ...@@ -152,7 +146,7 @@ public static void submitRoleData(final PoolRoleInfo poolRoleInfo,final PoolRole
152 | poolRoleInfo | 角色数据实体类 | 146 | poolRoleInfo | 角色数据实体类 |
153 | poolRoleListener | 角色数据提交结果回调通知,需实现 | 147 | poolRoleListener | 角色数据提交结果回调通知,需实现 |
154 148
155 - PoolRoleInfo 实体类字段说明(以下参数都为必传参数,如游戏没有的传 "无" 或者 "0") 149 +PoolRoleInfo 实体类字段说明(以下参数都为必传参数,如游戏没有的传 "无" 或者 "0")
156 | 字段名 | 说明 | 150 | 字段名 | 说明 |
157 | -------------- | ---------------------------------------- | 151 | -------------- | ---------------------------------------- |
158 | callType | 调用类型 Type_EnterGame 进入游戏(必接); Type_CreatRole 创建角色(必接); Type_RoleUpgrade 为角色更新(vip等级升级也由此类型上报)(必接); Type_SelectServer 为选择服务器(选接); Type_ExitServer 为退出服务器 (选接); Type_Change_RoleName 为改名(选接); Type_SelectRole 为选角(选接); Type_CheckPoint_Start 为关卡开始(选接); Type_CheckPoint_End 为关卡结束(选接);| 152 | callType | 调用类型 Type_EnterGame 进入游戏(必接); Type_CreatRole 创建角色(必接); Type_RoleUpgrade 为角色更新(vip等级升级也由此类型上报)(必接); Type_SelectServer 为选择服务器(选接); Type_ExitServer 为退出服务器 (选接); Type_Change_RoleName 为改名(选接); Type_SelectRole 为选角(选接); Type_CheckPoint_Start 为关卡开始(选接); Type_CheckPoint_End 为关卡结束(选接);|
...@@ -244,7 +238,7 @@ public static void pay(final PoolPayInfo poolPayInfo,final PoolPayListener poolP ...@@ -244,7 +238,7 @@ public static void pay(final PoolPayInfo poolPayInfo,final PoolPayListener poolP
244 支付信息实体类(PoolPayInfo)字段说明 238 支付信息实体类(PoolPayInfo)字段说明
245 | 参数 | 说明 | 239 | 参数 | 说明 |
246 | ----------- | ------------------- | 240 | ----------- | ------------------- |
247 -| amount | 金额(单位元,必须大于 0,需传入整型数据`传小数时兑换比例和金额相乘为整数(即金额传 "0.99" 兑换比例传 "100")`) | 241 +| amount | 金额(单位元,必须大于 0,需传入整型数据`海外游戏传小数时兑换比例和金额相乘为整数(即金额传 "0.99" 兑换比例传 "100")`) |
248 | productId | 商品 ID(如果没有可以传空字符串) | 242 | productId | 商品 ID(如果没有可以传空字符串) |
249 | productName | 商品描述 | 243 | productName | 商品描述 |
250 | roleid | 角色 id | 244 | roleid | 角色 id |
...@@ -299,7 +293,7 @@ public static void pay(final PoolPayInfo poolPayInfo,final PoolPayListener poolP ...@@ -299,7 +293,7 @@ public static void pay(final PoolPayInfo poolPayInfo,final PoolPayListener poolP
299 293
300 #### 2.6、检测 SDK 是否含有用户中心接口(必接) 294 #### 2.6、检测 SDK 是否含有用户中心接口(必接)
301 295
302 -说明:如果接口返回为 true,表示需要游戏方在合适的界面中添加一个用户中心的按钮,点击按钮时调用文档中 2.7 的用户中心接口; 296 +说明:如果接口返回为 true表示需要游戏方在合适的界面中添加一个用户中心的按钮,点击按钮时调用文档中 2.7 的用户中心接口;
303 297
304 如果返回 false,则不做处理 298 如果返回 false,则不做处理
305 299
...@@ -309,7 +303,7 @@ public static boolean hasChannelCenter() ...@@ -309,7 +303,7 @@ public static boolean hasChannelCenter()
309 ``` 303 ```
310 304
311 ```java 305 ```java
312 - PoolSdkHelper.hasChannelCenter();//判断渠道SDK有无用户中心 306 +PoolSdkHelper.hasChannelCenter();//判断渠道SDK有无用户中心
313 ``` 307 ```
314 308
315 #### 2.7、用户中心接口(必接) 309 #### 2.7、用户中心接口(必接)
...@@ -726,6 +720,6 @@ e.printStackTrace(); ...@@ -726,6 +720,6 @@ e.printStackTrace();
726 720
727 ```xml 721 ```xml
728 android:authorities="com.xxx.provider" 722 android:authorities="com.xxx.provider"
729 -<!-- 写为下面这样可 --> 723 +<!-- 写为下面这样可 -->
730 android:authorities="originPackageTag.provider" 724 android:authorities="originPackageTag.provider"
731 ``` 725 ```
......
No preview for this file type