《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇02:内购如何实现》

时间:2023-03-08 22:25:42

2.内购如何实现

内购概述:

游戏内购是指玩家在游戏中,用金钱获取游戏道具的一种方式。开发者从玩家内购之中获得开发游戏的收益,因此大量游戏都有内购模块。下面我们以在手机IOS平台实现跑酷游戏内购为例,介绍一下游戏内购的基本流程。

原理:

内购流程图,如图2-1所示。

《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇02:内购如何实现》
图2-1

实现方法:

步骤1:

开发者将产品道具上架。用固有开发者账号在Game center上注册mpid,其中包括上架物品信息:名称、编号和价格等。产品道具上架之前,开发者需要在iPhone DevCenter上注册成为iphone develop。如果没有,需要花$99.00在苹果官方注册购买账号。注册固有账号及上架道具产品可参考苹果官方网站:https://developer.apple.com。

步骤2:

UI的制作。这块就开发者自定义设计了,一般包含内容为:按钮,道具名称,道具信息等内容。

步骤3:

内购的实现。

3.1引擎提供了与APP Store之间的接口调用功能。玩家在游戏中购买道具的流程图,如图2-3-1-1所示。流程实现中,开发者只需要添加下列一段代码即可。

内购流程图,如图2-3-1-1所示。

《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇02:内购如何实现》
图2-3-1-1
01 private void Store_Coin1_Buy_Click(FString sender)
02 {
03         string mPid = "0001";//注册时,用户定义的产品编号
04         InAppPurchase.BuyProduct(mPid);//内购接口
05         }
06 3.2回调函数。当玩家在游戏进行相关的UI按钮操控后,购买成功或者失败会给用户一个购买结果的信息,这里需要有一个回调函数。开发者需要添加IAPCallBack.cs这样一个文件,引擎规定这个文件里的类名,必须如下述代码类名一致。
07   public class InAppPurchaseInstance : RuntimeInAppPurchaseInstance
08   {
09    public override void OnSKPurchaseSucc(String pid, String tid,String receipt)
10    {
11     //购买成功的逻辑处理
12    }
13    public override void OnSKPruchaseFailed(String pid, String tid,SKErrorType errorType, String error)
14    {
15     //购买失败的逻辑处理
16    }
17    public override void OnSKValidateFailed(String pid)
18    {
19     //验证失败的逻辑处理
20    }


引擎官方网站:http://www.genesis-3d.com.cn/

官方论坛:http://bbs.9tech.cn/genesis-3d/

官方千人大群:59113309   135439306

YY频道-游戏开发大讲堂(完全免费,定期开课):51735288

Genesis-3D开源游戏引擎:游戏起源,皆因有我!!!