您的位置:首页 > 移动开发 > Android开发

Android支付接入(五):机锋网

2013-10-14 09:25 260 查看
  
前边已经陆续跟大家走了一遍运营商和支付宝付费接入,今天跟大家一起看看机锋网的支付接入。其实付费接入本身并没有太多需要注意的地方,做的多了以后你会发现套路都是大同小异的。而需要注意的地方在于怎么跟游戏兼容及后期的维护,包括增减支付方式。现在谈下我个人理解(说的不对希望大家猛喷),付费界面及逻辑尽量不要给一个单独的Activity,因为

1.界面的频繁跳转会费时(尤其对于用cocos2d-x写的游戏来说界面跳出跳进延时很大,会影响游戏性);

2.开启新Activity会涉及到数据的传递,新Activity的维护及销毁,这里力求简洁,频繁的数据传递难免会出错(大家都知道,支付的逻辑是不允许出现丁点错误的),如果单一渠道的付费逻辑上很简单,如果集合了5、6个甚至更多的付费方式的时候以及掺杂游戏逻辑之后,支付逻辑不够简洁会使你头疼。

3.正在尝试的让cocos2d-x的游戏跟Unity3D的游戏使用一套付费接口,这样的话Activity多了不会是一个好的选择

4.如果使用Activity那么AndroidManifest里边必须要注意注册此Activity,这是一个定时炸弹,因为不同支付方式都需要在Manifest里边注册相关配置,当配置量大了以后难免会漏掉次Activity的声明,SDK的接入是批量的你可能会同时接不同的游戏和不同的付费方式,这就需要在最短的时间里准确的接好多种游戏及付费方式,因此注意事项越少越好。

 

好了,废话不多说了,简洁才是王道!

 

机锋SDK接入demo在百度网盘:http://pan.baidu.com/share/link?shareid=438410&uk=473193131

 

机锋的支付是比较简单的一种支付方式,而且其本身已经集成了支付宝和充值卡支付,现在我们来看下代码:

 

AndroiManifest:

 <!-- 机锋网
-->

       
<activity

           
android:name="com.gfan.sdk.payment.PaymentsActivity"

           
android:configChanges="orientation|keyboardHidden"
/>

       
<activity

           
android:name="com.gfan.sdk.charge.ChargeActivity"

           
android:configChanges="orientation|keyboardHidden"
/>

       
<activity

           
android:name="com.gfan.sdk.account.LoginActivity"

           
android:configChanges="orientation|keyboardHidden"

           
android:windowSoftInputMode="adjustUnspecified"
/>

       
<!-- 请替换gfan_pay_appkey为开发者平台中的appKey
-->

       
<meta-data

           
android:name="gfan_pay_appkey"

           
android:value="XXX" />

       
<!-- 不用动 -->

       
<meta-data

           
android:name="gfan_type"

           
android:value="paysdk" />

       
<!-- 不用动 -->

       
<meta-data

           
android:name="gfan_cpid"

           
android:value="testcpid" />

这里是Activity的声明及机锋参数配置

 

    <uses-permission
android:name="android.permission.INTERNET"/>

   
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"/>

   
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE"/>

权限的配置,第三方平台支付都是走的网络,所以需要联网权限,及获取是否联网的权限

 

Fiap:

 

package com.example.blogforgfan;

// 机锋应用内支付

import com.gfan.sdk.payment.PaymentInfo;

import com.gfan.sdk.payment.PaymentsActivity;

import android.annotation.SuppressLint;

import android.app.Activity;

import android.app.AlertDialog;

import android.content.Context;

import android.content.Intent;

import android.net.ConnectivityManager;

import android.net.NetworkInfo;

import android.os.Bundle;

import android.os.Handler;

import android.view.View;

@SuppressLint("HandlerLeak")

public class Fiap extends Activity {

 

    final int
CATCAP_ANDROID_PAY =
0;              
// 跳转Activity请求码

    int
catcap_android_pay_catcap_coin =
0;        
// 购买的猫币

   

   
@Override

    protected
void onCreate(Bundle savedInstanceState) {

   
 // TODO Auto-generated method stub

   
 super.onCreate(savedInstanceState);

   
 setContentView(R.layout.activity_main);

   
 findViewById(R.id.button1).setOnClickListener(new
View.OnClickListener() {

   

   @Override

   public void
onClick(View v) {

    //
TODO Auto-generated method stub

    android_pay(2);

   }

  });

    }

   

    //
===================================

    //
JAVA

    //
===================================

   

    public void
android_pay (int index){

       
if (!is_can_internet (Fiap.this)){

           
fiapHandler.sendEmptyMessage(1);

           
return;

       
}

       
int coin = 0;

       
switch (index){

           
case 0:

               
coin = 2;

               
this.catcap_android_pay_catcap_coin = 50;

               
break;

           
case 1:

               
coin = 4;

               
this.catcap_android_pay_catcap_coin = 120;

         
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: