Unity接入Google支付(In-App Purchasing)

Google后台连接:
https://play.google.com/apps/publish/?account=4671074791115672368#AppListPlace
Google后台设置:
首先在后台创建一个自己的应用:
Unity接入Google支付(In-App Purchasing)_第1张图片
Unity接入Google支付(In-App Purchasing)_第2张图片
需要把后面打勾的全部设置为绿色才可以发布
Unity接入Google支付(In-App Purchasing)_第3张图片
第一应用版本选择一个版本
Unity接入Google支付(In-App Purchasing)_第4张图片
点击管理,创建版本
Unity接入Google支付(In-App Purchasing)_第5张图片
拖入一个Apk(可以打开一个新Unity项目,打包时这个Apk包要设置它的签名Player Settings=>Publishing Settings)让后填写其他内容,保存
Unity接入Google支付(In-App Purchasing)_第6张图片
商品详情,根据上面的要求将图片加入其中
Unity接入Google支付(In-App Purchasing)_第7张图片
选择游戏类型,保存
Unity接入Google支付(In-App Purchasing)_第8张图片
定价和分发范围,选择自己的应用付费或免费,向下填一些选择问题
Unity接入Google支付(In-App Purchasing)_第9张图片
在上传APK后要记得勾选上着三个按钮
Unity接入Google支付(In-App Purchasing)_第10张图片
上传完APK,在发布之前,游戏内的物品一定要设置
点击“应用内商品”
Unity接入Google支付(In-App Purchasing)_第11张图片
点击创建受管理的商品
Unity接入Google支付(In-App Purchasing)_第12张图片
点击添加价格
Unity接入Google支付(In-App Purchasing)_第13张图片
设置完后就可以发布了,点击应用版本=>点击项目上有修改版本=>点击右下角的查看=>发布

发布完成后,在版本管理=>应用版本 点击管理测试人员有一个加入测试的网址 打开连接加入一下
Unity接入Google支付(In-App Purchasing)_第14张图片
到这Google后台基本设置好了

                           Unity设置

打开Unity点击Window=>Services 或Ctrl+0
Unity接入Google支付(In-App Purchasing)_第15张图片

Unity接入Google支付(In-App Purchasing)_第16张图片
Google后台密钥在 开发工具=> 服务与API
Unity接入Google支付(In-App Purchasing)_第17张图片
如果输入进去说格式不对或者无效先看看是不是有空格,还是不行的话
在这里插入图片描述
Unity接入Google支付(In-App Purchasing)_第18张图片

Unity接入Google支付(In-App Purchasing)_第19张图片
Unity接入Google支付(In-App Purchasing)_第20张图片
Unity接入Google支付(In-App Purchasing)_第21张图片
点击ALL Import
Unity接入Google支付(In-App Purchasing)_第22张图片
Unity接入Google支付(In-App Purchasing)_第23张图片
Unity接入Google支付(In-App Purchasing)_第24张图片
Unity接入Google支付(In-App Purchasing)_第25张图片
选择商品:
Unity接入Google支付(In-App Purchasing)_第26张图片
点击编辑脚本:
Unity接入Google支付(In-App Purchasing)_第27张图片

将代码全部替换
#if UNITY_PURCHASING
using UnityEngine.Events;
using UnityEngine.UI;
using System.IO;
using System.Collections.Generic;

namespace UnityEngine.Purchasing
{
[RequireComponent(typeof(Button))]
[AddComponentMenu(“Unity IAP/IAP Button”)]
[HelpURL(“https://docs.unity3d.com/Manual/UnityIAP.html”)]
public class IAPButton : MonoBehaviour
{
public enum ButtonType
{
Purchase,
Restore
}

    [System.Serializable]
    public class OnPurchaseCompletedEvent : UnityEvent
    {
    };

    [System.Serializable]
    public class OnPurchaseFailedEvent : UnityEvent
    {
    };

    [HideInInspector]
    public string productId;

    [Tooltip("The type of this button, can be either a purchase or a restore button")]
    public ButtonType buttonType = ButtonType.Purchase;

    [Tooltip("Consume the product immediately after a successful purchase")]
    public bool consumePurchase = true;

    [Tooltip("Event fired after a successful purchase of this product")]
    public OnPurchaseCompletedEvent onPurchaseComplete;

    [Tooltip("Event fired after a failed purchase of this product")]
    public OnPurchaseFailedEvent onPurchaseFailed;

    [Tooltip("[Optional] Displays the localized title from the app store")]
    public Text titleText;

    [Tooltip("[Optional] Displays the localized description from the app store")]
    public Text descriptionText;

    [Tooltip("[Optional] Displays the localized price from the app store")]
    public Text priceText;
    
    //用于验证是否可购买
    private bool ISGoogle = true;

    void Start()
    {
        Button button = GetComponent

}
#endif
出现支付页面证明sdk接入成功

注意:如果有报错-1002,就是测试机的问题,在设置里面把Google商店和谷歌的所有产品的 允许应用弹出窗口 的权限打开,在测试就会出来支付窗口了

注意:如果内购无法购买并且报错没有初始化,但是初始化逻辑能走通,可能是测试机的google账号的问题,把测试机上的google账号全部移除,在重新登录就好了,就可以了

注意:测试机一定要,一定支持Google四件套

你可能感兴趣的:(Unity接入Google)