Unity接入苹果内购(IAP)

本文详细介绍了如何在Unity中接入苹果内购(IAP),包括配置App、商品设置、协议和银行信息、沙盒测试账号的创建,以及Unity IAP的使用方法,提供了一套完整的苹果内购测试流程。
摘要由CSDN通过智能技术生成

前言

第一次发帖,有点激动嘿嘿!话不多说直接奔主题,项目中需要接入苹果内购,由于本人没有任何接入支付的经验,所以这两天各种百度、谷歌查资料,测试过后发现网上好多资料都过时了,经过几天折腾测试项目终于通过了苹果的沙盒测试环节,虽然最终成功了,但是脑子里没有一套完整的流程,故整理下这两天的工作并在此记录下自己的心得以备之后不时之需,有很多的不足之处欢迎大佬指教。

苹果支付流程

在接苹果支付前我们需要先来大体了解下苹果支付的流程是怎样的:
苹果支付流程图
大体可以理解为我们要想在自己的app里面购买自己定义的商品,首先我们先把自己的商品注册在apple服务器上然后去购买apple服务器上我们注册的商品并完成支付,为了安全性考虑(防止越狱机等),我们一般都会在支付后有一步支付凭证的验证过程来确保商品确实是经过正规途径购买的,具体流程慢慢往下看好了!

配置App

首先我们需要到App Store Connect 这里配置一下你的app应用,在这里插入图片描述
当然要想进入这之前你需要登录开发者账号,如果进入的不是这个界面可能你的账号是未付费的或者权限不够,我是用公司的开发者账号登录的。然后点击 我的app 会进入到这个界面:

在这里插入图片描述
如果你以前没有创建过那么这地方会是空的,这里会显示你以前创建过的所有app应用,点击应用就可以看见以前的设置信息,我们先创建一个应用,点击左上方的+号创建 选择 新建App 会进入到如下界面:在这里插入图片描述
其实这些设置都有官方的说明文档,可以去看看,填写完就可以创建我们的app应用了。创建完我们会进入到下面那个界面在这里插入图片描述

因为我们只是测试一下沙盒环境下的支付,所以这些信息不用填写!

配置商品

接下来我们就要配置一下我们app内的商品信息了,找到下面这个界面:
在这里插入图片描述
然后点击+号来添加我们的商品,商品类型分为以下几类:在这里插入图片描述
示例里面已经把这几类商品介绍的很清楚了,这就不一一赘述了,选择自己需要创建的商品类型,这里为了测试方便选择了第一种
在这里插入图片描述

在这里插入图片描述
上面的信息除了推广外其余最好都填写,因为不填写会报此商品元数据缺失,我也不知道后续会有啥问题,屏幕快照随便找一个640*920的图片上传就可以,其他分辨率可能上传不成功!然后我们商品基本信息设置完成,点击右上角存储然后会发现这个商品已经添加到我们的商品列表中,并且商品状态变成准备提交状态。还有最后容易忽略的一步,非常重要,我就是因为这步没有设置导致找不到商品信息浪费了不少时间,进入App Store下的准备提交界面找到APP内购买项目 添加我们的配置的商品信息,如下:在这里插入图片描述
这里选择刚刚我们创建的商品添加进去就可以了

协议、税务和银行业务

一开始忘记配置这的信息了,导致打出的ios包在真机上总是报商品初始化不成功错误,折腾了好久才发现公司账户没有配置银行信息,-_-||,还有一点这些设置最好在苹果上面配置(包括下面的沙盒账号申请),一开始我是在windows上面配置的,到了这一步发现会出现各种奇葩的界面,估计是浏览器或者系统的问题(当然也有可能是我的问题。。。),如果公司以前没有配置过的话进入后只有一个免费App一项,然后我们可以申请付费app协议,由于我已经配置过没有发现创建项,我就不在此一一赘述了,可以去这儿看看详细步骤,因为是以前的帖子一些界面有所改动,不过仔细看看问题不大!还有这个里面的银行账户设置后是可以修改的你可以配置公司的账户,当然也可以为了测试添加自己的账户也是可以的!配置完成后等待苹果审核通过,我当时等了大概不到一小时就显示审核通过了,通过后我们的商品配置基本完成!

沙盒测试账号

苹果支付分为真实环境和沙盒环境,真实环境就是你用自己的苹果账号购买商品(会真实扣费的),沙盒环境就是苹果专门为支付测试而生的一种测试账号(支付成功也不会扣费),说白了就是你的app只要没有通过苹果审核没有正式上线,所有的支付都是沙盒环境的,如果你登录自己的苹果账号去测试会出错的,沙盒环境下就需要我们去使用沙盒账号去测试支付,沙盒账号我们可以去下面这去申请:
在这里插入图片描述
额,这我是在mac上面申请的,因为window上面显示不出来这个界面,然后自己创建一个测试账号就可以了,没啥大问题就不截图了,按照提示来就可以!
以上就是测试苹果支付的商品注册步骤,基本没啥大问题,接下来梳理一下unity里面IAP的使用

Unity(IAP)

IAP,是in-App Purchase的缩写,可以理解为在App内购买,这也是为何IAP又被称为内购的原因。
苹果规定,凡是在App内提供的服务需要付费时,必须使用IAP,比如说游戏的金币,道具等;而在App外提供的服务需要付费时,可以使用其他的支付方式,比如支付宝SDK、微信SDK等。说的更通俗一点,如果付费购买的商品是虚拟商品,比如游戏中的道具,并不是现实中存在的,那么必须使用IAP;
首先我们先在我们的项目中下载IAP,有两种方式你可以选择去assetstore去下载,也可以找到这个界面:在这里插入图片描述
把标识的打开会进入到这个界面:在这里插入图片描述
如果你已经下载过这里会变成Update如果没有点击导入就好了,等待完成,然后你项目里会多出一些东西,其实下面这些你可以看unity官方的IAP文档就可以,比较详细。客户端添加商品有两种方法,一种是window窗口可以创建IAP Button,这种方法可以自己百度,我觉得太麻烦就用的第二种,第二种方法就是自己建立一个管理类自己管理自己的商品,代码如下:


using System;
using System.Collections;
using System.Collections.Generic;
using System.Net;
using System.Text;
using LitJson;
using UnityEngine;
using UnityEngine.Purchasing;
using UnityEngine.Networking;
[Seria
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值