日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

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

發布時間:2023/11/27 生活经验 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android支付接入(五):机锋网 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前邊已經陸續跟大家走了一遍運營商和支付寶付費接入,今天跟大家一起看看機鋒網的支付接入。事實上付費接入本身并沒有太多須要注意的地方,做的多了以后你會發現套路都是大同小異的。而須要注意的地方在于怎么跟游戲兼容及后期的維護,包含增減支付方式。如今談下我個人理解(說的不正確希望大家猛噴),付費界面及邏輯盡量不要給一個單獨的Activity,由于

1.界面的頻繁跳轉會費時(尤其對于用cocos2d-x寫的游戲來說界面跳出跳進延時非常大,會影響游戲性);

2.開啟新Activity會涉及到數據的傳遞,新Activity的維護及銷毀,這里力求簡潔,頻繁的數據傳遞難免會出錯(大家都知道,支付的邏輯是不同意出現丁點錯誤的),假設單一渠道的付費邏輯上非常easy,假設集合了5、6個甚至很多其它的付費方式的時候以及摻雜游戲邏輯之后,支付邏輯不夠簡潔會使你頭疼。

3.正在嘗試的讓cocos2d-x的游戲跟Unity3D的游戲使用一套付費接口,這種話Activity多了不會是一個好的選擇

4.假設使用Activity那么AndroidManifest里邊必須要注意注冊此Activity,這是一個定時炸彈,由于不同支付方式都須要在Manifest里邊注冊相關配置,當配置量大了以后難免會漏掉次Activity的聲明,SDK的接入是批量的你可能會同一時候接不同的游戲和不同的付費方式,這就須要在最短的時間里準確的接好多種游戲及付費方式,因此注意事項越少越好。

?

機鋒的支付是比較簡單的一種支付方式,并且其本身已經集成了支付寶和充值卡支付,如今我們來看下代碼:

AndroiManifest.xml

[html] view plaincopy
  1. <!--?機鋒網?-->??
  2. ????????<activity??
  3. ????????????android:name="com.gfan.sdk.payment.PaymentsActivity"??
  4. ????????????android:configChanges="orientation|keyboardHidden"?/>??
  5. ????????<activity??
  6. ????????????android:name="com.gfan.sdk.charge.ChargeActivity"??
  7. ????????????android:configChanges="orientation|keyboardHidden"?/>??
  8. ????????<activity??
  9. ????????????android:name="com.gfan.sdk.account.LoginActivity"??
  10. ????????????android:configChanges="orientation|keyboardHidden"??
  11. ????????????android:windowSoftInputMode="adjustUnspecified"?/>??
  12. ??
  13. ????????<!--?請替換gfan_pay_appkey為開發人員平臺中的appKey?-->??
  14. ????????<meta-data??
  15. ????????????android:name="gfan_pay_appkey"??
  16. ????????????android:value="XXX"?/>??
  17. ??
  18. ????????<!--?不用動?-->??
  19. ????????<meta-data??
  20. ????????????android:name="gfan_type"??
  21. ????????????android:value="paysdk"?/>??
  22. ??
  23. ????????<!--?不用動?-->??
  24. ????????<meta-data??
  25. ????????????android:name="gfan_cpid"??
  26. ????????????android:value="testcpid"?/>??
  27. ??
  28. <!--這里是Activity的聲明及機鋒參數配置-->??
  29. ???
  30. ??
  31. ????<uses-permission?android:name="android.permission.INTERNET"/>??
  32. ????<uses-permission?android:name="android.permission.ACCESS_NETWORK_STATE"/>??
  33. ????<uses-permission?android:name="android.permission.ACCESS_WIFI_STATE"/>??
  34. ??
  35. <!--權限的配置,第三方平臺支付都是走的網絡,所以須要聯網權限,及獲取是否聯網的權限-->??

?

Fiap.java

?

[java] view plaincopy
  1. package?com.example.blogforgfan;??
  2. ??
  3. //?機鋒應用內支付??
  4. import?com.gfan.sdk.payment.PaymentInfo;??
  5. import?com.gfan.sdk.payment.PaymentsActivity;??
  6. import?android.annotation.SuppressLint;??
  7. import?android.app.Activity;??
  8. import?android.app.AlertDialog;??
  9. import?android.content.Context;??
  10. import?android.content.Intent;??
  11. import?android.net.ConnectivityManager;??
  12. import?android.net.NetworkInfo;??
  13. import?android.os.Bundle;??
  14. import?android.os.Handler;??
  15. import?android.view.View;??
  16. ??
  17. @SuppressLint("HandlerLeak")??
  18. public?class?Fiap?extends?Activity?{??
  19. ??
  20. ????final?int?CATCAP_ANDROID_PAY?=?0;?//?跳轉Activity請求碼??
  21. ????int?catcap_android_pay_catcap_coin?=?0;?//?購買的貓幣??
  22. ??
  23. ????@Override??
  24. ????protected?void?onCreate(Bundle?savedInstanceState)?{??
  25. ????????//?TODO?Auto-generated?method?stub??
  26. ????????super.onCreate(savedInstanceState);??
  27. ????????setContentView(R.layout.activity_main);??
  28. ????????findViewById(R.id.button1).setOnClickListener(??
  29. ????????????????new?View.OnClickListener()?{??
  30. ??
  31. ????????????????????@Override??
  32. ????????????????????public?void?onClick(View?v)?{??
  33. ????????????????????????//?TODO?Auto-generated?method?stub??
  34. ????????????????????????android_pay(2);??
  35. ????????????????????}??
  36. ????????????????});??
  37. ????}??
  38. ??
  39. ????//?===================================??
  40. ????//?JAVA??
  41. ????//?===================================??
  42. ??
  43. ????public?void?android_pay(int?index)?{??
  44. ????????if?(!is_can_internet(Fiap.this))?{??
  45. ????????????fiapHandler.sendEmptyMessage(1);??
  46. ????????????return;??
  47. ????????}??
  48. ????????int?coin?=?0;??
  49. ????????switch?(index)?{??
  50. ????????case?0:??
  51. ????????????coin?=?2;??
  52. ????????????this.catcap_android_pay_catcap_coin?=?50;??
  53. ????????????break;??
  54. ????????case?1:??
  55. ????????????coin?=?4;??
  56. ????????????this.catcap_android_pay_catcap_coin?=?120;??
  57. ????????????break;??
  58. ????????case?2:??
  59. ????????????coin?=?6;??
  60. ????????????this.catcap_android_pay_catcap_coin?=?200;??
  61. ????????????break;??
  62. ????????case?3:??
  63. ????????????coin?=?8;??
  64. ????????????this.catcap_android_pay_catcap_coin?=?300;??
  65. ????????????break;??
  66. ??
  67. ????????default:??
  68. ????????????break;??
  69. ????????}??
  70. ????????//?coin?*=?10;此處coin是人民幣,換算成機鋒券需*10??
  71. ????????//?設置購買信息(購買的道具名,付費描寫敘述,支付金額,訂單號)??
  72. ????????//?PS:這里須要自己組織訂單號,所以需保證每次訂單號是唯一的,此處傳入的金額是機鋒券(1元=10機鋒券)??
  73. ????????PaymentInfo?info?=?new?PaymentInfo("貓幣",?"購買游戲所用貓幣",?coin,??
  74. ????????????????get_order_id());??
  75. ????????//?到購買頁面??
  76. ????????Intent?intent?=?new?Intent(this,?PaymentsActivity.class);??
  77. ????????intent.putExtra(PaymentsActivity.EXTRA_KEY_PAYMENTINFO,?info);??
  78. ????????startActivityForResult(intent,?CATCAP_ANDROID_PAY);??
  79. ????}??
  80. ??
  81. ????//?===================================??
  82. ????//?Android??
  83. ????//?===================================??
  84. ????@Override??
  85. ????protected?void?onActivityResult(int?requestCode,?int?resultCode,?Intent?data)?{??
  86. ????????if?(requestCode?==?CATCAP_ANDROID_PAY)?{?//?保證結果碼跟請求碼一致??
  87. ????????????if?(resultCode?==?RESULT_OK)?{?//?支付成功,這里填寫支付成功后的邏輯??
  88. ??
  89. ????????????????new?AlertDialog.Builder(this).setTitle("感謝購買貓幣")??
  90. ????????????????????????.setPositiveButton("確定",?null).create().show();??
  91. ??
  92. ????????????}??
  93. ????????}??
  94. ????????//?清空數據??
  95. ????????this.catcap_android_pay_catcap_coin?=?0;??
  96. ????????super.onActivityResult(requestCode,?resultCode,?data);??
  97. ????}??
  98. ??
  99. ????public?boolean?is_can_internet(final?Context?context)?{??
  100. ????????try?{??
  101. ????????????ConnectivityManager?manger?=?(ConnectivityManager)?context??
  102. ????????????????????.getSystemService(Context.CONNECTIVITY_SERVICE);??
  103. ????????????NetworkInfo?info?=?manger.getActiveNetworkInfo();??
  104. ????????????return?(info?!=?null?&&?info.isConnected());??
  105. ????????}?catch?(Exception?e)?{??
  106. ????????????return?false;??
  107. ????????}??
  108. ????}??
  109. ??
  110. ????public?String?get_order_id()?{??
  111. ????????long?ran1?=?get_round(1111,?9999);??
  112. ????????long?ran2?=?get_round(1111,?9999);??
  113. ????????//?return?android_get_umeng_channel?()?+?"_"?+?ran1?+??
  114. ????????//?System.currentTimeMillis?()?+?ran2;??
  115. ????????return?"_"?+?ran1?+?System.currentTimeMillis()?+?ran2;??
  116. ????}??
  117. ??
  118. ????public?long?get_round(int?min,?int?max)?{??
  119. ????????return?Math.round(Math.random()?*?(max?-?min)?+?min);??
  120. ????}??
  121. ??
  122. ????Handler?fiapHandler?=?new?Handler()?{??
  123. ??
  124. ????????public?void?handleMessage(android.os.Message?msg)?{??
  125. ????????????if?(msg.what?==?1)?{??
  126. ????????????????new?AlertDialog.Builder(Fiap.this).setTitle("提示")??
  127. ????????????????????????.setMessage("連接不到網絡。").setPositiveButton("確定",?null)??
  128. ????????????????????????.create().show();??
  129. ????????????}??
  130. ????????};??
  131. ????};??
  132. }??


?

<!-- 轉載完成-->

轉載于:https://www.cnblogs.com/mfrbuaa/p/3852707.html

總結

以上是生活随笔為你收集整理的Android支付接入(五):机锋网的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。