Commit bb06908ca0641c02f478f88a17aacd7bd4765c39

Authored by 赵康
1 parent af1c8429a8
Exists in master

modify doc for add channel param

Showing 1 changed file with 5 additions and 2 deletions Inline Diff

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内增加如下内容,**微信回调activity必须是 "项目包名.wxapi.WXPayEntryActivity",不可更改,且此activity需继承com.gump.inland.gamesdk.WXPayEntryBaseActivity**: 20 2)需要在application内增加如下内容,**微信回调activity必须是 "项目包名.wxapi.WXPayEntryActivity",不可更改,且此activity需继承com.gump.inland.gamesdk.WXPayEntryBaseActivity**:
21 21
22 <activity 22 <activity
23 android:name="com.gump.inland.gamesdk.PassportBaseActivity" 23 android:name="com.gump.inland.gamesdk.PassportBaseActivity"
24 android:theme="@style/Theme.TransparentWin" > 24 android:theme="@style/Theme.TransparentWin" >
25 </activity> 25 </activity>
26 <activity 26 <activity
27 android:name="com.gump.inland.gamesdk.PaymentActivity" 27 android:name="com.gump.inland.gamesdk.PaymentActivity"
28 android:theme="@android:style/Theme.Light.NoTitleBar" > 28 android:theme="@android:style/Theme.Light.NoTitleBar" >
29 </activity> 29 </activity>
30 <!-- wx callback 需要根据规则配置,此处请勿直接拷贝--> 30 <!-- wx callback 需要根据规则配置,此处请勿直接拷贝-->
31 <activity 31 <activity
32 android:name="yourPackageName.wxapi.WXPayEntryActivity" 32 android:name="yourPackageName.wxapi.WXPayEntryActivity"
33 android:exported="true" > 33 android:exported="true" >
34 </activity> 34 </activity>
35 <!-- unionPay --> 35 <!-- unionPay -->
36 <activity 36 <activity
37 android:name="com.unionpay.uppay.PayActivity" 37 android:name="com.unionpay.uppay.PayActivity"
38 android:configChanges="orientation|keyboardHidden" 38 android:configChanges="orientation|keyboardHidden"
39 android:excludeFromRecents="true" 39 android:excludeFromRecents="true"
40 android:label="@string/app_name" 40 android:label="@string/app_name"
41 android:screenOrientation="portrait" 41 android:screenOrientation="portrait"
42 android:windowSoftInputMode="adjustResize" /> 42 android:windowSoftInputMode="adjustResize" />
43 43
44 3)为入口activity增加以下Intent-filter,**data scheme配置为微信appid**: 44 3)为入口activity增加以下Intent-filter,**data scheme配置为微信appid**:
45 45
46 <intent-filter> 46 <intent-filter>
47 <action android:name="android.intent.action.VIEW" /> 47 <action android:name="android.intent.action.VIEW" />
48 48
49 <category android:name="android.intent.category.DEFAULT" /> 49 <category android:name="android.intent.category.DEFAULT" />
50 <!-- 此处为微信的appid--> 50 <!-- 此处为微信的appid-->
51 <data android:scheme="wxdb562d299ac311e0" /> 51 <data android:scheme="wxdb562d299ac311e0" />
52 </intent-filter> 52 </intent-filter>
53 53
54 4.将InlandSDK工程assets目录下的文件拷贝到游戏项目的assets目录下,此处为银联支付使用 54 4.将InlandSDK工程assets目录下的文件拷贝到游戏项目的assets目录下,此处为银联支付使用
55 5.代码接入: 55 5.代码接入:
56 1)sdk初始化 56 1)sdk初始化,以下方法二选一
57 57
58 //若游戏不区分渠道使用此方法
58 InlandSDK.initializeSDK(gumpAPPId, GumpAPPKey); 59 InlandSDK.initializeSDK(gumpAPPId, GumpAPPKey);
60 //若游戏区分渠道使用此方法,传入渠道参数
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);