本文主要是介绍【Unity】ios平台IAP内购和沙箱测试流程详解(开发中遇到的坑),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Unity iOS内购
内购流程
- 1、在 AppStore 中创建相应的物品,创建内购沙盒测试账号
- 2、客户端从后台获取相应的物品 ID (当然也可以再客户端写死,但后期扩展性就受限制了)
- 3、依据相应的物品 ID 请求商品的相关信息
- 4、依据商品信息创建订单请求交易
- 5、依据返回的订单状态处理交易结果
- 6、请求后台再次验证订单状态
- 7、依据后台返回结果处理相关逻辑
2、创建内购物品以及沙盒测试账号
- 已经有朋友写出了完善的教程,请参考如下链接,一步一步来就可以
iOS开发内购全套图文教程
iOS应用程序内购/内付费(一)
思路:
Unity调用iOS内购代码实现
效果图:
重要提示:
测试一定要用沙盒账号,否则无效!
流程
这里就不重复写了,直接上截图
OC代码:
IAPInterface(主要是实现Unity跟OC的IAP代码的一个交互作用,等于是一个中间桥梁)
#import <Foundation/Foundation.h>@interface IAPInterface : NSObject@end
#import "IAPInterface.h"
#import "IAPManager.h"@implementation IAPInterfacevoid TestMsg(){NSLog(@"Msg received");}void TestSendString(void *p){NSString *list = [NSString stringWithUTF8String:p];NSArray *listItems = [list componentsSeparatedByString:@"\t"];for (int i =0; i<listItems.count; i++) {NSLog(@"msg %d : %@",i,listItems[i]);}}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];NSLog(@"productKey:%@",list);[iapManager requestProductData:list];
}void BuyProduct(void *p){[iapManager buyRequest:[NSString stringWithUTF8String:p]];
}@end
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
这篇关于【Unity】ios平台IAP内购和沙箱测试流程详解(开发中遇到的坑)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!