lizhihui

更新oaid统计

Showing 97 changed files with 1406 additions and 1185 deletions
{
"supplier":{
"vivo":{
"appid":"100215079"
},
"xiaomi":{
},
"huawei":{
},
"oppo":{
}
}
}
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<Objective-C-extensions>
<file>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" />
</file>
<class>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" />
</class>
<extensions>
<pair source="cpp" header="h" fileNamingConvention="NONE" />
<pair source="c" header="h" fileNamingConvention="NONE" />
</extensions>
</Objective-C-extensions>
</code_scheme>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<compositeConfiguration>
<compositeBuild compositeDefinitionSource="SCRIPT" />
</compositeConfiguration>
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="resolveModulePerSourceSet" value="false" />
</GradleProjectSettings>
</option>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
</set>
</option>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Demo_PoolSdk</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.python.pydev.PyDevBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.python.pydev.pythonNature</nature>
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
</natures>
</projectDescription>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?eclipse-pydev version="1.0"?><pydev_project>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.7</pydev_property>
</pydev_project>
connection.arguments=
connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
connection.java.home=null
connection.jvm.arguments=
connection.project.dir=
derived.resources=.gradle,build
eclipse.preferences.version=1
project.path=\:
eclipse.preferences.version=1
encoding/<project>=UTF-8
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.source=1.6
@echo off
cd /d %~dp0
"%ANT_ROOT%\bin\ant" clean release -f build.xml
pause
\ No newline at end of file
# This file is used to override default values used by the Ant build system.
#
# This file must be checked into Version Control Systems, as it is
# integral to the build system of your project.
# This file is only used by the Ant script.
# You can use this to override default values such as
# 'source.dir' for the location of your java source folder and
# 'out.dir' for the location of your output folder.
# You can also use it define how the release builds are signed by declaring
# the following properties:
# 'key.store' for the location of your keystore and
# 'key.alias' for the name of the key to use.
# The password will be asked during the build when you use the 'release' target.
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>sdk_3</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.aptana.editor.php.aptanaPhpBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.aptana.ide.core.unifiedBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.aptana.projects.webnature</nature>
<nature>com.aptana.editor.php.phpNature</nature>
</natures>
<filteredResources>
<filter>
<id>1489975865951</id>
<name></name>
<type>26</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-node_modules</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="format-detection" content="telephone=no">
<meta name="screen-orientation" content="portrait">
<meta name="full-screen" content="yes">
<meta http-equiv="x-ua-compatible" content="IE=edge" />
<title>
手游平台支付
</title>
<style>
h4,p{font-size: 24px;
font-weight: normal;
padding: 0 20px;font-family: "微软雅黑"; width: 100%;}
p{ text-indent: 2em;}
</style>
</head>
<body>
<div class="mask"></div>
<div class="horizontal" style="height: 220px;">
<h4>1. 9133账号服务条款的接受</h4>
<p>1.1 9133账号由上海游爱之星信息科技有限公司(以下简称“游爱之星”)及其关联公司所有并合法运营,游爱之星及其关联公司并在本用户服务协议的条款和要求下提供服务。</p>
<p>1.2 当用户访问、浏览及使用9133账号提供的各项服务、业务时,用户便表明其接受了本服务协议的条款,并同意受本服务协议的约束,用户并保证其提交的信息真实、准确、及时和完整;若用户不同意本协议条款的,请停止注册程序。</p>
<p>1.3 本服务协议所称的用户是指完全同意本服务协议所有条款(以下简称“服务条款”)并访问或浏览9133账号相关页面的服务接受者。</p>
<h4>2. 服务条款的变更和修改</h4>
<p>游爱之星保留依其自主判断在将来的任何时间变更、修改、增加或删除本服务协议条款的权利。所有修改的协议均构成本服务协议的一部分。游爱之星有权随时对服务条款进行修改,一旦发生服务条款的变动,游爱之星将公示修改的内容;当用户使用9133账号的任何服务时,应接受9133账号随时提供的与该服务相关的规则或说明,并且此规则或说明均构成本服务条款的一部分。用户如果不同意服务条款的修改,可以主动取消已经获得的服务;如果用户继续享用服务,则视为用户已经接受服务条款的修改。</p>
<h4>3. 服务说明</h4>
<p>3.1 游爱之星运用自己的操作系统通过国际互联网向用户提供丰富的网上资源,包括网盘、书签、邮箱、皮肤、微博、空间、游戏、论坛、SNS社区和实时定位、好友识别等其它个性化服务(以下简称本服务)。除非另有明确规定,基于增强或强化目前服务目的所新增的任何新功能、服务、新产品,均无条件地适用本服务条款。</p>
<p>3.2 除非本协议中另有规定,否则游爱之星对服务不承担任何责任,即用户对服务的使用承担风险。游爱之星不保证服务一定会满足用户的使用要求,也不保证服务不会中断,对服务的及时性、安全性、准确性也不作担保。</p>
<p>3.3 为使用本服务,用户必须自行配备接入国际互联网所必需的设备,包括计算机、手机、掌上电脑及其他存取装置或接受服务所需其它设备,并自行支付与此服务有关的费用。 </p>
<p>3.4 游爱之星保留在日后对全部或部分服务项目收取费用的权利。</p>
<p>3.5 用户接受本服务时,须提供完整、真实、准确、最新的个人资料并按其变更情况不断更新账号资料。</p>
<p>3.6 若用户提供任何错误、不实、过时或不完整的资料,或者游爱之星有合理理由怀疑前述资料为错误、不实、过时或不完整,游爱之星有权暂停或终止用户的账号,并拒绝其现在或将来使用本服务的全部或一部分。</p>
<p>3.7 游爱之星有权规定并修改使用本服务的一般措施,包括但不限于决定保留电子邮件信息或其他上载内容的时间、限制本服务一个账号可接收信息的数量等措施。如9133账号未能储存或删除本服务的内容或其他信息,游爱之星不负担任何责任。对于用户3个月未使用的账号,游爱之星有权(但无义务)予以删除。</p>
<p>3.8 由于用户经由本服务张贴、上传或传送内容、与本服务连线、违反本服务条款或侵害其他人的任何权利导致任何第三方提出权利主张或使游爱之星遭受任何形式的罚款或处罚,用户同意以适当方式充分消除对游爱之星的不利影响,赔偿游爱之星及其分公司、关联公司、代理人或其他合作伙伴及员工的损失,并使其免受损害。</p>
<h4>4. 用户应遵守以下法律及法规</h4>
<p>用户同意遵守中华人民共和国相关法律、法规的规定,在使用9133账号时,不得侵犯任何第三方的合法权益。在任何情况下,如果游爱之星有合理理由认为用户的行为可能违反上述法律、法规或侵犯第三方的合法权益,游爱之星可以在任何时候,不经事先通知终止向该用户提供服务。用户应了解国际互联网的无国界性,应特别注意遵守当地所有有关的法律和法规。</p>
<h4>5. 用户隐私权</h4>
<p>用户在遵守上述协议要求的前提下,游爱之星将充分保护用户享有个人隐私。除非因以下原因,未经用户授权,本网站不公开、编辑或透露其个人账号资料:</p>
<p>根据有关法律法规的要求;</p>
<p>按照相关政府主管部门的要求;</p>
<p>维护社会个体和公众的安全;</p>
<p>为维护社会公共利益的需要;</p>
<p>维护本网站的合法权益;</p>
<p>事先获得用户的明确授权;</p>
<p>符合其他相关的要求。</p>
<h4>6. 用户账号、密码和安全</h4>
<p>6.1 用户一旦注册成功,便成为游爱之星的注册用户,将得到一个密码和账号。用户有义务保证密码和账号的安全。用户对利用该密码和账号所进行的一切活动负全部责任;因此所衍生的任何损失或损害,游爱之星无法也不会承担任何责任。</p>
<p>6.2 用户的密码和账号遭到未授权的使用或发生其他任何安全问题,用户可以立即通知游爱之星。用户在每次连线结束,应结束账号使用,否则用户可能得不到9133账号的安全保护。</p>
<p>6.3 游爱之星禁止用户交易9133账号,游爱之星有权收回用户交易的9133账号。如果因用户交易9133账号引起的任何纠纷,游爱之星不承担任何责任。</p>
<h4>7. 对用户信息的存储和限制</h4>
<p>游爱之星不对用户在9133账号任何服务下发布信息的删除或储存失败负责。游爱之星有权判断用户的行为是否符合9133账号服务条款的规定,如果游爱之星认为用户违反了服务条款的规定,游爱之星有权删除用户发布或发送的信息,直至中断或终止向其提供服务。</p>
<h4>8. 禁止用户从事以下行为:</h4>
<p>8.1 上载、张贴、发送或传送任何非法、淫秽、色情、低俗的,胁迫、骚扰、中伤他人的,诽谤、侵害他人隐私或诋毁他人名誉或商誉的,其他违反国家法律法规、社会主义道德规范及不适当的信息或电子邮件,包括但不限于资讯、资料、文字、软件、音乐、照片、图形、信息、视频或其他资料(以下简称内容)。</p>
<p>8.2 以任何方式危害未成年人。</p>
<p>8.3 冒充任何人或机构,或以虚伪不实的方式谎称或使人误认为与任何人或任何机构有关。</p>
<p>8.4 伪造标题或以其他方式操控识别资料,使人误认为该内容为游爱之星所传送。</p>
<p>8.5 上载、张贴、发送电子邮件或以其他方式传送无权传送的内容。</p>
<p>8.6 上载、张贴、发送电子邮件或以其他方式传送侵犯任何人的专利、商标、著作权、商业秘密或其他民事权利之内容。</p>
<p>8.7 上载、张贴、发送电子邮件或以其他方式传送广告函件、促销资料、垃圾邮件等。</p>
<p>8.8 干扰或破坏本服务或与本服务相连的服务器和网络,或不遵守本服务协议之规定。</p>
<p>8.9 违反任何相关的中国法律、法规、规章、条例等其他具有法律约束力的规范。</p>
<p>8.10 跟踪或以其他方式骚扰他人。</p>
<p>8.11 窃取他人密码、账号和其它数字化信息或财产。</p>
<p>8.12 其他被游爱之星视为不适当的行为。</p>
<p>8.13 游爱之星有权对用户载、张贴、发送的内容进行审核,有任何违反法律法规或本协议之有关规定的内容,游爱之星有权立即将其删除或屏蔽,且不需要对用户另行通知。</p>
<p>8.14 9133账号封号规则</p>
<p>1.无视国家规定,在姓名、游戏角色名等地方中使用违规词语或不文明词语、非法字符</p>
<p>处罚规则:视情节轻重给予时限性冻结账号的处罚;情节严重者,给予永久冻结的处罚。</p>
<p>2.涉及到侵入、拦截、破坏、复制、修改游戏程序,以及宣扬、叫卖和使用各种辅助性程序或恶性非法程序,即使用外挂程序、或在游戏中宣传外挂程序的行为。</p>
<p>处罚规则:视情节轻重给予时限性冻结账号的处罚;情节严重者,给予永久冻结的处罚。</p>
<p>3.以任何弄虚作假的形式来蒙蔽或者欺骗其他用户,如发布模仿官方并带有病毒的网站、非官方中奖信息、非法广告、游戏代码、木马、外挂、病毒、色情信息、垃圾广告等信息</p>
<p>处罚规则:视情节轻重给予时限性冻结账号的处罚;情节严重者,给予永久冻结的处罚。</p>
<p>4.通过9133账号发布非法网站,宣传或使用私服、游戏代码、木马、外挂、病毒、色情信息、垃圾广告、非法广告等信息</p>
<p>处罚规则:视情节轻重给予时限性冻结账号的处罚;情节严重者,给予永久冻结的处罚。</p>
<p>5.通过9133账号发布触犯政府法令的文字如:煽动、反动、猥亵、暴力、种族歧视、宗教歧视等字眼,包含这类相关字的反向书写。</p>
<p>处罚规则:视情节轻重给予时限性冻结账号的处罚;情节严重者,给予永久冻结的处罚,并上报相关部门追究其法律责任。</p>
<p>6.宣传或贩卖BUG、攻击服务器运行、牟取个人利益、影响游戏公平性,以及影响其他玩家正常进行游戏等行为</p>
<p>处罚规则:查证核实后,将暂停账号,并清除所有非法物品;视情节轻重给予时限性冻结账号的处罚;情节严重者,给予永久冻结的处罚。</p>
<p>7.盗取或参与盗取他人账号,给被盗者造成严重损失的行为</p>
<p>处罚规则:查证核实后,视情节轻重给予时限性冻结账号的处罚;情节严重者,给予永久冻结的处罚,并上报相关部门追究其法律责任。</p>
<p>8.侮辱、毁谤、猥亵、威胁、辱骂其他用户,扭曲事实、恶意散布不实谣言,恶意影响游戏环境等行为</p>
<p>处罚规则:视情节轻重给予时限性冻结账号的处罚;情节严重者,给予永久冻结的处罚。</p>
<h4>9. 内容及其披露</h4>
<p>9.1 用户对经由本服务上载、张贴或传送的内容负全部责任;对于经由本服务而传送的内容,游爱之星不保证前述内容的正确性、完整性或及时性。在任何情况下,游爱之星均不对任何用户提供的内容负责,包括但不限于任何内容发生任何错误或纰漏以及衍生的任何损失或损害,用户负责处理与其提供的内容相关的任何及全部纠纷。游爱之星有权(但无义务)拒绝或删除经由本服务提供的任何内容。用户使用上述内容,应自行承担风险。</p>
<p>9.2 游爱之星有权利在下述情况下,对内容进行保存或披露:</p>
<p>法律程序所规定</p>
<p>本服务条款规定</p>
<p>被侵害的第三人提出权利主张</p>
<p>为保护9133账号、其使用者及社会公众的权利、财产或人身安全</p>
<p>其他游爱之星认为有必要的情况。</p>
<h4>10. 电子公告栏的张贴内容</h4>
<p>10.1 “电子公告栏”包括空间、论坛、SNS社区和其它一般公众可以使用的区域;</p>
<p>10.2 用户一旦在本服务电子公告栏上传或张贴内容,即视为用户授予游爱之星该内容著作权之免费及非独家、永久的许可使用权,游爱之星有权为展示、传播及推广前述内容之目的,对上述内容进行复制、修改、出版。由此展示、传播及推广行为所产生的损失或利润,均由游爱之星承担或享受。游爱之星有权自主决定是否给予此类用户鼓励或奖励。</p>
<p>10.3 因用户进行上述张贴,而导致任何第三方提出索赔要求或衍生的任何损害或损失,用户须承担全部责任。</p>
<p>10.4 非经游爱之星事先许可,用户不得对他人上传或张贴在电子公告栏或本服务其他内容进行复制、出售或用作其他商业用途。</p>
<h4>11. 9133账号服务使用规则</h4>
<p>11.1 用户必须保证,拥有上传之照片、文字等作品之著作权或已获得合法授权,在本网站之上传行为未侵犯任何第三方之合法权益。否则,将由用户承担由此带来的一切法律责任;用户不得将任何内部资料、机密资料、涉及他人隐私资料或侵犯任何人的专利、商标、著作权、商业秘密或其他专属权利之内容加以上载、张贴、或以其他方式传送。</p>
<p>11.2 用户不得利用本服务进行故意制作、传播计算机病毒等破坏性程序,不得针对本服务、与本服务连接的服务器或网络制造干扰、混乱,或违反连接本服务的网络的任何要求、程序、政策或规则,否则游爱之星将保留追究其法律责任的权利并有权将其提交给相关部门处理。</p>
<p>11.3 游爱之星有权对用户上传的图片、添加的文字等内容进行审核,有任何违反法律法规或本协议之有关规定的图片、文字,游爱之星有权立即将其删除或屏蔽,且不需要对用户另行通知。</p>
<p>11.4 用户不得将广告函件、促销资料、垃圾邮件等,加以上载、张贴、发送电子邮件或以其他方式传送。</p>
<p>11.5 游爱之星郑重提请用户注意,任何经由本服务以上载、张贴、发送的资料、文字、照片、图形、视讯、信息、用户的登记资料或其他资料(以下简称“内容”),无论系公开还是私下传送,均由内容提供者承担责任。游爱之星无法控制经由本服务传送之内容,也无法对用户的使用行为进行全面控制,因此不保证内容的合法性、正确性、完整性、真实性或品质;用户已预知使用本服务时,可能会接触到令人不快、不适当或令人厌恶之内容,并同意将自行加以判断并承担所有风险,而不依赖于游爱之星。但在任何情况下,游爱之星有权依法停止传输任何前述内容并采取相应行动,包括但不限于暂停用户使用本服务的全部或部分,保存有关记录,并向有关机关报告。但游爱之星有权(但无义务)依其自行之考量,拒绝和删除可经由本服务提供之违反本条款的或其他引起游爱之星或用户反感的任何内容。</p>
<p>11.6 用户完全理解并同意,若第三方在用户不知情或未经用户同意的前提下,将其文字、图片作品上传于9133账号空间及由此所产生的任何可能侵害其权益的行为,游爱之星均不对任何人承担任何责任。</p>
<p>11.7 游爱之星有权根据政府机关或权利人的要求删除用户上载、张贴、发送的内容,无论游爱之星事先是否通知。</p>
<p>11.8 游爱之星有权根据服务的需要,收回用户所用的空间域名或减少用户所用空间的大小,无论游爱之星事先是否通知。</p>
<h4>12. 9133论坛规则</h4>
<p>12.1 关于用户名和昵称</p>
<p>不得使用党和国家领导人或其他知名人士的真实姓名、字号、艺名、笔名作为用户名和昵称;</p>
<p>不得使用国家机构或其他机构的名称作为用户名和昵称;</p>
<p>不得使用和其他网友之名相近、相仿的用户名和昵称;</p>
<p>不得使用不文明、不健康,或带攻击性、侮辱性的用户名和昵称;</p>
<p>请勿使用易产生歧义、引起他人误解的用户名和昵称;</p>
<p>不得使用各种奇形怪状的符号作为用户名和昵称;</p>
<p>对于违反规定或产生不良后果的用户名和昵称,本站有权删除而不必事先通知。</p>
<p>12.2 关于签名</p>
<p>不得出现宣扬反动、封建迷信、淫秽、色情、赌博、暴力、凶杀、恐怖、教唆犯罪等不符合国家法律规定的以及任何包含种族、性别、宗教歧视性和猥亵性的信息内容;</p>
<p>不得出现有侮辱性言语、挑衅、辱骂其他人以及不健康内容;</p>
<p>不得出现广告性质的内容以及本公司以外其他网站的链接;</p>
<p>游爱之星有权在不需要通知和解释的情况下除去违反以上规定的签名内容,并对情节严重者予以封号处理。</p>
<p>12.3 关于发贴内容</p>
<p>遵守相关法规,严禁发表违反法律法规及社会主义道德规定的内容;</p>
<p>使用文明用语,不得张贴对任何人进行人身攻击、谩骂、诋毁的言论;</p>
<p>不得张贴未经公开报道、未经证实的消息;</p>
<p>不得张贴与所在论坛主题无关的消息、言论和图片;</p>
<p>未经游爱之星同意,不得张贴带有商业性质的内容或任何形式的广告,不得张贴游爱之星及其关联公司以外其他网站的链接;</p>
<p>不得恶意灌水,内容相同的帖子不得一文多发;</p>
<p>不得在帖子中(标题和内容)加入各种奇形怪状的符号;</p>
<p>转贴文章应注明原始出处和时间;</p>
<p>对于违反以上规定的内容,在不需要通知和解释的情况下,游爱之星以及版主有权予以删除,并对情节严重者予以封账号处理。</p>
<p>12.4 关于贴图</p>
<p>不得张贴宣扬反动、封建迷信、淫秽、色情、赌博、暴力、凶杀、恐怖、教唆犯罪等不符合国家法律规定的以及任何包含种族、性别、宗教歧视性和猥亵性的图片;</p>
<p>不得出现带有侮辱性、挑衅、辱骂其他人以及不健康内容的图片;</p>
<p>请勿使用易产生歧义、引起他人误解的图片;</p>
<p>摘录、转贴的图片请注明出处及作者,禁止张贴侵犯他人著作权、版权等知识产权的图片;</p>
<p>不得张贴与论坛主题无关的图片;</p>
<p>游爱之星有权在不需要通知和解释的情况下删除违反以上规定的图片,并对情节严重者予以封账号处理。</p>
<h4>13. 9133账号游戏规则</h4>
<p>13.1 用户应当遵守游戏公约、玩家守则及不时发布的游戏规则、公告等;</p>
<p>13.2 用户不得通过不正当的手段或其他不公平的手段使用9133账号的游戏产品和服务或参与9133账号的游戏活动。用户不得干扰游爱之星正常地提供产品和服务,包括但不限于:攻击、侵入游爱之星的网站服务器或使网站服务器过载;制作、发布、传播、使用任何形式的妨碍游戏公平性的辅助工具或程序(外挂);利用程序的漏洞和错误(Bug)破坏游戏的正常进行或传播该漏洞或错误(Bug);不合理地干扰或阻碍他人使用游爱之星所提供的产品和服务。</p>
<p>13.3 为维护游戏的公平性,如果游爱之星发现用户数据异常,无论用户对该异常数据产生是否负有过错,游爱之星均有权根据本规则、游戏公约、玩家守则及后期不时发布的游戏公告等,采取相应措施:包括但不限于对该账号的冻结、终止、删除;用户在此承诺游爱之星有权采取上述行动,并承诺不得就上述行为要求游爱之星做任何补偿或退费。</p>
<p>13.4 游爱之星在此特别提示用户:</p>
<p>游爱之星提供的游戏将按照现状提供,用户明确知道游戏中存在已知和未知的漏洞和错误(Bug)。尽管游爱之星将尽最大努力解决已知的漏洞和错误(Bug),但用户知道或应该知道游戏中仍可能包含未知的漏洞和错误(Bug)等。用户同意不向游爱之星及其关联公司因任何漏洞和错误(Bug)主张任何赔偿。游爱之星不提倡虚拟物品之间的交易,并不对该交易中产生的任何问题进行支持和保障。</p>
<h4>14. 手机特色功能说明</h4>
<p>14.1 用户明确知道,游爱之星提供的实时定位服务将向用户及用户的不特定9133账号好友提供用户的实时空间位置信息。</p>
<p>14.2 用户可选择向9133账号导入手机通讯簿上所对应的好友关系链,但游爱之星确保将不导入好友关系链之外的任何信息(包括好友姓名及其他任何相关信息) </p>
<p>14.3 游爱之星将对好友关系链通过不可逆转的方式加密存储,包括9133账号和您的任何好友都将无法获知您的真实好友关系链和真实手机号码。</p>
<h4>15. 游爱之星的知识产权及其他权利</h4>
<p>15.1 游爱之星对本服务及本服务所使用的软件和受知识产权相关法律或其他法律保护的资料享有相应的权利。</p>
<p>15.2 经由本服务传送的内容,受到著作权法、商标法、专利法或其他法律的保护;未经游爱之星明示授权许可,用户不得进行修改、出租、散布或衍生其他作品,用户本人创作并在公开使用区域张贴的内容除外。</p>
<p>15.3 用户对本服务所使用的软件有非专属性使用权,但自己不得或许可任何第三方复制、修改、出售或衍生产品。</p>
<p>15.4 9133账号及其他9133账号图样、产品及服务名称,均为游爱之星及其关联公司所享有的商标,未经游爱之星所事先书面授权,任何人不得使用、 复制或用作其他用途。</p>
<h4>16. 免责声明</h4>
<p>16.1 游爱之星对于本服务包含的或用户经由或从任何与本服务有关的途径所获得的任何内容、信息或广告,不保证其正确性或可靠性;并且对于用户经本服务上的广告、展示而购买、取得的任何产品、信息或资料,游爱之星不负保证责任。用户自行承担担使用本服务的风险。</p>
<p>16.2 游爱之星有权但无义务,改善或更正本服务任何部分之任何疏漏、错误。</p>
<p>16.3 游爱之星不保证以下事项(包括但不限于):</p>
<p>本服务适合用户的使用要求;</p>
<p>本服务不受干扰,及时、安全、可靠或不出现错误;</p>
<p>用户经由本服务取得的任何产品、服务或其他材料符合用户的期望;</p>
<p>16.4 用户使用经由本服务下载的或取得的任何资料,其风险自行负担;因该使用而导致用户手机或其他设备系统损坏或资料流失,用户应负完全责任;</p>
<p>16.5 对基于以下原因而造成的利润、商业信誉、资料的损失或其他有形或无形损失,游爱之星不承担任何直接、间接、附带、衍生或惩罚性的赔偿:</p>
<p>本服务使用或无法使用;</p>
<p>经由本服务购买或取得的任何产品、资料或服务;</p>
<p>用户资料遭到未授权的使用或修改;</p>
<p>用户资料丢失或被删除;</p>
<p>其他与本服务相关的事宜。</p>
<p>16.6 用户在浏览网际网路时自行判断使用9133账号的检索目录。该检索目录可能会引导用户进入到被认为具有攻击性或不适当的网站,游爱之星没有义务查看检索目录所列网站的内容,因此,对其正确性、合法性、正当性不负任何责任。</p>
<h4>17. 服务的修改和终止</h4>
<p>游爱之星有权在未事前通知的情况下在任何时候,暂时或永久地修改或终止本服务或其中任何一部分。游爱之星对本服务的修改或终止对用户和任何第三人不承担任何责任。游爱之星有权基于任何理由,终止用户的账号、密码或拒绝其使用本服务,或删除、转移用户存储、发布在本服务的内容,游爱之星采取上述行为均不需通知,并且对用户和任何第三人不承担任何责任。</p>
<h4>18. 通知</h4>
<p>游爱之星向用户发出的通知,可以采用电子邮件、页面公告、常规信件、电话或游爱之星认为适合的形式。服务条款的修改或其他事项变更时,游爱之星将会以上述形式进行通知。</p>
<h4>19. 全部协议</h4>
<p>本服务协议和游爱之星的其他服务条款构成完整的协议。</p>
<h4>20. 法律的适用和管辖</h4>
<p>本服务条款的生效、履行、解释及争议的解决均适用中华人民共和国法律,发生的争议提交广州仲裁委员会裁决。如果本服务协议中某项条款因与中华人民共和国现行法律相抵触而导致无效,将不影响其他部分的效力。</p>
<h4>21. 生效条件</h4>
<p>本协议自用户访问、浏览及使用9133账号之时开始生效。</p>
</div>
<!-- end -->
<script type="text/javascript" src="js/fastclick.min.1.0.js?20150923001"></script>
<script type="text/javascript" src="js/zepto.min.js?20150923001"></script>
<script type="text/javascript">
window.isGetData = 0;
$(function() {
FastClick.attach(document.body);
});
</script>
<script type="text/javascript" src="js/core.min.js?20150923001" ></script>
<script type="text/javascript" src="js/simpScroller-min.js"></script>
<script>
simpScroller(document.querySelector(".horizontal"), {});
</script>
</body>
</html>
\ No newline at end of file
20170815
\ No newline at end of file
SERVER_URL=http://sdk.i9133.com
CDN_SERVER_URL=http://cdn.i9133.com
SDK_TYPE=.sys_config_9133
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project name="PoolSdk" default="help">
<!-- The local.properties file is created and updated by the 'android' tool.
It contains the path to the SDK. It should *NOT* be checked into
Version Control Systems. -->
<property file="local.properties" />
<!-- The ant.properties file can be created by you. It is only edited by the
'android' tool to add properties to it.
This is the place to change some Ant specific build properties.
Here are some properties you may want to change/update:
source.dir
The name of the source directory. Default is 'src'.
out.dir
The name of the output directory. Default is 'bin'.
For other overridable properties, look at the beginning of the rules
files in the SDK, at tools/ant/build.xml
Properties related to the SDK location or the project target should
be updated using the 'android' tool with the 'update' action.
This file is an integral part of the build system for your
application and should be checked into Version Control Systems.
-->
<property file="ant.properties" />
<!-- if sdk.dir was not set from one of the property file, then
get it from the ANDROID_HOME env var.
This must be done before we load project.properties since
the proguard config can use sdk.dir -->
<property environment="env" />
<condition property="sdk.dir" value="${env.ANDROID_HOME}">
<isset property="env.ANDROID_HOME" />
</condition>
<!-- The project.properties file is created and updated by the 'android'
tool, as well as ADT.
This contains project specific properties such as project target, and library
dependencies. Lower level build properties are stored in ant.properties
(or in .classpath for Eclipse projects).
This file is an integral part of the build system for your
application and should be checked into Version Control Systems. -->
<loadproperties srcFile="project.properties" />
<!-- quick check on sdk.dir -->
<fail
message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
unless="sdk.dir"
/>
<!--
Import per project custom build rules if present at the root of the project.
This is the place to put custom intermediary targets such as:
-pre-build
-pre-compile
-post-compile (This is typically used for code obfuscation.
Compiled code location: ${out.classes.absolute.dir}
If this is not done in place, override ${out.dex.input.absolute.dir})
-post-package
-post-build
-pre-clean
-->
<import file="custom_rules.xml" optional="true" />
<!-- Import the actual build file.
To customize existing targets, there are two options:
- Customize only one target:
- copy/paste the target into this file, *before* the
<import> task.
- customize it to your needs.
- Customize the whole content of build.xml
- copy/paste the content of the rules files (minus the top node)
into this file, replacing the <import> task.
- customize to your needs.
***********************
****** IMPORTANT ******
***********************
In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
in order to avoid having your file be overridden by tools such as "android update project"
-->
<!-- version-tag: 1 -->
<import file="${sdk.dir}/tools/ant/build.xml" />
</project>
<?xml version="1.0" encoding="UTF-8"?>
<lint>
</lint>
\ No newline at end of file
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
# location of the SDK. This is only used by Ant
# For customization when using a Version Control System, please read the
# header note.
sdk.dir=D:\\android\\sdk
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
target=android-21
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/public_sdk_self_demo_btn_main_s" android:state_selected="true"/>
<item android:drawable="@drawable/public_sdk_self_demo_btn_main_s" android:state_pressed="true"/>
<item android:drawable="@drawable/public_sdk_self_demo_btn_main_n"/>
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/public_sdk_self_demo_btn_login_s" android:state_selected="true"/>
<item android:drawable="@drawable/public_sdk_self_demo_btn_login_s" android:state_pressed="true"/>
<item android:drawable="@drawable/public_sdk_self_demo_btn_login_n"/>
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/public_sdk_self_demo_main" >
<Button
android:id="@+id/ya_channel_center"
android:layout_width="180dp"
android:layout_height="60dp"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/ya_pay_bt"
android:background="@drawable/public_sdk_self_ya_bt_selector"
android:onClick="yaOnClick"/>
<Button
android:id="@+id/ya_switch_account_bt"
android:layout_width="180dp"
android:layout_height="60dp"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/ya_submit_role_data_bt"
android:background="@drawable/public_sdk_self_ya_bt_selector"
android:onClick="yaOnClick" />
<Button
android:id="@+id/ya_submit_role_data_bt"
android:layout_width="180dp"
android:layout_height="60dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:background="@drawable/public_sdk_self_ya_bt_selector"
android:onClick="yaOnClick" />
<Button
android:id="@+id/ya_pay_bt"
android:layout_width="180dp"
android:layout_height="60dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="@drawable/public_sdk_self_ya_bt_selector"
android:onClick="yaOnClick" />
<Button
android:id="@+id/logout_bt"
android:layout_width="180dp"
android:layout_height="60dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:background="@drawable/public_sdk_self_ya_bt_selector"
android:onClick="yaOnClick"
android:text="注销"
android:textColor="@android:color/black"
/>
<Button
android:id="@+id/forum_bt"
android:layout_width="180dp"
android:layout_height="60dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@drawable/public_sdk_self_ya_bt_selector"
android:onClick="yaOnClick"
android:text="论坛"
android:textColor="@android:color/black"
/>
</RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:background="@drawable/public_sdk_self_sdk_login_bg"
android:layout_height="match_parent" >
<Button
android:id="@+id/ya_login_bt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="28dp"
android:layout_marginTop="21dp"
android:background="@drawable/public_sdk_self_ya_login_bt_selector"
android:onClick="yaOnClick" />
<Button
android:id="@+id/ya_enter_game_bt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/ya_login_bt"
android:layout_below="@+id/ya_login_bt"
android:layout_marginTop="28dp"
android:background="@drawable/public_sdk_self_ya_login_bt_selector"
android:onClick="yaOnClick"/>
</RelativeLayout>
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.youai.demo.poolsdk"
minSdkVersion 19
targetSdkVersion 29
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
}
No preview for this file type
No preview for this file type
# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
......
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.youai.poolsdk.demo"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
package="com.youai.demo.poolsdk">
<!-- SDK start -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
......@@ -36,7 +30,7 @@
android:name="com.youai.foolsdk.demo.AppActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
......@@ -70,14 +64,6 @@
<action android:name="com.youai.sdk.YouaiService" />
</intent-filter>
</service>
<service
android:name="com.youai.sdk.FloatViewService"
android:enabled="true"
android:exported="true" >
<intent-filter>
<action android:name="com.youai.sdk.FloatViewService" />
</intent-filter>
</service>
<receiver android:name="com.youai.sdk.Receiver" >
<intent-filter>
......@@ -97,14 +83,6 @@
android:configChanges="keyboardHidden|navigation|orientation"
android:exported="false"
android:screenOrientation="behind" />
<activity
android:name=".wxapi.WXPayEntryActivity"
android:exported="true"
android:launchMode="singleTop" />
<activity
android:name=".wxapi.WXEntryActivity"
android:exported="true"
android:launchMode="singleTop" />
<!-- SDK end -->
</application>
......
......@@ -2,18 +2,18 @@
<config>
<sdkconfig
YA_APPID="576d079de138233c142da6a2"
YA_APPKEY="bf455586ef90b4470d17d167164671e2"
gamesimplename="sstx_dl"
sdksimplename="i9133"
YA_APPID="58fd78a9834e7246b8dc0eac"
YA_APPKEY="b06b86b79c25774ec758657a7203bae6"
gamesimplename="fytx_test"
sdksimplename="youyu"
sdkversioncode="V1_0"
channelparameter1=""
channelparameter2=""
custom=""
gamechannelid=""
logincheckurl="http://login.public.sdk.gzyouai.com/logincheck/check"
paycheckurl="http://pay.public.sdk.gzyouai.com/paycheck/confirm"
payorderurl="http://pay.public.sdk.gzyouai.com/paycheck/create"
logincheckurl="http://183.136.223.85:9010/logincheck/check/"
payorderurl="http://183.136.223.85:9020/paycheck/create"
paycheckurl="http://183.136.223.85:9020/paycheck/confirm"
usertype="gssaXIIEiL0=" />
</config>
\ No newline at end of file
......
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="format-detection" content="telephone=no">
<meta name="screen-orientation" content="portrait">
<meta name="full-screen" content="yes">
<meta http-equiv="x-ua-compatible" content="IE=edge" />
<title>
手游平台支付
</title>
<style>
h4,p{font-size: 24px;
font-weight: normal;
padding: 0 20px;font-family: "微软雅黑"; width: 100%;}
p{ text-indent: 2em;}
</style>
</head>
<body>
<div class="mask"></div>
<div class="horizontal" style="height: 220px;">
<h4>1. 游娱账号服务条款的接受</h4>
<p>1.1 游娱账号由广州游爱兄弟信息技术有限公司(以下简称“游娱”)及其关联公司所有并合法运营,游娱及其关联公司并在本用户服务协议的条款和要求下提供服务。</p>
<p>1.2 当用户访问、浏览及使用游娱账号提供的各项服务、业务时,用户便表明其接受了本服务协议的条款,并同意受本服务协议的约束,用户并保证其提交的信息真实、准确、及时和完整;若用户不同意本协议条款的,请停止注册程序。</p>
<p>1.3 本服务协议所称的用户是指完全同意本服务协议所有条款(以下简称“服务条款”)并访问或浏览游娱账号相关页面的服务接受者。</p>
<h4>2. 服务条款的变更和修改</h4>
<p>游娱保留依其自主判断在将来的任何时间变更、修改、增加或删除本服务协议条款的权利。所有修改的协议均构成本服务协议的一部分。游娱有权随时对服务条款进行修改,一旦发生服务条款的变动,游娱将公示修改的内容;当用户使用游娱账号的任何服务时,应接受游娱账号随时提供的与该服务相关的规则或说明,并且此规则或说明均构成本服务条款的一部分。用户如果不同意服务条款的修改,可以主动取消已经获得的服务;如果用户继续享用服务,则视为用户已经接受服务条款的修改。</p>
<h4>3. 服务说明</h4>
<p>3.1 游娱运用自己的操作系统通过国际互联网向用户提供丰富的网上资源,包括网盘、书签、邮箱、皮肤、微博、空间、游戏、论坛、SNS社区和实时定位、好友识别等其它个性化服务(以下简称本服务)。除非另有明确规定,基于增强或强化目前服务目的所新增的任何新功能、服务、新产品,均无条件地适用本服务条款。</p>
<p>3.2 除非本协议中另有规定,否则游娱对服务不承担任何责任,即用户对服务的使用承担风险。游娱不保证服务一定会满足用户的使用要求,也不保证服务不会中断,对服务的及时性、安全性、准确性也不作担保。</p>
<p>3.3 为使用本服务,用户必须自行配备接入国际互联网所必需的设备,包括计算机、手机、掌上电脑及其他存取装置或接受服务所需其它设备,并自行支付与此服务有关的费用。 </p>
<p>3.4 游娱保留在日后对全部或部分服务项目收取费用的权利。</p>
<p>3.5 用户接受本服务时,须提供完整、真实、准确、最新的个人资料并按其变更情况不断更新账号资料。</p>
<p>3.6 若用户提供任何错误、不实、过时或不完整的资料,或者游娱有合理理由怀疑前述资料为错误、不实、过时或不完整,游娱有权暂停或终止用户的账号,并拒绝其现在或将来使用本服务的全部或一部分。</p>
<p>3.7 游娱有权规定并修改使用本服务的一般措施,包括但不限于决定保留电子邮件信息或其他上载内容的时间、限制本服务一个账号可接收信息的数量等措施。如游娱账号未能储存或删除本服务的内容或其他信息,游娱不负担任何责任。对于用户3个月未使用的账号,游娱有权(但无义务)予以删除。</p>
<p>3.8 由于用户经由本服务张贴、上传或传送内容、与本服务连线、违反本服务条款或侵害其他人的任何权利导致任何第三方提出权利主张或使游娱遭受任何形式的罚款或处罚,用户同意以适当方式充分消除对游娱的不利影响,赔偿游娱及其分公司、关联公司、代理人或其他合作伙伴及员工的损失,并使其免受损害。</p>
<h4>4. 用户应遵守以下法律及法规</h4>
<p>用户同意遵守中华人民共和国相关法律、法规的规定,在使用游娱账号时,不得侵犯任何第三方的合法权益。在任何情况下,如果游娱有合理理由认为用户的行为可能违反上述法律、法规或侵犯第三方的合法权益,游娱可以在任何时候,不经事先通知终止向该用户提供服务。用户应了解国际互联网的无国界性,应特别注意遵守当地所有有关的法律和法规。</p>
<h4>5. 用户隐私权</h4>
<p>用户在遵守上述协议要求的前提下,游娱将充分保护用户享有个人隐私。除非因以下原因,未经用户授权,本网站不公开、编辑或透露其个人账号资料:</p>
<p>根据有关法律法规的要求;</p>
<p>按照相关政府主管部门的要求;</p>
<p>维护社会个体和公众的安全;</p>
<p>为维护社会公共利益的需要;</p>
<p>维护本网站的合法权益;</p>
<p>事先获得用户的明确授权;</p>
<p>符合其他相关的要求。</p>
<h4>6. 用户账号、密码和安全</h4>
<p>6.1 用户一旦注册成功,便成为游娱的注册用户,将得到一个密码和账号。用户有义务保证密码和账号的安全。用户对利用该密码和账号所进行的一切活动负全部责任;因此所衍生的任何损失或损害,游娱无法也不会承担任何责任。</p>
<p>6.2 用户的密码和账号遭到未授权的使用或发生其他任何安全问题,用户可以立即通知游娱。用户在每次连线结束,应结束账号使用,否则用户可能得不到游娱账号的安全保护。</p>
<p>6.3 游娱禁止用户交易游娱账号,游娱有权收回用户交易的游娱账号。如果因用户交易游娱账号引起的任何纠纷,游娱不承担任何责任。</p>
<h4>7. 对用户信息的存储和限制</h4>
<p>游娱不对用户在游娱账号任何服务下发布信息的删除或储存失败负责。游娱有权判断用户的行为是否符合游娱账号服务条款的规定,如果游娱认为用户违反了服务条款的规定,游娱有权删除用户发布或发送的信息,直至中断或终止向其提供服务。</p>
<h4>8. 禁止用户从事以下行为:</h4>
<p>8.1 上载、张贴、发送或传送任何非法、淫秽、色情、低俗的,胁迫、骚扰、中伤他人的,诽谤、侵害他人隐私或诋毁他人名誉或商誉的,其他违反国家法律法规、社会主义道德规范及不适当的信息或电子邮件,包括但不限于资讯、资料、文字、软件、音乐、照片、图形、信息、视频或其他资料(以下简称内容)。</p>
<p>8.2 以任何方式危害未成年人。</p>
<p>8.3 冒充任何人或机构,或以虚伪不实的方式谎称或使人误认为与任何人或任何机构有关。</p>
<p>8.4 伪造标题或以其他方式操控识别资料,使人误认为该内容为游娱所传送。</p>
<p>8.5 上载、张贴、发送电子邮件或以其他方式传送无权传送的内容。</p>
<p>8.6 上载、张贴、发送电子邮件或以其他方式传送侵犯任何人的专利、商标、著作权、商业秘密或其他民事权利之内容。</p>
<p>8.7 上载、张贴、发送电子邮件或以其他方式传送广告函件、促销资料、垃圾邮件等。</p>
<p>8.8 干扰或破坏本服务或与本服务相连的服务器和网络,或不遵守本服务协议之规定。</p>
<p>8.9 违反任何相关的中国法律、法规、规章、条例等其他具有法律约束力的规范。</p>
<p>8.10 跟踪或以其他方式骚扰他人。</p>
<p>8.11 窃取他人密码、账号和其它数字化信息或财产。</p>
<p>8.12 其他被游娱视为不适当的行为。</p>
<p>8.13 游娱有权对用户载、张贴、发送的内容进行审核,有任何违反法律法规或本协议之有关规定的内容,游娱有权立即将其删除或屏蔽,且不需要对用户另行通知。</p>
<p>8.14 游娱账号封号规则</p>
<p>1.无视国家规定,在姓名、游戏角色名等地方中使用违规词语或不文明词语、非法字符</p>
<p>处罚规则:视情节轻重给予时限性冻结账号的处罚;情节严重者,给予永久冻结的处罚。</p>
<p>2.涉及到侵入、拦截、破坏、复制、修改游戏程序,以及宣扬、叫卖和使用各种辅助性程序或恶性非法程序,即使用外挂程序、或在游戏中宣传外挂程序的行为。</p>
<p>处罚规则:视情节轻重给予时限性冻结账号的处罚;情节严重者,给予永久冻结的处罚。</p>
<p>3.以任何弄虚作假的形式来蒙蔽或者欺骗其他用户,如发布模仿官方并带有病毒的网站、非官方中奖信息、非法广告、游戏代码、木马、外挂、病毒、色情信息、垃圾广告等信息</p>
<p>处罚规则:视情节轻重给予时限性冻结账号的处罚;情节严重者,给予永久冻结的处罚。</p>
<p>4.通过游娱账号发布非法网站,宣传或使用私服、游戏代码、木马、外挂、病毒、色情信息、垃圾广告、非法广告等信息</p>
<p>处罚规则:视情节轻重给予时限性冻结账号的处罚;情节严重者,给予永久冻结的处罚。</p>
<p>5.通过游娱账号发布触犯政府法令的文字如:煽动、反动、猥亵、暴力、种族歧视、宗教歧视等字眼,包含这类相关字的反向书写。</p>
<p>处罚规则:视情节轻重给予时限性冻结账号的处罚;情节严重者,给予永久冻结的处罚,并上报相关部门追究其法律责任。</p>
<p>6.宣传或贩卖BUG、攻击服务器运行、牟取个人利益、影响游戏公平性,以及影响其他玩家正常进行游戏等行为</p>
<p>处罚规则:查证核实后,将暂停账号,并清除所有非法物品;视情节轻重给予时限性冻结账号的处罚;情节严重者,给予永久冻结的处罚。</p>
<p>7.盗取或参与盗取他人账号,给被盗者造成严重损失的行为</p>
<p>处罚规则:查证核实后,视情节轻重给予时限性冻结账号的处罚;情节严重者,给予永久冻结的处罚,并上报相关部门追究其法律责任。</p>
<p>8.侮辱、毁谤、猥亵、威胁、辱骂其他用户,扭曲事实、恶意散布不实谣言,恶意影响游戏环境等行为</p>
<p>处罚规则:视情节轻重给予时限性冻结账号的处罚;情节严重者,给予永久冻结的处罚。</p>
<h4>9. 内容及其披露</h4>
<p>9.1 用户对经由本服务上载、张贴或传送的内容负全部责任;对于经由本服务而传送的内容,游娱不保证前述内容的正确性、完整性或及时性。在任何情况下,游娱均不对任何用户提供的内容负责,包括但不限于任何内容发生任何错误或纰漏以及衍生的任何损失或损害,用户负责处理与其提供的内容相关的任何及全部纠纷。游娱有权(但无义务)拒绝或删除经由本服务提供的任何内容。用户使用上述内容,应自行承担风险。</p>
<p>9.2 游娱有权利在下述情况下,对内容进行保存或披露:</p>
<p>法律程序所规定</p>
<p>本服务条款规定</p>
<p>被侵害的第三人提出权利主张</p>
<p>为保护游娱账号、其使用者及社会公众的权利、财产或人身安全</p>
<p>其他游娱认为有必要的情况。</p>
<h4>10. 电子公告栏的张贴内容</h4>
<p>10.1 “电子公告栏”包括空间、论坛、SNS社区和其它一般公众可以使用的区域;</p>
<p>10.2 用户一旦在本服务电子公告栏上传或张贴内容,即视为用户授予游娱该内容著作权之免费及非独家、永久的许可使用权,游娱有权为展示、传播及推广前述内容之目的,对上述内容进行复制、修改、出版。由此展示、传播及推广行为所产生的损失或利润,均由游娱承担或享受。游娱有权自主决定是否给予此类用户鼓励或奖励。</p>
<p>10.3 因用户进行上述张贴,而导致任何第三方提出索赔要求或衍生的任何损害或损失,用户须承担全部责任。</p>
<p>10.4 非经游娱事先许可,用户不得对他人上传或张贴在电子公告栏或本服务其他内容进行复制、出售或用作其他商业用途。</p>
<h4>11. 游娱账号服务使用规则</h4>
<p>11.1 用户必须保证,拥有上传之照片、文字等作品之著作权或已获得合法授权,在本网站之上传行为未侵犯任何第三方之合法权益。否则,将由用户承担由此带来的一切法律责任;用户不得将任何内部资料、机密资料、涉及他人隐私资料或侵犯任何人的专利、商标、著作权、商业秘密或其他专属权利之内容加以上载、张贴、或以其他方式传送。</p>
<p>11.2 用户不得利用本服务进行故意制作、传播计算机病毒等破坏性程序,不得针对本服务、与本服务连接的服务器或网络制造干扰、混乱,或违反连接本服务的网络的任何要求、程序、政策或规则,否则游娱将保留追究其法律责任的权利并有权将其提交给相关部门处理。</p>
<p>11.3 游娱有权对用户上传的图片、添加的文字等内容进行审核,有任何违反法律法规或本协议之有关规定的图片、文字,游娱有权立即将其删除或屏蔽,且不需要对用户另行通知。</p>
<p>11.4 用户不得将广告函件、促销资料、垃圾邮件等,加以上载、张贴、发送电子邮件或以其他方式传送。</p>
<p>11.5 游娱郑重提请用户注意,任何经由本服务以上载、张贴、发送的资料、文字、照片、图形、视讯、信息、用户的登记资料或其他资料(以下简称“内容”),无论系公开还是私下传送,均由内容提供者承担责任。游娱无法控制经由本服务传送之内容,也无法对用户的使用行为进行全面控制,因此不保证内容的合法性、正确性、完整性、真实性或品质;用户已预知使用本服务时,可能会接触到令人不快、不适当或令人厌恶之内容,并同意将自行加以判断并承担所有风险,而不依赖于游娱。但在任何情况下,游娱有权依法停止传输任何前述内容并采取相应行动,包括但不限于暂停用户使用本服务的全部或部分,保存有关记录,并向有关机关报告。但游娱有权(但无义务)依其自行之考量,拒绝和删除可经由本服务提供之违反本条款的或其他引起游娱或用户反感的任何内容。</p>
<p>11.6 用户完全理解并同意,若第三方在用户不知情或未经用户同意的前提下,将其文字、图片作品上传于游娱账号空间及由此所产生的任何可能侵害其权益的行为,游娱均不对任何人承担任何责任。</p>
<p>11.7 游娱有权根据政府机关或权利人的要求删除用户上载、张贴、发送的内容,无论游娱事先是否通知。</p>
<p>11.8 游娱有权根据服务的需要,收回用户所用的空间域名或减少用户所用空间的大小,无论游娱事先是否通知。</p>
<h4>12. 游娱论坛规则</h4>
<p>12.1 关于用户名和昵称</p>
<p>不得使用党和国家领导人或其他知名人士的真实姓名、字号、艺名、笔名作为用户名和昵称;</p>
<p>不得使用国家机构或其他机构的名称作为用户名和昵称;</p>
<p>不得使用和其他网友之名相近、相仿的用户名和昵称;</p>
<p>不得使用不文明、不健康,或带攻击性、侮辱性的用户名和昵称;</p>
<p>请勿使用易产生歧义、引起他人误解的用户名和昵称;</p>
<p>不得使用各种奇形怪状的符号作为用户名和昵称;</p>
<p>对于违反规定或产生不良后果的用户名和昵称,本站有权删除而不必事先通知。</p>
<p>12.2 关于签名</p>
<p>不得出现宣扬反动、封建迷信、淫秽、色情、赌博、暴力、凶杀、恐怖、教唆犯罪等不符合国家法律规定的以及任何包含种族、性别、宗教歧视性和猥亵性的信息内容;</p>
<p>不得出现有侮辱性言语、挑衅、辱骂其他人以及不健康内容;</p>
<p>不得出现广告性质的内容以及本公司以外其他网站的链接;</p>
<p>游娱有权在不需要通知和解释的情况下除去违反以上规定的签名内容,并对情节严重者予以封号处理。</p>
<p>12.3 关于发贴内容</p>
<p>遵守相关法规,严禁发表违反法律法规及社会主义道德规定的内容;</p>
<p>使用文明用语,不得张贴对任何人进行人身攻击、谩骂、诋毁的言论;</p>
<p>不得张贴未经公开报道、未经证实的消息;</p>
<p>不得张贴与所在论坛主题无关的消息、言论和图片;</p>
<p>未经游娱同意,不得张贴带有商业性质的内容或任何形式的广告,不得张贴游娱及其关联公司以外其他网站的链接;</p>
<p>不得恶意灌水,内容相同的帖子不得一文多发;</p>
<p>不得在帖子中(标题和内容)加入各种奇形怪状的符号;</p>
<p>转贴文章应注明原始出处和时间;</p>
<p>对于违反以上规定的内容,在不需要通知和解释的情况下,游娱以及版主有权予以删除,并对情节严重者予以封账号处理。</p>
<p>12.4 关于贴图</p>
<p>不得张贴宣扬反动、封建迷信、淫秽、色情、赌博、暴力、凶杀、恐怖、教唆犯罪等不符合国家法律规定的以及任何包含种族、性别、宗教歧视性和猥亵性的图片;</p>
<p>不得出现带有侮辱性、挑衅、辱骂其他人以及不健康内容的图片;</p>
<p>请勿使用易产生歧义、引起他人误解的图片;</p>
<p>摘录、转贴的图片请注明出处及作者,禁止张贴侵犯他人著作权、版权等知识产权的图片;</p>
<p>不得张贴与论坛主题无关的图片;</p>
<p>游娱有权在不需要通知和解释的情况下删除违反以上规定的图片,并对情节严重者予以封账号处理。</p>
<h4>13. 游娱账号游戏规则</h4>
<p>13.1 用户应当遵守游戏公约、玩家守则及不时发布的游戏规则、公告等;</p>
<p>13.2 用户不得通过不正当的手段或其他不公平的手段使用游娱账号的游戏产品和服务或参与游娱账号的游戏活动。用户不得干扰游娱正常地提供产品和服务,包括但不限于:攻击、侵入游娱的网站服务器或使网站服务器过载;制作、发布、传播、使用任何形式的妨碍游戏公平性的辅助工具或程序(外挂);利用程序的漏洞和错误(Bug)破坏游戏的正常进行或传播该漏洞或错误(Bug);不合理地干扰或阻碍他人使用游娱所提供的产品和服务。</p>
<p>13.3 为维护游戏的公平性,如果游娱发现用户数据异常,无论用户对该异常数据产生是否负有过错,游娱均有权根据本规则、游戏公约、玩家守则及后期不时发布的游戏公告等,采取相应措施:包括但不限于对该账号的冻结、终止、删除;用户在此承诺游娱有权采取上述行动,并承诺不得就上述行为要求游娱做任何补偿或退费。</p>
<p>13.4 游娱在此特别提示用户:</p>
<p>游娱提供的游戏将按照现状提供,用户明确知道游戏中存在已知和未知的漏洞和错误(Bug)。尽管游娱将尽最大努力解决已知的漏洞和错误(Bug),但用户知道或应该知道游戏中仍可能包含未知的漏洞和错误(Bug)等。用户同意不向游娱及其关联公司因任何漏洞和错误(Bug)主张任何赔偿。游娱不提倡虚拟物品之间的交易,并不对该交易中产生的任何问题进行支持和保障。</p>
<h4>14. 手机特色功能说明</h4>
<p>14.1 用户明确知道,游娱提供的实时定位服务将向用户及用户的不特定游娱账号好友提供用户的实时空间位置信息。</p>
<p>14.2 用户可选择向游娱账号导入手机通讯簿上所对应的好友关系链,但游娱确保将不导入好友关系链之外的任何信息(包括好友姓名及其他任何相关信息) </p>
<p>14.3 游娱将对好友关系链通过不可逆转的方式加密存储,包括游娱账号和您的任何好友都将无法获知您的真实好友关系链和真实手机号码。</p>
<h4>15. 游娱的知识产权及其他权利</h4>
<p>15.1 游娱对本服务及本服务所使用的软件和受知识产权相关法律或其他法律保护的资料享有相应的权利。</p>
<p>15.2 经由本服务传送的内容,受到著作权法、商标法、专利法或其他法律的保护;未经游娱明示授权许可,用户不得进行修改、出租、散布或衍生其他作品,用户本人创作并在公开使用区域张贴的内容除外。</p>
<p>15.3 用户对本服务所使用的软件有非专属性使用权,但自己不得或许可任何第三方复制、修改、出售或衍生产品。</p>
<p>15.4 游娱账号及其他游娱账号图样、产品及服务名称,均为游娱及其关联公司所享有的商标,未经游娱所事先书面授权,任何人不得使用、 复制或用作其他用途。</p>
<h4>16. 免责声明</h4>
<p>16.1 游娱对于本服务包含的或用户经由或从任何与本服务有关的途径所获得的任何内容、信息或广告,不保证其正确性或可靠性;并且对于用户经本服务上的广告、展示而购买、取得的任何产品、信息或资料,游娱不负保证责任。用户自行承担担使用本服务的风险。</p>
<p>16.2 游娱有权但无义务,改善或更正本服务任何部分之任何疏漏、错误。</p>
<p>16.3 游娱不保证以下事项(包括但不限于):</p>
<p>本服务适合用户的使用要求;</p>
<p>本服务不受干扰,及时、安全、可靠或不出现错误;</p>
<p>用户经由本服务取得的任何产品、服务或其他材料符合用户的期望;</p>
<p>16.4 用户使用经由本服务下载的或取得的任何资料,其风险自行负担;因该使用而导致用户手机或其他设备系统损坏或资料流失,用户应负完全责任;</p>
<p>16.5 对基于以下原因而造成的利润、商业信誉、资料的损失或其他有形或无形损失,游娱不承担任何直接、间接、附带、衍生或惩罚性的赔偿:</p>
<p>本服务使用或无法使用;</p>
<p>经由本服务购买或取得的任何产品、资料或服务;</p>
<p>用户资料遭到未授权的使用或修改;</p>
<p>用户资料丢失或被删除;</p>
<p>其他与本服务相关的事宜。</p>
<p>16.6 用户在浏览网际网路时自行判断使用游娱账号的检索目录。该检索目录可能会引导用户进入到被认为具有攻击性或不适当的网站,游娱没有义务查看检索目录所列网站的内容,因此,对其正确性、合法性、正当性不负任何责任。</p>
<h4>17. 服务的修改和终止</h4>
<p>游娱有权在未事前通知的情况下在任何时候,暂时或永久地修改或终止本服务或其中任何一部分。游娱对本服务的修改或终止对用户和任何第三人不承担任何责任。游娱有权基于任何理由,终止用户的账号、密码或拒绝其使用本服务,或删除、转移用户存储、发布在本服务的内容,游娱采取上述行为均不需通知,并且对用户和任何第三人不承担任何责任。</p>
<h4>18. 通知</h4>
<p>游娱向用户发出的通知,可以采用电子邮件、页面公告、常规信件、电话或游娱认为适合的形式。服务条款的修改或其他事项变更时,游娱将会以上述形式进行通知。</p>
<h4>19. 全部协议</h4>
<p>本服务协议和游娱的其他服务条款构成完整的协议。</p>
<h4>20. 法律的适用和管辖</h4>
<p>本服务条款的生效、履行、解释及争议的解决均适用中华人民共和国法律,发生的争议提交广州仲裁委员会裁决。如果本服务协议中某项条款因与中华人民共和国现行法律相抵触而导致无效,将不影响其他部分的效力。</p>
<h4>21. 生效条件</h4>
<p>本协议自用户访问、浏览及使用游娱账号之时开始生效。</p>
</div>
<!-- end -->
<script type="text/javascript" src="js/fastclick.min.1.0.js?20150923001"></script>
<script type="text/javascript" src="js/zepto.min.js?20150923001"></script>
<script type="text/javascript">
window.isGetData = 0;
$(function() {
FastClick.attach(document.body);
});
</script>
<script type="text/javascript" src="js/core.min.js?20150923001" ></script>
<script type="text/javascript" src="js/simpScroller-min.js"></script>
<script>
simpScroller(document.querySelector(".horizontal"), {});
</script>
</body>
</html>
\ No newline at end of file
......@@ -109,7 +109,6 @@ function initMatching(){
_w = Core.sdk_w * _scale;
Core.ios_w = _w;
$('meta[name="viewport"]').attr('content','width=' + _w + ',maximum-scale=' + _scale + ',user-scalable=no');
//$('<meta name="viewport" content="maximum-scale=' + _scale + '"/>').appendTo(_head);
......@@ -144,13 +143,10 @@ function initMatching(){
var ratio = window.devicePixelRatio;
Core.ratio = ratio;
Core.PLATFORM_NAME = '9133游戏';
Core.PLATFORM_NAME = '游娱';
if(Core.isIos){
Core.server = 'https://sdk.i9133.com';
}else{
Core.server = 'http://sdk.i9133.com';
}
Core.server = 'https://sdk.uuufish.com';
var lastServer = localStorage.getItem('last_server');
if(lastServer && lastServer.indexOf('http:')==0){
......@@ -221,7 +217,6 @@ function initMatching(){
Core.ios_w = _w;
$('meta[name="viewport"]').attr('content','width=' + _w + ',maximum-scale=' + _scale + ',user-scalable=no');
//$('<meta name="viewport" content="maximum-scale=' + _scale + '"/>').appendTo(_head);
//$('<meta name="viewport" content="width=' + _w + '"/>').appendTo(_head);
......@@ -552,8 +547,7 @@ function initMatching(){
}
if ($obj[0].tagName == "FORM") {
$obj[0].disabled = false;
$obj.find("input[type='text'],input[type='password'],input[name='password'], button").attr('disabled', null);
$obj.find("input, button").attr('disabled', null);
var $but_input = $obj.find('[type=submit]');
if ($but_input.is('button')) {
$but_input.html(temp);
......
......@@ -49,10 +49,6 @@
Core.showMod('help');
return false;
});
that.$c.on("click",".js-enter-game",function(e){//强制进入实名认证界面
e.stopPropagation();
Core.showTips("根据政策规定,通过实名认证才能进入游戏哦!");
});
}
Home.prototype.logout_cb = function(data) {
......@@ -62,7 +58,7 @@
}
Home.prototype.show_after = function(){
$('#login').hide();
$('#login').hide()
}
Core.registerMod('home', Home);
......@@ -225,6 +221,7 @@
Core.first_password = this.$c.find('[name="password"]').val()
this.cache();
Core.showTips('成功登录,欢迎使用'+ Core.PLATFORM_NAME +'游戏平台');
Core.updateMod('home');
}
Login.prototype.login_eg_cb = function(result) {
......@@ -287,6 +284,7 @@
if(Core.Data.other_login.length > 0){
this.$c.find(".other-login-bx").removeClass("hide");
}
//设置第三方登录显示
for (var i = 0, l = Core.Data.other_login.length; i < l; i++) {
this.$c.find('.' + Core.Data.other_login[i]).removeClass('hide');
......@@ -383,28 +381,18 @@
that.$c.on('click', '[type=submit],.submit', function(e) {
var passWordReg = /^[0-9a-zA-Z]+$/;
e.preventDefault();
if(/[A-Z]/.test(that.$c.find("input[name='username']").val())){
Core.showTips("账号不能有大写字母!");
}else if(/[A-Z]/.test(that.$c.find("input[name='password']").val())){
Core.showTips("密码不能有大写字母!");
}else if(that.$c.find("input[name='password']").val().length<6 || that.$c.find("input[name='password']").val().length>16){
Core.showTips("密码长度为6-16位字符!");
}else if(!that.$c.find('.checkbox-2').length>0){
Core.showTips('请同意'+Core.PLATFORM_NAME+'网络协议',1);
}else if(!passWordReg.test(that.$c.find("input[name='password']").val())){
Core.showTips('请输入数字字母组成的密码!', true);
return false;
}else{
//如果是游客的话则调用安卓截屏方法
if (that.$c.find('[name="username"]').val() == that.$c.find('[name="old_usernmae"]').val() && window.android != undefined && window.android.screenShot != undefined ){
window.android.screenShot();
}
$(this).attr("disabled",true);
$(this).css({"background":"#999"});
$(this).parent("li").css({"background":"#999"});
}
Core.ajax_do(that.$c.find('.ajax'), that.register_cb, that);
}
return false;
......@@ -427,9 +415,6 @@
that.$c.find('[name="old_usernmae"]').val(random_name)
that.$c.find('[name="password"]').val(random_passwd)
that.$c.find('[name="type"]').val(-1)
that.$c.find("input#btn-regist").attr('disabled', null);
that.$c.find('.submit').css({"background":"#00beef"});
that.$c.find('.submit').parent("li").css({"background":"#00beef"});
}
Register.prototype.cache = Login.prototype.cache;
......@@ -440,16 +425,8 @@
Core.first_password = this.$c.find('[name="password"]').val()
// 显示一个注册成功信息,并跳转到home
this.cache();
if (Core.Data.force_auth == 1 && Core.Data.compellation_name == "" && Core.Data.identity_card == "") {
Core.showTips("根据政策规定,通过实名认证才能进入游戏哦!");
Core.updateMod('identityCard');
}else{
Core.showTips('成功注册,欢迎使用' + Core.PLATFORM_NAME + '游戏平台');
Core.updateMod('home');
}
this.$c.find("input#btn-regist").attr('disabled', null);
this.$c.find('.submit').css({"background":"#00beef"});
this.$c.find('.submit').parent("li").css({"background":"#00beef"});
Core.showTips('成功注册,欢迎使用' + Core.PLATFORM_NAME + '游戏平台');
Core.updateMod('home');
}
Register.prototype.show_after = function() {
this.set_random();
......@@ -607,14 +584,9 @@
that.$c.on("click","#js_confirm_resetnewpsw",function(){
var NewPsw = that.$c.find("#js_reset_newpsw").val(),
NewKey = that.$c.find("input[name='pwd_code']").val(),
passWordReg = /^[0-9a-zA-Z]+$/,
account = $("input[name='loginUserName']").val();
var names = localStorage.getItem('user_names');
names = JSON.parse(names);
if(!passWordReg.test(NewPsw)){
Core.showTips('请输入数字字母组成的密码!', true);
return false;
}
Core.ajax({
type:"post",
url:"/user/reset_passwd?pwd_code="+NewKey+"&password="+NewPsw,
......@@ -993,10 +965,10 @@
Core.showTips("请输入身份证号码",false);
return false;
}else if(IsIdCard(identityCard) == false){
Core.showTips("身份证号码有误,请检查输入是否正确",false,5000);
Core.showTips("请输入正确的身份证信息",false);
return false;
}else if($.trim(compellationName) == ""){
Core.showTips("请输入身份证姓名",false);
Core.showTips("请输入姓名",false);
return false;
}else if(!compellationNameReg.test(compellationName)){
Core.showTips("请输入正确的中文姓名",false);
......
......@@ -13,6 +13,7 @@
<link href="skin/login.css?v=2016" type="text/css" rel="stylesheet" />
<link id="skin" data-v="20150923001" type="text/css" rel="stylesheet" />
<title>
平台登录
</title>
......@@ -64,7 +65,7 @@
<i class=" iconfont icon-unie61d"></i>
</a>
<a title="QQ号码登录" data-replace="href" href="/user/auth2/qq/login/?next=/static/sdk_6/login.html%3Fapp_id={app_id}" class="qq iframe hide">
<a title="QQ号码登录" data-replace="href" href="/user/auth2/qq/login/?next=/static/sdk/login.html&app_id={app_id}" class="qq iframe hide">
</a>
<a title="微信登录" data-replace="href" href="sdk://weixinlogin?app_id={app_id}&next=/static/sdk/login.html" class="weixin hide">
......@@ -82,7 +83,7 @@
</div>
<ul class="inline-btn login-inline-btn">
<li>
<a method="post" class="btn btn_pri_block" href="#register">注册</a>
<a method="post" class="btn btn_pri_block" href="#register">一键注册</a>
</li>
<li>
......@@ -157,7 +158,7 @@
<input type="hidden" name="type" value="-1">
<ul class="inline-btn">
<li><a class="btn btn_pri_block btn-orange" href="#home">返回</a></li>
<li><input type="button" class="submit btn larg" id="btn-regist" value="确定注册"></li>
<li><a class="submit btn larg " >确定注册</a></li>
</ul>
</form>
</div>
......@@ -418,24 +419,17 @@
<p>{{=Core.Data.nickname}}</p>
</div>
<div class="inline-btn pull-right w_45">
{{? Core.Data.force_auth == 1 && Core.Data.compellation_name == "" && Core.Data.identity_card == ""}}
<a href="javascript:Core.finishLogin()" class="btn btn-orange">进入游戏</a>
{{??}}
<a href="javascript:Core.finishLogin()" class="btn btn-orange">进入游戏</a>
{{?}}
<a href="javascript:Core.finishLogin()" class="btn btn-orange">进入游戏</a>
</div>
</div>
<div class="bind-user">
<div class="w_50 txt" style="display: inline-block; vertical-align: middle;">
为保证您的虚拟财产安全,请升级账号!
您当前还是游客,为保证账号安全,请升级账号!
</div>
<div class="inline-btn w_45" style="display: inline-block; vertical-align: ;">
<a class="btn btn-bind" href="#modify_pwd">马上升级</a>
</div>
</div>
{{? Core.Data.kefu_info != ""}}
<p style="text-align: center;font-size: 20px; color: #ff0000; position: absolute; width: 100%; bottom: 10px; left:0;">{{=Core.Data.kefu_info[0]}}</p>
{{?}}
</div>
{{?? Core.Data.is_guest == 2}}<!--1:游客登录;2:第三方登录;0:正式用户登录-->
<div class="user-center-box">
......@@ -445,11 +439,7 @@
<p>{{=Core.Data.nickname}}</p>
</div>
<div class="inline-btn pull-right w_45">
{{? Core.Data.force_auth == 1 && Core.Data.compellation_name == "" && Core.Data.identity_card == ""}}
<a href="javascript:Core.finishLogin()" class="btn btn-orange">进入游戏</a>
{{??}}
<a href="javascript:Core.finishLogin()" class="btn btn-orange">进入游戏</a>
{{?}}
<a href="javascript:Core.finishLogin()" class="btn btn-orange">进入游戏</a>
</div>
</div>
{{? Core.Data.bind_phone === ""}}
......@@ -467,9 +457,7 @@
<li style="width:50%;"><a href="#modify_pwd">修改密码</a></li>
<li style="width:50%;"><a href="#identityCard">实名认证</a></li>
</ul>
{{? Core.Data.kefu_info != ""}}
<p style="text-align: center;font-size: 20px; color: #ff0000; position: absolute; width: 100%; bottom: 10px;left:0;">{{=Core.Data.kefu_info[0]}}</p>
{{?}} {{?}}
{{?}}
</div>
{{?? Core.Data.is_guest == 0}}
<div class="user-center-box">
......@@ -479,21 +467,19 @@
<p>{{=Core.Data.nickname}}</p>
</div>
<div class="inline-btn pull-right w_45">
{{? Core.Data.force_auth == 1 && Core.Data.compellation_name == "" && Core.Data.identity_card == ""}}
<a href="javascript:Core.finishLogin()" class="btn btn-orange">进入游戏</a>
{{??}}
<a href="javascript:Core.finishLogin()" class="btn btn-orange">进入游戏</a>
{{?}}
<a href="javascript:Core.finishLogin()" class="btn btn-orange">进入游戏</a>
</div>
</div>
{{? Core.Data.force_auth == 1}}
{{? Core.Data.bind_phone === ""}}
<ul class="list-item clearfix">
{{? Core.Data.bind_phone === ""}}
<li style="position: relative;width:50%;"><a href="#bindMobile">绑定手机</a><span class="redround"></span></li>
{{??}}
<li style="width:50%;"><a href="#unbindMobile">解绑手机</a></li>
{{?}}
<li style="position: relative;"><a href="#bindMobile">绑定手机</a><span class="redround"></span></li>
<li><a href="#mibao">设置密保</a></li>
<li><a href="#modify_pwd">修改密码</a></li>
</ul>
{{??}}
<ul class="list-item clearfix">
<li style="width:50%;"><a href="#unbindMobile">解绑手机</a></li>
<li style="width:50%;"><a href="#mibao">设置密保</a></li>
</ul>
<ul class="list-item clearfix" style="border-top:none;">
......@@ -506,46 +492,7 @@
</a></li>
{{?}}
</ul>
{{? Core.Data.kefu_info != ""}}
<p style="text-align: center;font-size: 20px; color: #ff0000; position: absolute; width: 100%; bottom: 10px;left:0;">{{=Core.Data.kefu_info[0]}}</p>
{{?}} {{??}}
{{? Core.Data.bind_phone === ""}}
<ul class="list-item clearfix">
<li style="width:50%;"><a href="#bindMobile">绑定手机</a></li>
<li style="width:50%;"><a href="#mibao">设置密保</a></li>
</ul>
<ul class="list-item clearfix" style="border-top:none;">
<li style="width:50%;"><a href="#modify_pwd">修改密码</a></li>
{{? Core.Data.compellation_name === "" && Core.Data.identity_card === ""}}
<li style="width:50%;"><a href="#identityCard">实名认证</a></li>
{{??}}
<li style="width:50%;position:relative;"><a href="#identityCard_ok">实名认证
<span style="position:absolute;right:5px;top:5px;color:#fff;background:#ff9600;padding:3px 10px;border-radius:10px;font-size:20px;">已认证</span>
</a></li>
{{?}}
</ul>
{{? Core.Data.kefu_info != ""}}
<p style="text-align: center;font-size: 20px; color: #ff0000; position: absolute; width: 100%; bottom: 1em;left:0;">{{=Core.Data.kefu_info[0]}}</p>
{{?}}
{{??}}
<ul class="list-item clearfix">
<li style="width:50%;"><a href="#unbindMobile">解绑手机</a></li>
<li style="width:50%;"><a href="#mibao">设置密保</a></li>
</ul>
<ul class="list-item clearfix" style="border-top:none;">
<li style="width:50%;"><a href="#modify_pwd">修改密码</a></li>
{{? Core.Data.compellation_name === "" && Core.Data.identity_card === ""}}
<li style="width:50%;"><a href="#identityCard">实名认证</a></li>
{{??}}
<li style="width:50%;position:relative;"><a href="#identityCard_ok">实名认证
<span style="position:absolute;right:5px;top:5px;color:#fff;background:#ff9600;padding:3px 10px;border-radius:10px;font-size:20px;">已认证</span>
</a></li>
{{?}}
</ul>
{{? Core.Data.kefu_info != ""}}
<p style="text-align: center;font-size: 20px; color: #ff0000; position: absolute; width: 100%; bottom: 10px;left:0;">{{=Core.Data.kefu_info[0]}}</p>
{{?}} {{?}}
{{?}}
{{?}}
<!--<ul class="list-item clearfix">
{{? Core.Data.bind_phone === ""}}
<li style="position: relative;"><a href="#bindMobile">绑定手机</a><span class="redround"></span></li>
......@@ -677,7 +624,7 @@
</label>
</div>
{{? Core.Data.is_guest == 1}}<p>升级账号成功之后,请妥善保管正式账号</p>{{??}}{{?}}
{{? Core.Data.is_guest == 1}}<p>升级账号成功之后,<span class="red">游客账号作废</span>,请妥善保管正式账号</p>{{??}}{{?}}
</div>
......@@ -696,19 +643,15 @@
<div class="new-sdk-container">
<div class="SDK-titlebox"></div>
<div class="user-center">
{{? Core.Data.force_auth !== 1 }}
<a href="#home" class="lefticon">
<i class="iconfont icon-fanhui"></i>
</a>
{{?}}
实名认证<div class="" style=" font-size: 18px;color: #949494;text-align: left; padding-left: 37px;">根据国家规定,游戏用户需进行实名认证</div>
实名认证
</div>
<form action="/user/bind_identity_card" method="post" class="ajax" onkeydown="if(event.keyCode==13) return false;" >
<div class="new-sdk-box">
<div class="input" style="padding:0 25px;"><input type="text" name="identity_card" required placeholder="请输入身份证号码" style="text-align: left;"></div>
<div class="input" style="padding:0 25px;"><input type="text" name="compellation_name" required placeholder="请输入身份证姓名" style="text-align: left;"></div>
<div class="input" style="padding:0 25px;"><input type="text" name="identity_card" required placeholder="请输入注册身份证号码" style="text-align: left;"></div>
<div class="input" style="padding:0 25px;"><input type="text" name="compellation_name" required placeholder="请输入姓名" style="text-align: left;"></div>
</div>
<ul class="inline-btn">
<li style="padding: 1em 0; float: none; margin: 0 auto;"><a class="submit btn larg btn-orange" autocomplete="off">提交</a></li>
......
......@@ -36,4 +36,4 @@ instructions:处理支付方式点击支付图标出现 input_item 为undefind 的bug(将150行$c
date:2017-5-12
author:lizenghua
instructions:与游娱同步
\ No newline at end of file
instructions:修改充值的界面显示大小
\ No newline at end of file
......
......@@ -23,7 +23,6 @@ section{
a,input,textarea,select {
outline: 0;
}
input[type=button],input[type=text],input[type=password]{-webkit-appearance:none;outline:none}
a:focus {
outline:thin dotted; /* 处理“outline”在Chrome浏览器中和其它浏览器之间的不一致 */
}
......
SERVER_URL=http://sdk.uuufish.com
CDN_SERVER_URL=http://sdk.uuufish.com
SDK_TYPE=.sys_config_youyu
\ No newline at end of file
{
"supplier":{
"vivo":{
"appid":"100215079"
},
"xiaomi":{
},
"huawei":{
},
"oppo":{
}
}
}
package com.youai.foolsdk.demo;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.WindowManager.LayoutParams;
import android.widget.Button;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.gzyouai.fengniao.sdk.framework.PoolExitDialogListener;
import com.gzyouai.fengniao.sdk.framework.PoolExitListener;
import com.gzyouai.fengniao.sdk.framework.PoolExpansionListener;
import com.gzyouai.fengniao.sdk.framework.PoolLoginInfo;
import com.gzyouai.fengniao.sdk.framework.PoolLoginListener;
import com.gzyouai.fengniao.sdk.framework.PoolLogoutListener;
import com.gzyouai.fengniao.sdk.framework.PoolPayInfo;
import com.gzyouai.fengniao.sdk.framework.PoolPayListener;
import com.gzyouai.fengniao.sdk.framework.PoolPayOrderConfirmHandler;
import com.gzyouai.fengniao.sdk.framework.PoolReport;
import com.gzyouai.fengniao.sdk.framework.PoolRoleInfo;
import com.gzyouai.fengniao.sdk.framework.PoolRoleListener;
import com.gzyouai.fengniao.sdk.framework.PoolSDKCallBackListener;
......@@ -27,401 +22,564 @@ import com.gzyouai.fengniao.sdk.framework.PoolSdkConfig;
import com.gzyouai.fengniao.sdk.framework.PoolSdkHelper;
import com.gzyouai.fengniao.sdk.framework.PoolSdkLog;
public class AppActivity extends Activity {
private Button yaLoginBt;
private Button yaEnterGameBt;
private Button yaPayBt;
private Button yaSubmitRoleDataBt;
private Button yaChannelCenter;
private Button yaLogoutBt;
private Button yaForumBt;
private Button yaSwitchAccountBt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int layoutId = getResources().getIdentifier(
"public_sdk_self_game_login", "layout", getPackageName());
setContentView(layoutId);
initLoginView();
//PoolSdkHelper.isDebug = true;
PoolSdkLog.setIsShowLog(true);
PoolSdkHelper.init(this, new PoolSDKCallBackListener() {
@Override
public void poolSdkCallBack(int code, String msg) {
// TODO Auto-generated method stub
PoolSdkLog.logInfo("callback: code:" + code + "msg:" + msg);
switch (code) {
case PoolSDKCode.POOLSDK_INIT_SUCCESS:// 初始化成功
PoolSdkLog.logInfo("游戏中POOLSDK_INIT_SUCCESS");
login();
break;
case PoolSDKCode.POOLSDK_INIT_FAIL:
break;
default:
break;
}
}
});// init(this);// this为游戏的activity对象
PoolSdkHelper.setLogoutCallback(new PoolLogoutListener() {
@Override
public void onLogoutSuccess() {
// TODO: 此处处理SDK登出的逻辑
login();
PoolSdkLog.logInfo("游戏中logoutSuccess");
}
});
}
@Override
public void onStart() {
super.onStart();
PoolSdkHelper.onStart();
}
@Override
public void onStop() {
super.onStop();
PoolSdkHelper.onStop();
}
@Override
public void onDestroy() {
super.onDestroy();
PoolSdkHelper.onDestroy();
}
@Override
public void onResume() {
super.onResume();
PoolSdkHelper.onResume();
}
@Override
public void onPause() {
super.onPause();
PoolSdkHelper.onPause();
}
@Override
public void onRestart() {
super.onRestart();
PoolSdkHelper.onRestart();
}
@Override
public void onNewIntent(Intent intent) {
super.onNewIntent(intent);
PoolSdkHelper.onNewIntent(intent);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
PoolSdkHelper.onActivityResult(requestCode, resultCode, data);
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
PoolSdkHelper.onConfigurationChanged(newConfig);
}
@Override
protected void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
PoolSdkHelper.onSaveInstanceState(outState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onRestoreInstanceState(savedInstanceState);
PoolSdkHelper.onRestoreInstanceState(savedInstanceState);
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
PoolSdkHelper.onWindowFocusChanged(hasFocus);
}
@Override
public void onWindowAttributesChanged(LayoutParams params) {
// TODO Auto-generated method stub
super.onWindowAttributesChanged(params);
PoolSdkHelper.onWindowAttributesChanged(params);
}
@Override
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.os.Handler;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager.LayoutParams;
import android.widget.Button;
import android.widget.TextView;
public class AppActivity extends Activity implements OnClickListener {
private Button yaLoginBt;
private Button yaEnterGameBt;
private Button yaPayBt;
private Button yaSubmitRoleDataBt;
private Button yaChannelCenter;
private Button yaSwitchAccountBt;
private Button yaLogoutBt;
private Button yaForumBt;
//新的view
private Button btLogin;
private Button btEnterGame;
private Button btPay;
private Button btLogout;
private Button btSubRoleInfo;
private Button btOpenChannel;
private Button btSwitchAcc;
private Button btOpenBbs;
//提示LOG
private TextView txMsg,txSdkMsg;
private Activity mContext;
private PoolPayListener mPoolPayListener = new PoolPayListener() {
@Override
public void onPaySuccess(String paramCustom) {
// TODO Auto-generated method stub
//[{"orderId":"20180116114151740535D825","state":0,"productId":"1","productName":"金币","amout":0}]
if(paramCustom == null || paramCustom.length() <= 0)
{
PoolSdkLog.logError("paysuccess data error :" + paramCustom);
return;
}
try {
PoolSdkLog.logInfo("paySuccess:" + paramCustom);
JSONArray jsonArray = new JSONArray(paramCustom);
StringBuilder orderIds = new StringBuilder();
int length = jsonArray.length();
for (int i = 0; i < length; i++) {
JSONObject jb = jsonArray.getJSONObject(i);
String orderId = jb.getString("orderId");
orderIds.append(orderId);
if(i != length -1) {//最后一项不加分割符
orderIds.append(",");
}
}
PoolSdkHelper.paymentSuccess(AppActivity.this, orderIds.toString());
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
upTx("支付成功回调:" + paramCustom);
}
@Override
public void onPayFailed(String paramCustom, String errorMsg) {
// TODO Auto-generated method stub
System.out.println("支付失败回调:" + paramCustom + "; errorMsg:"
+ errorMsg);
upTx("支付失败回调:" + paramCustom + "; errorMsg:"
+ errorMsg);
}
};
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
// TODO Auto-generated method stub
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
PoolSdkHelper.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
@Override
public boolean dispatchKeyEvent(KeyEvent pKeyEvent) {
if (pKeyEvent.getKeyCode() == KeyEvent.KEYCODE_BACK
&& pKeyEvent.getAction() == KeyEvent.ACTION_DOWN) {
if (PoolSdkHelper.hasExitDialog()) {
PoolSdkHelper.showExitDialog(new PoolExitDialogListener() {
@Override
public void onDialogResult(int code, String msg) {
// TODO Auto-generated method stub
switch (code) {
case PoolSDKCode.EXIT_SUCCESS:// 退出成功游戏处理自己退出逻辑
finish();
break;
case PoolSDKCode.EXIT_CANCEL:// 取消退出
break;
default:
break;
}
}
});
} else {
// TODO: 调用游戏的退出界面
showGameExitTips();
}
return false;
}
return super.dispatchKeyEvent(pKeyEvent);
}
private void showGameExitTips() {
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
int ic_dialog_alert_id = getRedIdByName("ic_dialog_alert", "drawable");
dialog.setIcon(ic_dialog_alert_id);
dialog.setTitle("提示");
dialog.setMessage("是否退出游戏?");
dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
PoolSdkHelper.exitGame(new PoolExitListener() {
@Override
public void onExitGame() {
finish();
}
});
}
});
dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
dialog.show();
}
private int getRedIdByName(String resName, String resType) {
return getResources().getIdentifier(resName, resType, getPackageName());
}
private void initLoginView() {
int ya_login_bt = getRedIdByName("ya_login_bt", "id");// getResources().getIdentifier("ya_login_bt",
// "id",
// getPackageName());
yaLoginBt = (Button) findViewById(ya_login_bt);
yaLoginBt.setText("登录");
yaEnterGameBt = (Button) findViewById(getRedIdByName(
"ya_enter_game_bt", "id"));
yaEnterGameBt.setText("进入游戏");
}
private void initGameView() {
yaPayBt = (Button) findViewById(getRedIdByName("ya_pay_bt", "id"));
yaPayBt.setText("支付");
yaSubmitRoleDataBt = (Button) findViewById(getRedIdByName(
"ya_submit_role_data_bt", "id"));
yaSubmitRoleDataBt.setText("提交角色数据");
yaChannelCenter = (Button) findViewById(getRedIdByName(
"ya_channel_center", "id"));
yaChannelCenter.setText("渠道中心");
PoolSdkLog.logError("" + yaPayBt + "yachannel:" + yaChannelCenter);
yaLogoutBt = (Button) findViewById(getRedIdByName("logout_bt", "id"));
yaSwitchAccountBt = (Button) findViewById(getRedIdByName("ya_switch_account_bt", "id"));
yaSwitchAccountBt.setText("切换账号");
yaForumBt = (Button) findViewById(getRedIdByName("forum_bt", "id"));
}
public void yaOnClick(View view) {
if (view == yaLoginBt) {
login();
} else if (view == yaEnterGameBt) {
setContentView(getRedIdByName("public_sdk_self_game", "layout"));// (R.layout.game);
//模拟调用聊天接口:
//PoolSdkHelper.reportChat("content", "世界", "roleId", "roleName", 10, "serverId", "serverName");
initGameView();
} else if (view == yaPayBt) {
pay();
} else if (view == yaSubmitRoleDataBt) {
submitRoleData();
} else if (view == yaChannelCenter) {
channelCenter();
} else if (view == yaLogoutBt){
logout();
} else if (view == yaForumBt){
openForum();
} else if(view == yaSwitchAccountBt){//切换账号
switchAccount();
}
}
/**
* 切换帐号
*/
private void switchAccount() {
if(PoolSdkHelper.hasSwitchAccount()){
PoolSdkHelper.switchAccount(this);
}else if(PoolSdkHelper.hasLogout()){
PoolSdkHelper.logout(this);//在注销监听回调中处理注销
}else if(PoolSdkHelper.hasChannelCenter()){//打开渠道中心看是否有切换账号
PoolSdkHelper.openChannelCenter();
}else{
//直接回到登录界面调用登录
int layoutId = getResources().getIdentifier(
"public_sdk_self_game_login", "layout", getPackageName());
setContentView(layoutId);
initLoginView();
}
}
private void openForum(){
PoolSdkHelper.openForum();
}
private void logout(){
if(PoolSdkHelper.hasLogout()){
PoolSdkHelper.logout(this);//结果回调通知到PoolLogoutListener
}
}
private void login() {
Log.e("gamechanelId", PoolSdkHelper.getGameChannelId());
PoolSdkHelper.login("登录自定义字段", new PoolLoginListener() {
@Override
public void onLoginSuccess(PoolLoginInfo poolLoginInfo) {
String userType = poolLoginInfo.getUserType();
String timestamp = poolLoginInfo.getTimestamp();
String serverSign = poolLoginInfo.getServerSign();
String openId = poolLoginInfo.getOpenID();
// TODO: 把以上信息发送给游戏服务端做登录校验,需要其他信息请从poolLoginInfo对象中获取
System.out.println("登录成功 userType = " + userType
+ "; timestamp = " + timestamp + "; serverSign = "
+ serverSign + "; openId = " + openId);
}
@Override
public void onLoginFailed(String errorMsg) {
System.out.println("登录失败 = " + errorMsg);
}
});
}
private void pay() {
final PoolPayInfo poolPayInfo = new PoolPayInfo();
/********************************************
* 以下所有字段都是必填项
*/
// 设置充值金额,单位“元”
poolPayInfo.setAmount("1");
// 服务器id
poolPayInfo.setServerID("8");
// 服务器名
poolPayInfo.setServerName("我是服务器名");
// 角色id
poolPayInfo.setRoleID("123456");
// 角色名
poolPayInfo.setRoleName("我是角色名");
// 角色等级
poolPayInfo.setRoleLevel("10");
// 商品ID
poolPayInfo.setProductID("1");
// 商品名称
poolPayInfo.setProductName("金币");
// 商品描述
poolPayInfo.setProductDesc("购买金币");
// 兑换比例
poolPayInfo.setExchange("10");
// 自定义参数
poolPayInfo.setCustom("operator=xwrw&server_id=39&player_id=2081&cp_order_id=001000100000020811491470345294&dext=2");
// TODO Auto-generated method stub
PoolSdkHelper.pay(poolPayInfo, new PoolPayListener() {
@Override
public void onPaySuccess(String paramCustom) {
System.out.println("支付成功 = " + paramCustom);
}
@Override
public void onPayFailed(String paramCustom, String errorMsg) {
System.out.println("支付失败 = " + paramCustom + "; errorMsg = "
+ errorMsg);
}
});
}
/**
* 提交角色数据 该接口需要在3个地方调用
*
* 1、登录游戏主场景 2、创建角色 3、角色升级
*/
private void submitRoleData() {
/********************************************
* 以下所有字段都是必填项
*/
PoolRoleInfo poolRoleInfo = new PoolRoleInfo();
poolRoleInfo.setRoleID("123456");
poolRoleInfo.setRoleLevel("10");
poolRoleInfo.setRoleSex("0");
poolRoleInfo.setRoleName("我是角色名");
poolRoleInfo.setServerID("8");
poolRoleInfo.setServerName("我是服务器名");
poolRoleInfo.setCustom("角色创建时间");
poolRoleInfo.setRoleCTime(System.currentTimeMillis()/1000);//角色创建时间(秒)
poolRoleInfo.setPartyName("公会名称");
poolRoleInfo.setRoleType("狂战");//角色类型
poolRoleInfo.setRoleChangeTime(System.currentTimeMillis()/1000);//角色更新时间
poolRoleInfo.setVipLevel("10");//vip等级
poolRoleInfo.setDiamond("1000");//余额
poolRoleInfo.setMoneyType("金币");//商品单位
poolRoleInfo.setCallType(PoolRoleInfo.Type_EnterGame);
// poolRoleInfo.setCallType(PoolRoleInfo.Type_CreateRole);
// poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade);
PoolSdkHelper.submitRoleData(poolRoleInfo, new PoolRoleListener() {
@Override
public void onRoleDataSuccess(String paramCustom) {
System.out.println("提交角色数据成功 = " + paramCustom);
}
});
}
/**
* 用户中心
*
* 游戏方先调用PoolSdkHelper.hasChannelCenter()获取是否有用户中心,
* 如果有的话,游戏中需要添加按钮,点击按钮调用PoolSdkHelper.openChannelCenter();
* 如果没有,则不需要显示按钮,也不用调用下面的接口
*/
private void channelCenter() {
PoolSdkHelper.openChannelCenter();
}
PoolSdkHelper.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// int layoutId = getResources().getIdentifier(
// "public_sdk_self_game_login", "layout", getPackageName());
int layoutId = getResources().getIdentifier(
"public_sdk_self_test", "layout", getPackageName());
setContentView(layoutId);
mContext = this;
// initLoginView();
initView();
PoolSdkLog.setIsShowLog(true);
PoolSdkHelper.init(this, new PoolSDKCallBackListener() {
@Override
public void poolSdkCallBack(int code, String msg) {
PoolSdkLog.logInfo("poolSdkCallBack:code:" + code + ",msg:" + msg);
upTx("poolSdkCallBack:code:" + code + ",msg:" + msg);
switch (code) {
case PoolSDKCode.POOLSDK_INIT_SUCCESS:// 初始化成功
PoolSdkLog.logInfo("游戏中收到初始化成功回调");
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
login();
}
}, 1000);
break;
case PoolSDKCode.POOLSDK_INIT_FAIL:
break;
default:
break;
}
}
}, savedInstanceState);// init(this);// this为游戏的activity对象
PoolSdkHelper.setPayListener(mPoolPayListener );
PoolSdkHelper.setLogoutCallback(new PoolLogoutListener() {
@Override
public void onLogoutSuccess() {
// TODO: 此处处理SDK登出的逻辑
PoolSdkLog.logInfo("游戏中收到logoutSuccess回调");
login();
}
});
txSdkMsg.setText("sdksimplename:"+PoolSdkConfig.getConfigByKey("sdksimplename")
+"\nsdkversioncode:"+PoolSdkConfig.getConfigByKey("sdkversioncode")
+"\ngamesimplename:"+PoolSdkConfig.getConfigByKey("gamesimplename")
+"\nlogincheckurl:"+PoolSdkConfig.getConfigByKey("logincheckurl")
);
}
@Override
public void onStart() {
super.onStart();
PoolSdkHelper.onStart();
}
@Override
public void onStop() {
super.onStop();
PoolSdkHelper.onStop();
}
@Override
public void onDestroy() {
super.onDestroy();
PoolSdkHelper.onDestroy();
}
@Override
public void onResume() {
super.onResume();
PoolSdkHelper.onResume();
}
@Override
public void onPause() {
super.onPause();
PoolSdkHelper.onPause();
}
@Override
public void onRestart() {
super.onRestart();
PoolSdkHelper.onRestart();
}
@Override
public void onNewIntent(Intent intent) {
super.onNewIntent(intent);
PoolSdkHelper.onNewIntent(intent);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
PoolSdkHelper.onActivityResult(requestCode, resultCode, data);
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
PoolSdkHelper.onConfigurationChanged(newConfig);
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
PoolSdkHelper.onSaveInstanceState(outState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
PoolSdkHelper.onRestoreInstanceState(savedInstanceState);
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
PoolSdkHelper.onWindowFocusChanged(hasFocus);
}
@Override
public void onWindowAttributesChanged(LayoutParams params) {
super.onWindowAttributesChanged(params);
PoolSdkHelper.onWindowAttributesChanged(params);
}
@Override
public boolean dispatchKeyEvent(KeyEvent pKeyEvent) {
if (pKeyEvent.getKeyCode() == KeyEvent.KEYCODE_BACK
&& pKeyEvent.getAction() == KeyEvent.ACTION_DOWN) {
if (PoolSdkHelper.hasExitDialog()) {
PoolSdkHelper.showExitDialog(new PoolExitDialogListener() {
@Override
public void onDialogResult(int code, String msg) {
switch (code) {
case PoolSDKCode.EXIT_SUCCESS:
// 退出成功游戏处理自己退出逻辑
PoolSdkLog.logInfo("游戏调用自己退出逻辑");
finish();
System.exit(0);
break;
case PoolSDKCode.EXIT_CANCEL:
// 取消退出
PoolSdkLog.logInfo("收到取消退出回调");
break;
default:
break;
}
}
});
} else {
// TODO: 调用游戏的退出界面
showGameExitTips();
}
return false;
}
return super.dispatchKeyEvent(pKeyEvent);
}
private void showGameExitTips() {
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
int ic_dialog_alert_id = getRedIdByName("ic_dialog_alert", "drawable");
dialog.setIcon(ic_dialog_alert_id);
dialog.setTitle("提示");
dialog.setMessage("是否退出游戏?");
dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
PoolSdkHelper.exitGame(new PoolExitListener() {
@Override
public void onExitGame() {
finish();
}
});
}
});
dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
dialog.show();
}
private int getRedIdByName(String resName, String resType) {
return getResources().getIdentifier(resName, resType, getPackageName());
}
private void initView(){
btLogin = (Button) findViewById(getRedIdByName("pb_bt_login", "id"));
btEnterGame = (Button) findViewById(getRedIdByName("pb_bt_entergame", "id"));
btPay = (Button) findViewById(getRedIdByName("pb_bt_pay", "id"));
btLogout = (Button) findViewById(getRedIdByName("pb_bt_logout", "id"));
btSubRoleInfo = (Button) findViewById(getRedIdByName("pb_bt_subrole", "id"));
btOpenChannel = (Button) findViewById(getRedIdByName("pb_bt_openchannel", "id"));
btSwitchAcc = (Button) findViewById(getRedIdByName("pb_bt_switchacc", "id"));
btOpenBbs = (Button) findViewById(getRedIdByName("pb_bt_openbbs", "id"));
txMsg = (TextView) findViewById(getRedIdByName("tx_msg", "id"));
txSdkMsg = (TextView) findViewById(getRedIdByName("tx_sdk_msg", "id"));
btLogin.setOnClickListener(this);
btEnterGame.setOnClickListener(this);
btPay.setOnClickListener(this);
btLogout.setOnClickListener(this);
btSubRoleInfo.setOnClickListener(this);
btOpenChannel.setOnClickListener(this);
btSwitchAcc.setOnClickListener(this);
btOpenBbs.setOnClickListener(this);
}
private void initLoginView() {
int ya_login_bt = getRedIdByName("ya_login_bt", "id");// getResources().getIdentifier("ya_login_bt",
// "id",
// getPackageName());
yaLoginBt = (Button) findViewById(ya_login_bt);
yaLoginBt.setText("登录");
yaEnterGameBt = (Button) findViewById(getRedIdByName(
"ya_enter_game_bt", "id"));
yaEnterGameBt.setText("进入游戏");
}
private void initGameView() {
yaPayBt = (Button) findViewById(getRedIdByName("ya_pay_bt", "id"));
yaPayBt.setText("支付");
yaSubmitRoleDataBt = (Button) findViewById(getRedIdByName(
"ya_submit_role_data_bt", "id"));
yaSubmitRoleDataBt.setText("提交角色数据");
yaChannelCenter = (Button) findViewById(getRedIdByName(
"ya_channel_center", "id"));
yaChannelCenter.setText("渠道中心");
yaSwitchAccountBt = (Button) findViewById(getRedIdByName(
"ya_switch_account_bt", "id"));
yaSwitchAccountBt.setText("切换账号");
PoolSdkLog.logError("" + yaPayBt + "yachannel:" + yaChannelCenter);
yaLogoutBt = (Button) findViewById(getRedIdByName("logout_bt", "id"));
yaForumBt = (Button) findViewById(getRedIdByName("forum_bt", "id"));
}
public void yaOnClick(View view) {
// if (view == yaLoginBt) {
// login();
// } else if (view == yaEnterGameBt) {
// setContentView(getRedIdByName("public_sdk_self_game", "layout"));// (R.layout.game);
// initGameView();
// PoolReport.reportEnterGame("chufan","角色名", 12, "201","服务器名");
// } else if (view == yaPayBt) {
// pay();
// } else if (view == yaSubmitRoleDataBt) {
// submitRoleData();
// } else if (view == yaChannelCenter) {
// channelCenter();
// } else if (view == yaSwitchAccountBt) {
// switchAccount();
// } else if (view == yaLogoutBt){
// logout();
// } else if (view == yaForumBt){
// openForum();
// }
}
@Override
public void onClick(View view) {
//新view
if (view == btLogin) {
login();
}else if (view == btEnterGame) {
PoolReport.reportEnterGame("chufan","角色名", 12, "201","服务器名");
}else if (view == btPay) {
pay();
}else if (view == btLogout) {
logout();
}else if (view == btSubRoleInfo) {
submitRoleData();
}else if (view == btOpenChannel) {
channelCenter();
}else if (view == btSwitchAcc) {
switchAccount();
}else if (view == btOpenBbs) {
openForum();
}
}
private void openForum(){
PoolSdkHelper.openForum();
}
private void logout(){
if(PoolSdkHelper.hasLogout()){
PoolSdkHelper.logout(this);//结果回调通知到PoolLogoutListener
}
}
private void upTx(final String msg){
mContext.runOnUiThread(new Runnable() {
@Override
public void run() {
txMsg.setText(msg);
}
});
// new Handler().post(new Runnable() {
//
// @Override
// public void run() {
// txMsg.setText(msg);
// }
// });
}
private void login() {
PoolSdkLog.logError("调用login");
PoolSdkHelper.login("登录自定义字段", new PoolLoginListener() {
@Override
public void onLoginSuccess(PoolLoginInfo poolLoginInfo) {
final String userType = poolLoginInfo.getUserType();
final String timestamp = poolLoginInfo.getTimestamp();
final String serverSign = poolLoginInfo.getServerSign();
final String openId = poolLoginInfo.getOpenID();
// TODO: 把以上信息发送给游戏服务端做登录校验,需要其他信息请从poolLoginInfo对象中获取
System.out.println("登录成功回调:userType = " + userType
+ "; timestamp = " + timestamp + "; serverSign = "
+ serverSign + "; openId = " + openId);
upTx("登录成功回调:userType = " + userType
+ "; timestamp = " + timestamp + "; serverSign = "
+ serverSign + "; openId = " + openId);
}
@Override
public void onLoginFailed(final String errorMsg) {
System.out.println("登录失败回调 :" + errorMsg);
upTx("登录失败回调 :" + errorMsg);
}
});
PoolPayOrderConfirmHandler.getInstance(this, 2000, 1000).startOrderConfirmOp(mPoolPayListener);
}
private void pay() {
final PoolPayInfo poolPayInfo = new PoolPayInfo();
/********************************************
* 以下所有字段都是必填项
*/
// 设置充值金额,单位“元”
poolPayInfo.setAmount("0.99");
// 服务器id
poolPayInfo.setServerID("1209");
// 服务器名
poolPayInfo.setServerName("我是服务器名");
// 角色id
poolPayInfo.setRoleID("123456");
// 角色名
poolPayInfo.setRoleName("我是角色名");
// 角色等级
poolPayInfo.setRoleLevel("10");
// 商品ID
poolPayInfo.setProductID("1");
// 商品名称
poolPayInfo.setProductName("金币");
// 商品描述
poolPayInfo.setProductDesc("购买金币");
// 兑换比例
poolPayInfo.setExchange("100");
// 自定义参数
poolPayInfo.setCustom("我是自定义参数");
// TODO Auto-generated method stub
PoolSdkHelper.pay(poolPayInfo, mPoolPayListener);
// PoolSdkHelper.pay(poolPayInfo, new PoolPayListener() {
//
// @Override
// public void onPaySuccess(String paramCustom) {
// System.out.println("支付成功回调:" + paramCustom);
// upTx("支付成功回调:" + paramCustom);
//
// }
//
// @Override
// public void onPayFailed(String paramCustom, String errorMsg) {
// System.out.println("支付失败回调:" + paramCustom + "; errorMsg:"
// + errorMsg);
// upTx("支付失败回调:" + paramCustom + "; errorMsg:"
// + errorMsg);
// }
// });
}
/**
* 提交角色数据 该接口需要在3个地方调用
*
* 1、登录游戏主场景 2、创建角色 3、角色升级
*/
private void submitRoleData() {
/********************************************
* 以下所有字段都是必填项
*/
final PoolRoleInfo poolRoleInfo = new PoolRoleInfo();
poolRoleInfo.setRoleID("123456");
poolRoleInfo.setRoleLevel("10");
poolRoleInfo.setRoleSex("0");
poolRoleInfo.setRoleName("我是角色名");
poolRoleInfo.setServerID("1209");
poolRoleInfo.setServerName("我是服务器名");
poolRoleInfo.setCustom("角色创建时间");
poolRoleInfo.setRoleCTime((long)1509331962);//角色创建时间(秒)
poolRoleInfo.setPartyName("公会名称");
poolRoleInfo.setRoleType("狂战");//角色类型
poolRoleInfo.setRoleChangeTime(System.currentTimeMillis()/1000);//角色更新时间
poolRoleInfo.setVipLevel("10");//vip等级
poolRoleInfo.setDiamond("1000");//余额
poolRoleInfo.setMoneyType("金币");//商品单位
poolRoleInfo.setCallType(PoolRoleInfo.Type_EnterGame);
// poolRoleInfo.setCallType(PoolRoleInfo.Type_CreateRole);
// poolRoleInfo.setCallType(PoolRoleInfo.Type_RoleUpgrade);
PoolSdkHelper.submitRoleData(poolRoleInfo, new PoolRoleListener() {
@Override
public void onRoleDataSuccess(String paramCustom) {
System.out.println("提交角色数据成功:" + poolRoleInfo.verboseInfo());
upTx("提交角色数据成功:" + poolRoleInfo.verboseInfo());
}
});
}
/**
* 用户中心
*
* 游戏方先调用YASDKHelper.hasChannelCenter()获取是否有用户中心,
* 如果有的话,游戏中需要添加按钮,点击按钮调用YASDKHelper.openChannelCenter();
* 如果没有,则不需要显示按钮,也不用调用下面的接口
*/
private void channelCenter() {
PoolSdkHelper.openChannelCenter();
}
/**
* 切换帐号
*/
private void switchAccount() {
if(PoolSdkHelper.hasSwitchAccount()){
PoolSdkHelper.switchAccount(this);
}
}
/**
* 扩展接口
*/
private void expansionInterface() {
PoolSdkHelper.expansionInterface("自定义参数", new PoolExpansionListener() {
@Override
public void onSuccess(String paramCustom) {
}
});
}
}
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
android:orientation="vertical"
android:padding="5dp" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="1"
android:orientation="vertical" >
<Button
android:id="@+id/pb_bt_login"
style="?android:attr/buttonStyleSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="登录" />
<Button
android:id="@+id/pb_bt_entergame"
style="?android:attr/buttonStyleSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="进入游戏" />
<Button
android:id="@+id/pb_bt_pay"
style="?android:attr/buttonStyleSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="支付" />
<Button
android:id="@+id/pb_bt_logout"
style="?android:attr/buttonStyleSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="注销" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="1"
android:orientation="vertical" >
<Button
android:id="@+id/pb_bt_subrole"
style="?android:attr/buttonStyleSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="提交角色数据" />
<Button
android:id="@+id/pb_bt_openchannel"
style="?android:attr/buttonStyleSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="打开渠道个人中心" />
<Button
android:id="@+id/pb_bt_switchacc"
style="?android:attr/buttonStyleSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="切换账号" />
<Button
android:id="@+id/pb_bt_openbbs"
style="?android:attr/buttonStyleSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="打开论坛" />
</LinearLayout>
</LinearLayout>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="10dp"
android:gravity="center"
/>
<TextView
android:id="@+id/tx_sdk_msg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp" />
<TextView
android:id="@+id/tx_msg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp" />
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">SDK_Demo</string>
<string name="app_name">Demo_PoolSDK</string>
</resources>
......
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
No preview for this file type
#Tue Oct 29 15:45:22 CST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
#!/usr/bin/env sh
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
include ':app'
# 公共SDK接入文档 #
## 接入必读
`注意!CP必须设置targetSdkVersion为22及以下版本,不能高于22`
`注意!targetSdkVersion建议设置22及以下版本`
`如果需使用高版本,权限获取问题需要CP自行处理`
`如果需使用高版本,游戏自身动态申请权限获取问题需要CP自行处理`
`
接入公共SDK测试没问题后游戏必须删除掉assets下公共SDK相关资源,
接入公共SDK测试没问题后游戏必须删除掉assets下公共SDK相关资源
(sdk文件夹、sdk.zip、sdkconf.ini)、(supplierconfig.json文件需要保留)
删除manifest中关于公共SDK添加activity和service相关,
删除libs下的XingWanSDK.jar或YouYuSDK.jar,
删除libs下的YouYuSDK_190516.jar,
然后打出一个母包,需要上哪个渠道使用打包工具进行打对应渠道包。
`
......@@ -20,7 +21,7 @@
#### 1.2、复制SDK压缩包中assets目录下的所有内容到游戏工程的assets目录 ####
- 将游戏中的闪屏图片放到assets中poolsdk_splash目录下(选用,图片文件名任意,最多支持2张闪屏)
- 将assets中的poolsdk.xml中的 **YA_APPKEY,YA_APPID,gamesimplename** 修改为申请的参数(必填)(请与相关人员申请)
- 将assets中的poolsdk.xml中的 **YA_APPKEY,YA_APPID,gamesimplename,sdksimplename,sdkversioncode** 修改为申请的参数(必填)(请与相关人员申请)
- channelparameter1 和 channelparameter2 为后台对应渠道编号1和2(选填)(游戏客户端可以通过文档 2.12 方法获取)
- custom 为自定义参数(选填)
- gamechannelid 为游戏渠道号(选填)(游戏客户端可以通过文档 2.12 方法获取)
......@@ -71,15 +72,7 @@
<action android:name="com.youai.sdk.YouaiService" />
</intent-filter>
</service>
<service
android:name="com.youai.sdk.FloatViewService"
android:enabled="true"
android:exported="true" >
<intent-filter>
<action android:name="com.youai.sdk.FloatViewService" />
</intent-filter>
</service>
<receiver android:name="com.youai.sdk.Receiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
......@@ -98,15 +91,6 @@
android:configChanges="keyboardHidden|navigation|orientation"
android:exported="false"
android:screenOrientation="behind" />
<activity
android:name=".wxapi.WXPayEntryActivity"
android:exported="true"
android:launchMode="singleTop" />
<activity
android:name=".wxapi.WXEntryActivity"
android:exported="true"
android:launchMode="singleTop" />
```
......@@ -132,7 +116,7 @@
}
}
```
#### 2.2、初始化接口(必接)
#### 2.2、初始化接口(必接) 高版本Target请游戏申请完自己需要的权限再调用
接口说明:
首先在程序开始的地方调用 SDK 的初始化 init 方法,并设 置 Activity 对像和初始化完成回调
监听(在初始化失败情况下不 再调用其它 SDK 接口方法)
......@@ -272,7 +256,7 @@ public static void submitRoleData(final PoolRoleInfo poolRoleInfo,final PoolRole
PoolSdkHelper.submitRoleData(poolRoleInfo, new PoolRoleListener() {
@Override
public void onRoleDataSuccess(String paramCustom) {
System.out.println("提交角色数据成功 = " + paramCustom);
System.out.println("提交角色数据成功 = " + poolRoleInfo.verboseInfo());
}
});
......@@ -358,7 +342,7 @@ public static void pay(final PoolPayInfo poolPayInfo,final PoolPayListener poolP
```java
public static boolean hasChannelCenter()
```
#### 2.7、用户中心接口(必接)
#### 2.7、用户中心接口
说明:打开渠道用户中心界面
......@@ -680,30 +664,29 @@ PoolSdkHelper.paymentSuccess(AppActivity.this, orderIds.toString());
代码示例:
```java
if(paramCustom == null || paramCustom.length() <= 0)
{
PoolSdkLog.logError("paysuccess data error :" + paramCustom);
return;
}
try {
PoolSdkLog.logInfo("paySuccess:" + paramCustom);
JSONArray jsonArray = new JSONArray(paramCustom);
StringBuilder orderIds = new StringBuilder();
int length = jsonArray.length();
for (int i = 0; i < length; i++) {
JSONObject jb = jsonArray.getJSONObject(i);
String orderId = jb.getString("orderId");
orderIds.append(orderId);
if(i != length -1) {//最后一项不加分割符
orderIds.append(",");
}
}
PoolSdkHelper.paymentSuccess(AppActivity.this, orderIds.toString());
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(paramCustom == null || paramCustom.length() <= 0)
{
PoolSdkLog.logError("paysuccess data error :" + paramCustom);
return;
}
try {
PoolSdkLog.logInfo("paySuccess:" + paramCustom);
JSONArray jsonArray = new JSONArray(paramCustom);
StringBuilder orderIds = new StringBuilder();
int length = jsonArray.length();
for (int i = 0; i < length; i++) {
JSONObject jb = jsonArray.getJSONObject(i);
String orderId = jb.getString("orderId");
orderIds.append(orderId);
if(i != length -1) {//最后一项不加分割符
orderIds.append(",");
}
}
PoolSdkHelper.paymentSuccess(AppActivity.this, orderIds.toString());
} catch (JSONException e) {
e.printStackTrace();
}
```
......
No preview for this file type