Commit 064eb2054994613924aae1966899abf5c04eda24

Authored by 赵康
1 parent 656f5f9fdd
Exists in master

分离iap支付方法

Showing 11 changed files with 77 additions and 50 deletions Inline Diff

GameSDK-release4.1.3.aar
No preview for this file type
GameSDK-release4.1.4.aar
No preview for this file type
GameSDKDemo/GameSDKDemo.iml
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <module external.linked.project.id=":GameSDKDemo" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/../../../GameSDK_AS" external.system.id="GRADLE" external.system.module.group="GameSDK_AS" external.system.module.version="unspecified" type="JAVA_MODULE" version="4"> 2 <module external.linked.project.id=":GameSDKDemo" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/../../../GameSDK_AS" external.system.id="GRADLE" external.system.module.group="GameSDK_AS" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
3 <component name="FacetManager"> 3 <component name="FacetManager">
4 <facet type="android-gradle" name="Android-Gradle"> 4 <facet type="android-gradle" name="Android-Gradle">
5 <configuration> 5 <configuration>
6 <option name="GRADLE_PROJECT_PATH" value=":GameSDKDemo" /> 6 <option name="GRADLE_PROJECT_PATH" value=":GameSDKDemo" />
7 </configuration> 7 </configuration>
8 </facet> 8 </facet>
9 <facet type="android" name="Android"> 9 <facet type="android" name="Android">
10 <configuration> 10 <configuration>
11 <option name="SELECTED_BUILD_VARIANT" value="debug" /> 11 <option name="SELECTED_BUILD_VARIANT" value="debug" />
12 <option name="SELECTED_TEST_ARTIFACT" value="_android_test_" /> 12 <option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
13 <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" /> 13 <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
14 <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" /> 14 <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
15 <afterSyncTasks> 15 <afterSyncTasks>
16 <task>generateDebugSources</task> 16 <task>generateDebugSources</task>
17 </afterSyncTasks> 17 </afterSyncTasks>
18 <option name="ALLOW_USER_CONFIGURATION" value="false" /> 18 <option name="ALLOW_USER_CONFIGURATION" value="false" />
19 <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" /> 19 <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
20 <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" /> 20 <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
21 <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" /> 21 <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
22 <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" /> 22 <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
23 </configuration> 23 </configuration>
24 </facet> 24 </facet>
25 </component> 25 </component>
26 <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false"> 26 <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
27 <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" /> 27 <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
28 <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" /> 28 <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
29 <exclude-output /> 29 <exclude-output />
30 <content url="file://$MODULE_DIR$"> 30 <content url="file://$MODULE_DIR$">
31 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" /> 31 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
32 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" /> 32 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
33 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" /> 33 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
34 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" /> 34 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
35 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" /> 35 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
36 <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" /> 36 <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
37 <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" /> 37 <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
38 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" /> 38 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
39 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" /> 39 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
40 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" /> 40 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
41 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" /> 41 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
42 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" /> 42 <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
43 <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" /> 43 <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
44 <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" /> 44 <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
45 <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" /> 45 <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
46 <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" /> 46 <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
47 <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" /> 47 <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
48 <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" /> 48 <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
49 <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" /> 49 <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
50 <sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" /> 50 <sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
51 <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" /> 51 <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
52 <sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" /> 52 <sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
53 <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" /> 53 <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
54 <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" /> 54 <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
55 <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" /> 55 <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
56 <sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" /> 56 <sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
57 <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" /> 57 <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
58 <sourceFolder url="file://$MODULE_DIR$/src/testDebug/jni" isTestSource="true" /> 58 <sourceFolder url="file://$MODULE_DIR$/src/testDebug/jni" isTestSource="true" />
59 <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" /> 59 <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
60 <sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" /> 60 <sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
61 <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" /> 61 <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
62 <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> 62 <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
63 <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" /> 63 <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
64 <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" /> 64 <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
65 <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> 65 <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
66 <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" /> 66 <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
67 <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" /> 67 <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
68 <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" /> 68 <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
69 <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
70 <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
71 <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
72 <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
73 <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
74 <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
75 <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
76 <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
77 <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" /> 69 <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
78 <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" /> 70 <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
79 <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" /> 71 <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
80 <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" /> 72 <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
81 <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> 73 <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
82 <sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" /> 74 <sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
83 <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" /> 75 <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
84 <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" /> 76 <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
77 <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
78 <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
79 <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
80 <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
81 <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
82 <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
83 <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
84 <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
85 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" /> 85 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
86 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" /> 86 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
87 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
88 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" /> 87 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
89 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" /> 88 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
89 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/GameSDK-release4.1.4/jars" />
90 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/22.2.0/jars" /> 90 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/22.2.0/jars" />
91 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/22.2.0/jars" /> 91 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/22.2.0/jars" />
92 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" /> 92 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
93 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" /> 93 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
94 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" /> 94 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
95 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" /> 95 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
96 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" /> 96 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
97 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-resources" /> 97 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-resources" />
98 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" /> 98 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
99 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" /> 99 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
100 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" /> 100 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
101 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
101 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" /> 102 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
102 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" /> 103 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
103 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" /> 104 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />
104 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" /> 105 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
105 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" /> 106 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
106 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" /> 107 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
107 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" /> 108 <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
108 <excludeFolder url="file://$MODULE_DIR$/build/outputs" /> 109 <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
109 <excludeFolder url="file://$MODULE_DIR$/build/tmp" /> 110 <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
110 </content> 111 </content>
111 <orderEntry type="jdk" jdkName="Android API 22 Platform" jdkType="Android SDK" /> 112 <orderEntry type="jdk" jdkName="Android API 22 Platform" jdkType="Android SDK" />
112 <orderEntry type="sourceFolder" forTests="false" /> 113 <orderEntry type="sourceFolder" forTests="false" />
GameSDKDemo/build.gradle
1 apply plugin: 'com.android.application' 1 apply plugin: 'com.android.application'
2 2
3 repositories{ 3 repositories{
4 flatDir{ 4 flatDir{
5 dirs 'libs' 5 dirs 'libs'
6 } 6 }
7 } 7 }
8 8
9 android { 9 android {
10 compileSdkVersion 22 10 compileSdkVersion 22
11 buildToolsVersion "22.0.0" 11 buildToolsVersion "22.0.0"
12 12
13 13
14 defaultConfig { 14 defaultConfig {
15 minSdkVersion 9 15 minSdkVersion 9
16 targetSdkVersion 22 16 targetSdkVersion 22
17 versionCode 1 17 versionCode 2
18 versionName "1.0" 18 versionName "1.1"
19 } 19 }
20 20
21 buildTypes { 21 buildTypes {
22 release { 22 release {
23 minifyEnabled false 23 minifyEnabled false
24 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 24 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
25 } 25 }
26 } 26 }
27 lintOptions{ 27 lintOptions{
28 abortOnError false 28 abortOnError false
29 } 29 }
30 } 30 }
31 31
32 dependencies { 32 dependencies {
33 compile fileTree(dir: 'libs', include: ['*.jar']) 33 compile fileTree(dir: 'libs', include: ['*.jar'])
34 testCompile 'junit:junit:4.12' 34 testCompile 'junit:junit:4.12'
35 compile 'com.android.support:appcompat-v7:22.2.0' 35 compile 'com.android.support:appcompat-v7:22.2.0'
36 compile project(':GameSDK') 36 // compile project(':GameSDK')
37 // compile(name:'GameSDK-release4.1.3',ext:'aar') 37 compile(name:'GameSDK-release4.1.4',ext:'aar')
38 } 38 }
39 39
GameSDKDemo/libs/GameSDK-release4.1.3.aar
No preview for this file type
GameSDKDemo/libs/GameSDK-release4.1.4.aar
No preview for this file type
GameSDKDemo/src/main/AndroidManifest.xml
1 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 1 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2 package="com.gumptech.sdk.demo"> 2 package="com.gumptech.sdk.demo">
3 3
4 4
5 <uses-sdk 5 <uses-sdk
6 android:minSdkVersion="9" 6 android:minSdkVersion="9"
7 android:targetSdkVersion="20" /> 7 android:targetSdkVersion="20" />
8 8
9 <uses-permission android:name="android.permission.INTERNET" /> 9 <uses-permission android:name="android.permission.INTERNET" />
10 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
11 <uses-permission android:name="android.permission.BLUETOOTH" /> 10 <uses-permission android:name="android.permission.BLUETOOTH" />
12 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 11 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
13 <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 12 <uses-permission android:name="android.permission.WRITE_SETTINGS" />
14 <uses-permission android:name="android.permission.GET_ACCOUNTS" />
15 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 13 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
16 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
17 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> 14 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
15 <!-- Danger Level permission-->
16 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
17 <uses-permission android:name="android.permission.GET_ACCOUNTS" />
18 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
18 <uses-permission android:name="android.permission.SEND_SMS"/> 19 <uses-permission android:name="android.permission.SEND_SMS"/>
19 20
20 <!-- VERY IMPORTANT! Don't forget this permission, or in-app billing won't work. --> 21 <!-- VERY IMPORTANT! Don't forget this permission, or in-app billing won't work. -->
21 <uses-permission android:name="com.android.vending.BILLING" /> 22 <uses-permission android:name="com.android.vending.BILLING" />
22 23
23 <application 24 <application
24 android:allowBackup="true" 25 android:allowBackup="true"
25 android:icon="@drawable/ic_launcher" 26 android:icon="@drawable/ic_launcher"
27
26 android:label="@string/app_name" > 28 android:label="@string/app_name" >
27 <activity 29 <activity
28 android:name="com.gumptech.sdk.demo.MainActivity" 30 android:name="com.gumptech.sdk.demo.MainActivity"
29 android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout" 31 android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout"
30 android:label="@string/app_name" 32 android:label="@string/app_name"
31 android:screenOrientation="portrait" > 33 android:screenOrientation="portrait" >
32 <intent-filter> 34 <intent-filter>
33 <action android:name="android.intent.action.MAIN" /> 35 <action android:name="android.intent.action.MAIN" />
34 36
35 <category android:name="android.intent.category.LAUNCHER" /> 37 <category android:name="android.intent.category.LAUNCHER" />
36 </intent-filter> 38 </intent-filter>
37 </activity> 39 </activity>
38 <activity 40 <activity
39 android:name="com.gumptech.sdk.ContainerActivity" 41 android:name="com.gumptech.sdk.ContainerActivity"
40 android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout" 42 android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout"
41 android:windowSoftInputMode="stateAlwaysHidden|adjustPan" 43 android:windowSoftInputMode="stateAlwaysHidden|adjustPan"
42 android:launchMode="singleTask" 44 android:launchMode="singleTask"
43 android:theme="@style/Theme.TransparentWin" > 45 android:theme="@style/Theme.TransparentWin" >
44 </activity> 46 </activity>
45 <activity 47 <activity
46 android:name="com.gumptech.sdk.PaymentActivity" 48 android:name="com.gumptech.sdk.PaymentActivity"
47 android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout" 49 android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout"
48 android:launchMode="singleTask" 50 android:launchMode="singleTask"
49 android:theme="@android:style/Theme.Translucent.NoTitleBar" > 51 android:theme="@android:style/Theme.Translucent.NoTitleBar" >
50 <intent-filter> 52 <intent-filter>
51 <category android:name="android.intent.category.DEFAULT" /> 53 <category android:name="android.intent.category.DEFAULT" />
52 54
53 <action android:name="android.intent.action.VIEW" /> 55 <action android:name="android.intent.action.VIEW" />
54 56
55 <category android:name="android.intent.category.BROWSABLE" /> 57 <category android:name="android.intent.category.BROWSABLE" />
56 58
57 <data 59 <data
58 android:host="com.gump.sdk" 60 android:host="com.gump.sdk"
59 android:scheme="gump10031" /> 61 android:scheme="gump10031" />
60 </intent-filter> 62 </intent-filter>
61 </activity> 63 </activity>
62 <activity 64 <activity
63 android:name="com.gumptech.sdk.ExchangeWindow" 65 android:name="com.gumptech.sdk.ExchangeWindow"
64 android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout" 66 android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout"
65 android:theme="@style/Theme.WinForExchange" > 67 android:theme="@style/Theme.WinForExchange" >
66 </activity> 68 </activity>
67 69
68 <service android:name="com.gumptech.sdk.PushService" > 70 <service android:name="com.gumptech.sdk.PushService" >
69 </service> 71 </service>
70 72
71 <!-- vk --> 73 <!-- vk -->
72 <!-- <activity android:name="com.vk.com.gumptech.sdk.VKOpenAuthActivity" /> --> 74 <!-- <activity android:name="com.vk.com.gumptech.sdk.VKOpenAuthActivity" /> -->
73 <!-- <activity --> 75 <!-- <activity -->
74 <!-- android:name="com.vk.com.gumptech.sdk.VKServiceActivity" --> 76 <!-- android:name="com.vk.com.gumptech.sdk.VKServiceActivity" -->
75 <!-- android:label="ServiceActivity" --> 77 <!-- android:label="ServiceActivity" -->
76 <!-- android:theme="@style/VK.Transparent" /> --> 78 <!-- android:theme="@style/VK.Transparent" /> -->
77 </application> 79 </application>
78 80
GameSDKDemo/src/main/java/com/gumptech/sdk/demo/MainActivity.java
1 package com.gumptech.sdk.demo; 1 package com.gumptech.sdk.demo;
2 2
3 import android.app.Activity; 3 import android.app.Activity;
4 import android.content.Context; 4 import android.content.Context;
5 import android.os.Bundle; 5 import android.os.Bundle;
6 import android.text.ClipboardManager; 6 import android.text.ClipboardManager;
7 import android.util.Log; 7 import android.util.Log;
8 import android.view.View; 8 import android.view.View;
9 import android.widget.Button; 9 import android.widget.Button;
10 import android.widget.TextView; 10 import android.widget.TextView;
11 import android.widget.Toast; 11 import android.widget.Toast;
12 12
13 import com.gumptech.sdk.GumpPreference; 13 import com.gumptech.sdk.GumpPreference;
14 import com.gumptech.sdk.GumpSDK; 14 import com.gumptech.sdk.GumpSDK;
15 import com.gumptech.sdk.PaymentVersion; 15 import com.gumptech.sdk.PaymentVersion;
16 import com.gumptech.sdk.bean.GumpUser; 16 import com.gumptech.sdk.bean.GumpUser;
17 import com.gumptech.sdk.bean.PurchaseResult; 17 import com.gumptech.sdk.bean.PurchaseResult;
18 import com.gumptech.sdk.callback.InitializeCallback; 18 import com.gumptech.sdk.callback.InitializeCallback;
19 import com.gumptech.sdk.callback.LoginStateListener; 19 import com.gumptech.sdk.callback.LoginStateListener;
20 import com.gumptech.sdk.callback.PurchaseCallback; 20 import com.gumptech.sdk.callback.PurchaseCallback;
21 import com.gumptech.sdk.passport.fb.FBAccessToken; 21 import com.gumptech.sdk.passport.fb.FBAccessToken;
22 22
23 public class MainActivity extends Activity implements PurchaseCallback{ 23 public class MainActivity extends Activity implements PurchaseCallback {
24 24
25 private static final String TAG = "MainActivity"; 25 private static final String TAG = "MainActivity";
26 26
27 private TextView tvVersion; 27 private TextView tvVersion;
28 private TextView userInfo; 28 private TextView userInfo;
29 29
30 private Button btnLoginOrLogout; 30 private Button btnLoginOrLogout;
31 31
32 private String appId = "10022"; 32 private String appId = "10022";
33 private String appKey = "93a27b0bd99bac3e68a440b48aa421ab"; 33 private String appKey = "93a27b0bd99bac3e68a440b48aa421ab";
34 private String sessionKey; 34 private String sessionKey;
35 35
36
36 @Override 37 @Override
37 protected void onCreate(Bundle savedInstanceState) { 38 protected void onCreate(Bundle savedInstanceState) {
38 super.onCreate(savedInstanceState); 39 super.onCreate(savedInstanceState);
39 setContentView(R.layout.activity_main); 40 setContentView(R.layout.activity_main);
40 tvVersion = (TextView) findViewById(R.id.version); 41 tvVersion = (TextView) findViewById(R.id.version);
41 userInfo = (TextView) findViewById(R.id.user_info); 42 userInfo = (TextView) findViewById(R.id.user_info);
42 btnLoginOrLogout = (Button) findViewById(R.id.login_or_logout); 43 btnLoginOrLogout = (Button) findViewById(R.id.login_or_logout);
43 btnLoginOrLogout.setOnClickListener(new View.OnClickListener() { 44 btnLoginOrLogout.setOnClickListener(new View.OnClickListener() {
44 45
45 @Override 46 @Override
46 public void onClick(View v) { 47 public void onClick(View v) {
47 if (btnLoginOrLogout.getTag() == null || (Integer) btnLoginOrLogout.getTag() == 0) 48 if (btnLoginOrLogout.getTag() == null || (Integer) btnLoginOrLogout.getTag() == 0)
48 GumpSDK.start(MainActivity.this); 49 GumpSDK.start(MainActivity.this);
49 else 50 else
50 GumpSDK.logout(MainActivity.this); 51 GumpSDK.logout(MainActivity.this);
51 } 52 }
52 }); 53 });
53 findViewById(R.id.pay).setOnClickListener(new View.OnClickListener() { 54 findViewById(R.id.pay).setOnClickListener(new View.OnClickListener() {
54 55
55 @Override 56 @Override
56 public void onClick(View v) { 57 public void onClick(View v) {
57 Bundle payInfo = new Bundle(); 58 Bundle payInfo = new Bundle();
58 payInfo.putString("product", "test2"); 59 payInfo.putString("product", "test2");
59 payInfo.putFloat("amount", 0.1f); 60 payInfo.putFloat("amount", 0.1f);
60 payInfo.putString("extraInfo", "This is demo!"); 61 payInfo.putString("extraInfo", "This is demo!");
61 payInfo.putString("serverId", "100"); 62 payInfo.putString("serverId", "100");
63 payInfo.putString("roleId","100123");
62 payInfo.putString("sessionKey", sessionKey); 64 payInfo.putString("sessionKey", sessionKey);
63 GumpSDK.pay(MainActivity.this, payInfo, MainActivity.this); 65 GumpSDK.pay(MainActivity.this, payInfo, MainActivity.this);
64 } 66 }
65 }); 67 });
68 findViewById(R.id.iap).setOnClickListener(new View.OnClickListener() {
69 @Override
70 public void onClick(View v) {
71 Bundle payInfo = new Bundle();
72 payInfo.putString("product", "gp_skuId");
73 payInfo.putFloat("amount", 0.1f);
74 payInfo.putString("extraInfo", "This is demo!");
75 payInfo.putString("serverId", "100");
76 payInfo.putString("roleId","100123");
77 GumpSDK.iap(MainActivity.this, payInfo, MainActivity.this);
78 }
79 });
66 /** 80 /**
67 * 设置否是打印debug日志 81 * 设置否是打印debug日志
68 */ 82 */
69 GumpSDK.getSettings().enableDebugLogging(true); 83 GumpSDK.getSettings().enableDebugLogging(true);
70 /** 84 /**
71 * 设置是否启用facebook登录 85 * 设置是否启用facebook登录
72 */ 86 */
73 GumpSDK.getSettings().setFBEnable(true); 87 GumpSDK.getSettings().setFBEnable(true);
74 /** 88 /**
75 * 设置是否启用Vk登录 89 * 设置是否启用Vk登录
76 */ 90 */
77 GumpSDK.getSettings().setVKEnable(false); 91 GumpSDK.getSettings().setVKEnable(false);
78 /** 92 /**
79 * 设置屏幕方向 93 * 设置屏幕方向
80 */ 94 */
81 GumpSDK.getSettings().setScreenLandscape(true); 95 GumpSDK.getSettings().setScreenLandscape(true);
82 96
83 /** 97 /**
84 * 设置支付版本 98 * 设置支付版本
85 */ 99 */
86 GumpSDK.getSettings().setPaymentVersion(PaymentVersion.V4); 100 GumpSDK.getSettings().setPaymentVersion(PaymentVersion.V4);
87 101
88 /** 102 /**
89 * 设置用户登录状态监听器 103 * 设置用户登录状态监听器
90 */ 104 */
91 105
92 GumpSDK.setUserStateListener(new LoginStateListener() { 106 GumpSDK.setUserStateListener(new LoginStateListener() {
93 @Override 107 @Override
94 public void onLoginSuccess(GumpUser user) { 108 public void onLoginSuccess(GumpUser user) {
95 ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 109 ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
96 cm.setText(user.getSessionKey()); 110 cm.setText(user.getSessionKey());
97 sessionKey = user.getSessionKey(); 111 sessionKey = user.getSessionKey();
98 String userType=null; 112 String userType = null;
99 switch(user.getAccountType()){ 113 switch (user.getAccountType()) {
100 case GumpPreference.ACCOUNT_TYPE_FB: 114 case GumpPreference.ACCOUNT_TYPE_FB:
101 userType = "Facebook登录"; 115 userType = "Facebook登录";
102 String fbToken = FBAccessToken.getCurrentAccessToken().getToken(); 116 String fbToken = FBAccessToken.getCurrentAccessToken().getToken();
103 Log.d(TAG,"FBAccessToken:"+fbToken); 117 Log.d(TAG, "FBAccessToken:" + fbToken);
104 break; 118 break;
105 case GumpPreference.ACCOUNT_TYPE_QUICK_REG: 119 case GumpPreference.ACCOUNT_TYPE_QUICK_REG:
106 userType = "快速登录"; 120 userType = "快速登录";
107 break; 121 break;
108 case GumpPreference.ACCOUNT_TYPE_REG: 122 case GumpPreference.ACCOUNT_TYPE_REG:
109 userType = "gump注册用户"; 123 userType = "gump注册用户";
110 break; 124 break;
111 case GumpPreference.ACCOUNT_TYPE_VK: 125 case GumpPreference.ACCOUNT_TYPE_VK:
112 userType = "vk登录"; 126 userType = "vk登录";
113 break; 127 break;
114 } 128 }
115 userInfo.setText(" Userid:" + user.getUid() + "\n accountType:(" + user.getAccountType()+") "+userType + "\n sessionKey:" + user.getSessionKey()); 129 userInfo.setText(" Userid:" + user.getUid() + "\n accountType:(" + user.getAccountType() + ") " + userType + "\n sessionKey:" + user.getSessionKey());
116 btnLoginOrLogout.setText("Logout"); 130 btnLoginOrLogout.setText("Logout");
117 btnLoginOrLogout.setTag(1); 131 btnLoginOrLogout.setTag(1);
118 } 132 }
119 133
120 @Override 134 @Override
121 public void onLoginFailed(int code, String msg) { 135 public void onLoginFailed(int code, String msg) {
122 userInfo.setText(msg); 136 userInfo.setText(msg);
123 Toast.makeText(MainActivity.this, "Login failed:code="+code+",message="+msg, Toast.LENGTH_SHORT).show(); 137 Toast.makeText(MainActivity.this, "Login failed:code=" + code + ",message=" + msg, Toast.LENGTH_SHORT).show();
124 } 138 }
125 139
126 @Override 140 @Override
127 public void onLoginCanceled() { 141 public void onLoginCanceled() {
128 Toast.makeText(MainActivity.this, "operate be canceled", Toast.LENGTH_SHORT).show(); 142 Toast.makeText(MainActivity.this, "operate be canceled", Toast.LENGTH_SHORT).show();
129 } 143 }
130 144
131 @Override 145 @Override
132 public void onLogout() { 146 public void onLogout() {
133 btnLoginOrLogout.setText("Login"); 147 btnLoginOrLogout.setText("Login");
134 btnLoginOrLogout.setTag(0); 148 btnLoginOrLogout.setTag(0);
135 userInfo.setText("User is logout"); 149 userInfo.setText("User is logout");
136 } 150 }
137 }); 151 });
138 /** 152 /**
139 * 初始化sdk 153 * 初始化sdk
140 */ 154 */
141 GumpSDK.init(getApplicationContext(), appId, appKey, "1000", new InitializeCallback() { 155 GumpSDK.init(getApplicationContext(), appId, appKey, "1000", new InitializeCallback() {
142 @Override 156 @Override
143 public void initComplete(int result) { 157 public void initComplete(int result) {
144 if (result == GumpSDK.CODE.OK) { 158 if (result == GumpSDK.CODE.OK) {
145 btnLoginOrLogout.setEnabled(true); 159 btnLoginOrLogout.setEnabled(true);
146 } 160 }
147 } 161 }
148 }); 162 });
149 163
150 tvVersion.setText("SDK Version:" + GumpSDK.getVersion()); 164 tvVersion.setText("SDK Version:" + GumpSDK.getVersion());
165
151 } 166 }
152 167
153 @Override 168 @Override
154 public void onPurchaseCompleted(PurchaseResult result) { 169 public void onPurchaseCompleted(PurchaseResult result) {
155 Log.i(TAG,"purchase completed"); 170 Log.i(TAG, "purchase completed");
156 } 171 }
157 172
158 @Override 173 @Override
159 public void onPurchaseError(int code, String msg) { 174 public void onPurchaseError(int code, String msg) {
160 Log.i(TAG,"purchase error"); 175 Log.i(TAG, "purchase error");
161 } 176 }
162 177
163 @Override 178 @Override
164 public void onPurchaseCanceled() { 179 public void onPurchaseCanceled() {
165 Log.i(TAG,"purchase canceled"); 180 Log.i(TAG, "purchase canceled");
166 } 181 }
182
183
167 } 184 }
168 185
GameSDKDemo/src/main/res/layout/activity_main.xml
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 android:layout_width="match_parent" 2 android:layout_width="match_parent"
3 android:layout_height="match_parent" 3 android:layout_height="match_parent"
4 android:background="@android:color/white" 4 android:background="@android:color/white"
5 android:orientation="vertical" > 5 android:orientation="vertical">
6 6
7 <TextView 7 <TextView
8 android:id="@+id/version" 8 android:id="@+id/version"
9 android:layout_width="wrap_content" 9 android:layout_width="wrap_content"
10 android:layout_height="wrap_content" 10 android:layout_height="wrap_content"
11 android:layout_gravity="center_horizontal" 11 android:layout_gravity="center_horizontal"
12 android:textColor="@color/black_text" /> 12 android:textColor="@color/black_text" />
13 13
14 <TextView 14 <TextView
15 android:id="@+id/user_info" 15 android:id="@+id/user_info"
16 android:layout_width="wrap_content" 16 android:layout_width="match_parent"
17 android:layout_height="wrap_content" 17 android:layout_height="wrap_content"
18 android:textColor="@android:color/black" /> 18 android:textColor="@android:color/black" />
19 19
20 <Button 20 <Button
21 android:id="@+id/login_or_logout" 21 android:id="@+id/login_or_logout"
22 android:layout_width="wrap_content" 22 android:layout_width="match_parent"
23 android:layout_height="wrap_content" 23 android:layout_height="wrap_content"
24 android:backgroundTint="@color/g_color"
24 android:enabled="false" 25 android:enabled="false"
25 android:text="Login" /> 26 android:text="Login" />
27 <Button
28 android:id="@+id/iap"
29 android:layout_width="match_parent"
30 android:layout_height="wrap_content"
31 android:backgroundTint="@color/g_color"
32 android:text="IAP"/>
26 33
27 <Button 34 <Button
28 android:id="@+id/pay" 35 android:id="@+id/pay"
29 android:layout_width="wrap_content" 36 android:layout_width="match_parent"
30 android:layout_height="wrap_content" 37 android:layout_height="wrap_content"
38 android:backgroundTint="@color/g_color"
31 android:text="pay" /> 39 android:text="pay" />
32 40
33 </LinearLayout> 41 </LinearLayout>
GameSDKDemo/src/main/res/values/colors.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <resources> 2 <resources>
3 <color name="colorPrimary">#3F51B5</color> 3 <color name="colorPrimary">#3F51B5</color>
4 <color name="colorPrimaryDark">#303F9F</color> 4 <color name="colorPrimaryDark">#303F9F</color>
5 <color name="colorAccent">#FF4081</color> 5 <color name="colorAccent">#FF4081</color>
6 <color name="g_color">#55BCDC</color>
6 </resources> 7 </resources>
7 8
GameSDKDemo/src/main/res/values/styles.xml
1 <resources> 1 <resources>
2 2
3 <!-- Base application theme. --> 3 <!-- Base application theme. -->
4 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 4 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
5 <!-- Customize your theme here. --> 5 <!-- Customize your theme here. -->
6 <item name="colorPrimary">@color/colorPrimary</item> 6 <item name="colorPrimary">@color/colorPrimary</item>
7 <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 7 <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
8 <item name="colorAccent">@color/colorAccent</item> 8 <item name="colorAccent">@color/colorAccent</item>
9 </style> 9 </style>
10 10
11 </resources> 11 </resources>
12 12