京城游戏人-Day11: Unity 中实现 IAP 内购(内付费)

京城游戏人-Day11: Unity 中实现 IAP 内购(内付费)-作者:大锐哥地址:http://blog.csdn.net/prevention-一、先说基本流程在 iTunes Connect 中创建 IAP(In-App Purchase)编写 Objective-C 的代码编写 Unity C# 的代码生成 iOS 工程,并在 Xcode 中调试其中在 iTunes Co
摘要由CSDN通过智能技术生成

京城游戏人-Day11: Unity 中实现 IAP 内购(内付费)

-

-

一、先说基本流程
  • 在 iTunes Connect 中创建 IAP(In-App Purchase)
  • 编写 Objective-C 的代码
  • 编写 Unity C# 的代码
  • 生成 iOS 工程,并在 Xcode 中调试

其中在 iTunes Connect 中的操作,与研发关系不大,这里省略。

二、编写 Objective-C 代码

创建两个类,分别是 IAPInterface,主要用于两种语言之间的交互调用。另一个是 IAPManager。注意这两个类的名字叫什么并不重要。

2.1 IAPInterface.h
#import <Foundation/Foundation.h>

@interface IAPInterface : NSObject
@end
2.2 IAPInterface.m
#import "IAPInterface.h"
#import "IAPManager.h"

@implementation IAPInterface

...

@end

其中...包括如下方法。

// Unity to iOS
void TestMsg() {
    NSLog(@"Msg recved");        
}

// Unity to iOS
void TestSendString(void *p) {
    NSString *list = [NSString stringWithUTF8String:p];
    NSArray *listItems = [list componentsSeparateByString:@"\t"];
    for (int i = 0; i < listItems.count; ++i) {
        NSLog(@"msg %d: %@", i, listItems[i]);
    }
}

// iOS to Unity
void TestGetString() {
    NSArray *test = [NSArray arrayWithObjects:@"t1", @"t2", @"t3", nil];
    NSString *join = [test componentsJoinedByString:@"\n"];
    UnitySendMessage("Main", "IOSToU", [join UTF8String]);
}

并且要增加一个私有成员变量:IAPManager *iapManager = nil;

void InitIAPManager(){
    iapManager = [[IAPManager alloc] init];
    [iapManager attachObserver];
}

bool IsProductAvailable(){
    return [iapManager CanMakePayment];
}

// 获取商品信息
void RequstProductInfo(void *p){
    NSString *list = [NSString stringWithUTF8String:p];
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值