Commit fb3783ee5da8db79a6b9de15af3efd5a1b0015bb
1 parent
84509c18a4
Exists in
master
修正文档
Showing 2 changed files with 6 additions and 15 deletions Inline Diff
InlandSDKDemo/AndroidManifest.xml
| 1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" | 2 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
| 3 | package="com.ninjaonline" | 3 | package="com.ninjaonline" |
| 4 | android:versionCode="1" | 4 | android:versionCode="1" |
| 5 | android:versionName="1.0" > | 5 | android:versionName="1.0" > |
| 6 | 6 | ||
| 7 | <uses-sdk | 7 | <uses-sdk |
| 8 | android:minSdkVersion="10" | 8 | android:minSdkVersion="10" |
| 9 | android:targetSdkVersion="21" /> | 9 | android:targetSdkVersion="21" /> |
| 10 | 10 | ||
| 11 | <uses-permission android:name="android.permission.INTERNET" /> | 11 | <uses-permission android:name="android.permission.INTERNET" /> |
| 12 | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> | 12 | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
| 13 | <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> | 13 | <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> |
| 14 | <uses-permission android:name="android.permission.BLUETOOTH" /> | 14 | <uses-permission android:name="android.permission.BLUETOOTH" /> |
| 15 | <uses-permission android:name="android.permission.GET_ACCOUNTS" /> | 15 | <uses-permission android:name="android.permission.GET_ACCOUNTS" /> |
| 16 | <uses-permission android:name="android.permission.READ_PHONE_STATE" /> | 16 | <uses-permission android:name="android.permission.READ_PHONE_STATE" /> |
| 17 | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | 17 | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
| 18 | <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> | 18 | <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> |
| 19 | <uses-permission android:name="android.permission.WRITE_SETTINGS" /> | 19 | <uses-permission android:name="android.permission.WRITE_SETTINGS" /> |
| 20 | <!-- 以下是银联支付专用 --> | 20 | <!-- 以下是银联支付专用 --> |
| 21 | <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> | 21 | <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> |
| 22 | 22 | ||
| 23 | <application | 23 | <application |
| 24 | android:allowBackup="true" | 24 | android:allowBackup="true" |
| 25 | android:icon="@drawable/ic_launcher" | 25 | android:icon="@drawable/ic_launcher" |
| 26 | android:label="@string/app_name" > | 26 | android:label="@string/app_name" > |
| 27 | <activity | 27 | <activity |
| 28 | android:name="com.gump.inland.sdk.demo.MainActivity" | 28 | android:name="com.gump.inland.sdk.demo.MainActivity" |
| 29 | android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout" | 29 | android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout" |
| 30 | android:label="@string/app_name" | 30 | android:label="@string/app_name" |
| 31 | android:screenOrientation="landscape" > | 31 | android:screenOrientation="landscape" > |
| 32 | <intent-filter> | 32 | <intent-filter> |
| 33 | <action android:name="android.intent.action.MAIN" /> | 33 | <action android:name="android.intent.action.MAIN" /> |
| 34 | 34 | ||
| 35 | <category android:name="android.intent.category.LAUNCHER" /> | 35 | <category android:name="android.intent.category.LAUNCHER" /> |
| 36 | </intent-filter> | 36 | </intent-filter> |
| 37 | <intent-filter> | ||
| 38 | <action android:name="android.intent.action.VIEW" /> | ||
| 39 | |||
| 40 | <category android:name="android.intent.category.DEFAULT" /> | ||
| 41 | |||
| 42 | <data android:scheme="wxdb562d299ac311e0" /> | ||
| 43 | </intent-filter> | ||
| 44 | </activity> | 37 | </activity> |
| 45 | <activity | 38 | <activity |
| 46 | android:name="com.gump.inland.gamesdk.PassportBaseActivity" | 39 | android:name="com.gump.inland.gamesdk.PassportBaseActivity" |
| 47 | android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout" | 40 | android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout" |
| 48 | android:launchMode="singleTask" | 41 | android:launchMode="singleTask" |
| 49 | android:theme="@style/Theme.TransparentWin" > | 42 | android:theme="@style/Theme.TransparentWin" > |
| 50 | </activity> | 43 | </activity> |
| 51 | <!-- wx callback --> | ||
| 52 | <!-- <activity --> | ||
| 53 | <!-- android:name="com.ninjaonline.wxapi.WXPayEntryActivity" --> | ||
| 54 | <!-- android:exported="true" > --> | ||
| 55 | <!-- </activity> --> | ||
| 56 | <!-- unionPay --> | 44 | <!-- unionPay --> |
| 57 | <activity | 45 | <activity |
| 58 | android:name="com.unionpay.uppay.PayActivity" | 46 | android:name="com.unionpay.uppay.PayActivity" |
| 59 | android:configChanges="orientation|keyboardHidden" | 47 | android:configChanges="orientation|keyboardHidden" |
| 60 | android:excludeFromRecents="true" | 48 | android:excludeFromRecents="true" |
| 61 | android:label="@string/app_name" | 49 | android:label="@string/app_name" |
| 62 | android:screenOrientation="portrait" | 50 | android:screenOrientation="portrait" |
| 63 | android:windowSoftInputMode="adjustResize" /> | 51 | android:windowSoftInputMode="adjustResize" /> |
| 64 | <!-- alipay sdk begin --> | 52 | <!-- alipay sdk begin --> |
| 65 | <activity | 53 | <activity |
| 66 | android:name="com.alipay.sdk.app.H5PayActivity" | 54 | android:name="com.alipay.sdk.app.H5PayActivity" |
| 67 | android:configChanges="orientation|keyboardHidden|navigation" | 55 | android:configChanges="orientation|keyboardHidden|navigation" |
| 68 | android:exported="false" | 56 | android:exported="false" |
| 69 | android:screenOrientation="behind" | 57 | android:screenOrientation="behind" |
| 70 | android:windowSoftInputMode="adjustResize|stateHidden" > | 58 | android:windowSoftInputMode="adjustResize|stateHidden" > |
| 71 | </activity> | 59 | </activity> |
| 72 | 60 | ||
| 73 | <!-- alipay sdk end --> | 61 | <!-- alipay sdk end --> |
| 74 | 62 | ||
| 75 | <activity | 63 | <activity |
| 76 | android:name="com.gump.inland.gamesdk.PurchaseActivity" | 64 | android:name="com.gump.inland.gamesdk.PurchaseActivity" |
| 77 | android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout" | 65 | android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout" |
| 78 | android:launchMode="singleTask" | 66 | android:launchMode="singleTask" |
| 79 | android:theme="@android:style/Theme.Translucent.NoTitleBar" > | 67 | android:theme="@android:style/Theme.Translucent.NoTitleBar" > |
| 80 | </activity> | 68 | </activity> |
| 81 | </application> | 69 | </application> |
| 82 | 70 | ||
| 83 | </manifest> | 71 | </manifest> |
IntegrationGuide.md
| 1 | ## InlandSDK integration guide | 1 | ## InlandSDK integration guide |
| 2 | ### 本sdk包含登录和支付功能,支付包含微信支付,支付宝支付和银联支付,因此接入前请申请好各支付渠道的参数 | 2 | ### 本sdk包含登录和支付功能,支付包含微信支付,支付宝支付和银联支付,因此接入前请申请好各支付渠道的参数 |
| 3 | 1.获取gump分配的appid和appkey | 3 | 1.获取gump分配的appid和appkey |
| 4 | 2.导入InlandSDK库工程,并将自己的android工程设置引用此库工程 | 4 | 2.导入InlandSDK库工程,并将自己的android工程设置引用此库工程 |
| 5 | 3.配置AndroidManifest.xml,分为3部分 | 5 | 3.配置AndroidManifest.xml,分为3部分 |
| 6 | 1)确保有以下permission: | 6 | 1)确保有以下permission: |
| 7 | 7 | ||
| 8 | <uses-permission android:name="android.permission.INTERNET" /> | 8 | <uses-permission android:name="android.permission.INTERNET" /> |
| 9 | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> | 9 | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
| 10 | <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> | 10 | <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> |
| 11 | <uses-permission android:name="android.permission.BLUETOOTH" /> | 11 | <uses-permission android:name="android.permission.BLUETOOTH" /> |
| 12 | <uses-permission android:name="android.permission.GET_ACCOUNTS" /> | 12 | <uses-permission android:name="android.permission.GET_ACCOUNTS" /> |
| 13 | <uses-permission android:name="android.permission.READ_PHONE_STATE" /> | 13 | <uses-permission android:name="android.permission.READ_PHONE_STATE" /> |
| 14 | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | 14 | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
| 15 | <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> | 15 | <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> |
| 16 | <uses-permission android:name="android.permission.WRITE_SETTINGS" /> | 16 | <uses-permission android:name="android.permission.WRITE_SETTINGS" /> |
| 17 | <!-- 以下是银联支付专用 --> | 17 | <!-- 以下是银联支付专用 --> |
| 18 | <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> | 18 | <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> |
| 19 | 19 | ||
| 20 | 2)需要在application内增加如下内容: | 20 | 2)需要在application内增加如下内容: |
| 21 | 21 | ||
| 22 | <activity | 22 | <activity |
| 23 | android:name="com.gump.inland.gamesdk.PassportBaseActivity" | 23 | android:name="com.gump.inland.gamesdk.PassportBaseActivity" |
| 24 | android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout" | 24 | android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout" |
| 25 | android:launchMode="singleTask" | ||
| 25 | android:theme="@style/Theme.TransparentWin" > | 26 | android:theme="@style/Theme.TransparentWin" > |
| 26 | </activity> | 27 | </activity> |
| 27 | <activity | 28 | <activity |
| 28 | android:name="com.gump.inland.gamesdk.PaymentActivity" | 29 | android:name="com.gump.inland.gamesdk.PurchaseActivity" |
| 29 | android:theme="@android:style/Theme.Light.NoTitleBar" > | 30 | android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout" |
| 31 | android:launchMode="singleTask" | ||
| 32 | android:theme="@android:style/Theme.Translucent.NoTitleBar" > | ||
| 30 | </activity> | 33 | </activity> |
| 31 | 34 | ||
| 32 | <!-- unionPay --> | 35 | <!-- unionPay --> |
| 33 | <activity | 36 | <activity |
| 34 | android:name="com.unionpay.uppay.PayActivity" | 37 | android:name="com.unionpay.uppay.PayActivity" |
| 35 | android:configChanges="orientation|keyboardHidden" | 38 | android:configChanges="orientation|keyboardHidden" |
| 36 | android:excludeFromRecents="true" | 39 | android:excludeFromRecents="true" |
| 37 | android:label="@string/app_name" | 40 | android:label="@string/app_name" |
| 38 | android:screenOrientation="portrait" | 41 | android:screenOrientation="portrait" |
| 39 | android:windowSoftInputMode="adjustResize" /> | 42 | android:windowSoftInputMode="adjustResize" /> |
| 40 | <!-- alipay sdk begin --> | 43 | <!-- alipay sdk begin --> |
| 41 | <activity | 44 | <activity |
| 42 | android:name="com.alipay.sdk.app.H5PayActivity" | 45 | android:name="com.alipay.sdk.app.H5PayActivity" |
| 43 | android:configChanges="orientation|keyboardHidden|navigation" | 46 | android:configChanges="orientation|keyboardHidden|navigation" |
| 44 | android:exported="false" | 47 | android:exported="false" |
| 45 | android:screenOrientation="behind" | 48 | android:screenOrientation="behind" |
| 46 | android:windowSoftInputMode="adjustResize|stateHidden" > | 49 | android:windowSoftInputMode="adjustResize|stateHidden" > |
| 47 | </activity> | 50 | </activity> |
| 48 | <!-- alipay sdk end --> | 51 | <!-- alipay sdk end --> |
| 49 | 52 | ||
| 50 | 53 | ||
| 51 | 4.将InlandSDKRelease工程assets目录下的文件拷贝到游戏项目的assets目录下,此处为银联支付使用 | 54 | 4.将InlandSDKRelease工程assets目录下的文件拷贝到游戏项目的assets目录下,此处为银联支付使用 |
| 52 | 5.代码接入: | 55 | 5.代码接入: |
| 53 | 1)sdk初始化,以下方法二选一 | 56 | 1)sdk初始化,以下方法二选一 |
| 54 | 57 | ||
| 55 | //若游戏不区分渠道使用此方法 | 58 | //若游戏不区分渠道使用此方法 |
| 56 | InlandSDK.initializeSDK(gumpAPPId, GumpAPPKey); | 59 | InlandSDK.initializeSDK(gumpAPPId, GumpAPPKey); |
| 57 | //若游戏区分渠道使用此方法,传入渠道参数 | 60 | //若游戏区分渠道使用此方法,传入渠道参数 |
| 58 | InlandSDK.initializeSDK(gumpAppId,GumpAPPKey,channel); | 61 | InlandSDK.initializeSDK(gumpAppId,GumpAPPKey,channel); |
| 59 | 62 | ||
| 60 | 2)注册登录状态回调: | 63 | 2)注册登录状态回调: |
| 61 | 64 | ||
| 62 | Passport.getInstance().registerCallback(new InlandSDKCallback<GumpUser>() { | 65 | Passport.getInstance().registerCallback(new InlandSDKCallback<GumpUser>() { |
| 63 | 66 | ||
| 64 | @Override | 67 | @Override |
| 65 | public void onSuccess(GumpUser result) { | 68 | public void onSuccess(GumpUser result) { |
| 66 | Logger.d(TAG, "gumpUser:" + result.toString()); | 69 | Logger.d(TAG, "gumpUser:" + result.toString()); |
| 67 | btnLogin.setVisibility(View.GONE); | 70 | btnLogin.setVisibility(View.GONE); |
| 68 | tvUserInfo.setText(formatUserInfo(result)); | 71 | tvUserInfo.setText(formatUserInfo(result)); |
| 69 | btnPay.setVisibility(View.VISIBLE); | 72 | btnPay.setVisibility(View.VISIBLE); |
| 70 | } | 73 | } |
| 71 | 74 | ||
| 72 | @Override | 75 | @Override |
| 73 | public void onError(InlandSDKException error) { | 76 | public void onError(InlandSDKException error) { |
| 74 | Logger.d(TAG, "login error:" + error.getMessage()); | 77 | Logger.d(TAG, "login error:" + error.getMessage()); |
| 75 | } | 78 | } |
| 76 | 79 | ||
| 77 | @Override | 80 | @Override |
| 78 | public void onCancel() { | 81 | public void onCancel() { |
| 79 | Logger.d(TAG, "login be canceled"); | 82 | Logger.d(TAG, "login be canceled"); |
| 80 | } | 83 | } |
| 81 | }); | 84 | }); |
| 82 | 85 | ||
| 83 | 3)执行登录操作 | 86 | 3)执行登录操作 |
| 84 | 87 | ||
| 85 | Passport.getInstance().login(MainActivity.this); | 88 | Passport.getInstance().login(MainActivity.this); |
| 86 | 89 | ||
| 87 | 4)支付操作 | 90 | 4)支付操作 |
| 88 | 91 | ||
| 89 | PayRequest payRequest = new PayRequest(); | 92 | PayRequest payRequest = new PayRequest(); |
| 90 | payRequest.setPrice(1); | 93 | payRequest.setPrice(1); |
| 91 | payRequest.setProduct("玄冥剑"); | 94 | payRequest.setProduct("玄冥剑"); |
| 92 | payRequest.setExtOrder("p100201508311730"); | 95 | payRequest.setExtOrder("p100201508311730"); |
| 93 | payRequest.setGumpUid(Passport.getInstance().getGumpUser().getUid()); | 96 | payRequest.setGumpUid(Passport.getInstance().getGumpUser().getUid()); |
| 94 | InlandSDK.purchase(MainActivity.this, payRequest, new PurchaseCallback() { | 97 | InlandSDK.purchase(MainActivity.this, payRequest, new PurchaseCallback() { |
| 95 | 98 | ||
| 96 | @Override | 99 | @Override |
| 97 | public void onPurchaseError(Exception e) { | 100 | public void onPurchaseError(Exception e) { |
| 98 | Logger.w(TAG, "purchase error:" + e.getMessage()); | 101 | Logger.w(TAG, "purchase error:" + e.getMessage()); |
| 99 | tvPurchaseResult.setText("purchase occured an error:" + e.getMessage()); | 102 | tvPurchaseResult.setText("purchase occured an error:" + e.getMessage()); |
| 100 | } | 103 | } |
| 101 | 104 | ||
| 102 | @Override | 105 | @Override |
| 103 | public void onPurchaseSuccess(String gumpTransId, String extOrder) { | 106 | public void onPurchaseSuccess(String gumpTransId, String extOrder) { |
| 104 | Logger.d(TAG, "purchase success:" + gumpTransId + ",extorder:" + extOrder); | 107 | Logger.d(TAG, "purchase success:" + gumpTransId + ",extorder:" + extOrder); |
| 105 | tvPurchaseResult.setText("purchase " + gumpTransId + " success,extorder:" + extOrder); | 108 | tvPurchaseResult.setText("purchase " + gumpTransId + " success,extorder:" + extOrder); |
| 106 | } | 109 | } |
| 107 | 110 | ||
| 108 | @Override | 111 | @Override |
| 109 | public void onPurchaseCanceled() { | 112 | public void onPurchaseCanceled() { |
| 110 | Logger.d(TAG, "purchase be canceled"); | 113 | Logger.d(TAG, "purchase be canceled"); |
| 111 | tvPurchaseResult.setText("purchase be canceled"); | 114 | tvPurchaseResult.setText("purchase be canceled"); |
| 112 | } | 115 | } |
| 113 | }); | 116 | }); |
| 114 | 117 | ||
| 115 | 5)配置onActivityResult拦截处理,请在activity的onActivityResult方法内增加InlandSDK的处理方法onActivityResult,当此方法返回true时,说明结果已处理,否则说明未对结果进行处理 | 118 | 5)配置onActivityResult拦截处理,请在activity的onActivityResult方法内增加InlandSDK的处理方法onActivityResult,当此方法返回true时,说明结果已处理,否则说明未对结果进行处理 |
| 116 | 119 | ||
| 117 | if (!InlandSDK.onActivityResult(requestCode, resultCode, data)) | 120 | if (!InlandSDK.onActivityResult(requestCode, resultCode, data)) |
| 118 | super.onActivityResult(requestCode, resultCode, data); | 121 | super.onActivityResult(requestCode, resultCode, data); |