利用Unity3d制作完毕游戏发布到appstore,有时会做游戏内购买虚拟物品,也就是内购。
在Ios开发中叫做:In App Purchase,简称IAP
那么如何在unity3d内嵌入IPA呢?几经辗转,多方搜索,摸索出点经验,分享给大家,如有疏漏,还请指教。
当然也有人们写好的插件可用,我觉得自己写的才用着顺手。
一、准备条件:
1、 申请苹果开发者账号。后台先创建证书,在创建应用,填写应用详情,创建测试用的账号,创建内购项目。
这里根据需要创建consumable(每次都需要购买)或者non-consumable的(购买一次一直可用,就是如果买过可以恢复购买)内购项目。
如下我们创建了non-consumable类型,名称“Package_2”,这个名称仅能使用一次,即使删除了也不能够再次利用。
创建测试人员账号,可以免费测试购买本开发者账号下面所有应用的物品:
2、简单了解ios开发的Object-C语言,主要是用来做内购,详细请百度:
3、简单了解IPA
详细请参见:StoreKit Guide(In App Purchase)翻译
http://yarin.blog.51cto.com/1130898/549141
4、了解unity3d与ios通信,详细参见:为iOS创建插件 Building Plugins for iOS
http://game.ceeger.com/Manual/PluginsForIOS.html
二、下面我们单独创建一个例子来演示:
1、 创建工程,切换到ios平台、创建空gameobject,改名为Main,创建点击按钮触发购买的脚本,挂在Main上面。创建平台文件,下面创建子文件夹IOS。
2、 在设置里面修改包名,改为你自己在appstore后台创建的名称
IPADemo里面编写与ios通信代码以及购买代码,其中内购商品名称修改为自己appstore后台定义的:private stringproduct = "Package_2";
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
public class IPADemo : MonoBehaviour {
publicList<string> productInfo = new List<string>();
privatestring product = "