- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 In App Purchases 集成到我使用 cocos2d x c++ 制作的应用程序中。我正在使用 easyNdk Helper 进行应用内购买。我的应用内购买非常适合我的 Objective C 应用。但是对于 cocos2d x 它会为以下行抛出错误
if ([[RageIAPHelper sharedInstance] productPurchased:productP.productIdentifier])
实际上,值以参数的形式完美地来自 CPP 文件,并在 NSLog 中正确显示它们的值,但它始终将对象显示为 nil,甚至对象在 NSLog 中打印它们的存储值
@try catch 条件也不起作用
最后抛出如下错误
请帮助我我必须做什么?谢谢
我的.CPP代码是
NDKHelper::AddSelector("HelloWorldSelectors",
"SampleSelector",
callfuncND_selector(Main::cameFromObjC),
this);
CCDictionary* prms = CCDictionary::create();
prms->setObject(CCString::create("SampleSelector"), "to_be_called");
prms->setObject(CCString::create(result), "BirdNameKey");
SendMessageWithParams(string("SampleSelector"), prms);
.mm代码是
- (void) SampleSelector:(NSObject *)prms
{
NSLog(@"purchase something called");
NSDictionary *parameters = [[NSDictionary alloc]init];// (NSDictionary*)prms;
parameters = (NSDictionary*)prms;
NSLog(@"Passed params are : %@", parameters);
// Fetching the name of the method to be called from Native to C++
// For a ease of use, i have passed the name of method from C++
NSString* CPPFunctionToBeCalled = (NSString*)[parameters objectForKey:@"to_be_called"];
//NSString *str = [NSString stringWithFormat:@"%@",[parameters valueForKey:@"BirdNameKey"]];
NSString *BirdName = [parameters valueForKey:@"BirdNameKey"];
NSString *str = [[NSString alloc]initWithFormat:@"%@",[parameters objectForKey:@"BirdNameKey"]];
NSUserDefaults *d2 = [NSUserDefaults standardUserDefaults];
NSLog(@"%@ , %@ , %@", str,BirdName,[d2 objectForKey:@"product"]); // output is ok for all
SKProduct * product = (SKProduct *) [ APPDELEGATE.productDictionary objectForKey:[d2 objectForKey:@"product"]];
[ APPDELEGATE.priceFormatter setLocale:product.priceLocale];
APPDELEGATE.currentProduct =product;
if ([[RageIAPHelper sharedInstance] productPurchased:product.productIdentifier])
{
// check the product purchased or not but app crash at this if statement
}
[IOSNDKHelper SendMessage:CPPFunctionToBeCalled WithParameters:nil];
}
最佳答案
我也遇到过这个问题,我已经解决了。在你的 IAPhelper.mm 中
只做这个替换这一行
_purchasedProductIdentifiers = [NSMutableSet set];
下面一行
_purchasedProductIdentifiers = [[NSMutableSet alloc] init];
如下图
- (id)initWithProductIdentifiers:(NSSet *)productIdentifiers {
if ((self = [super init])) {
// Store product identifiers
_productIdentifiers = productIdentifiers;
// Check for previously purchased products
// _purchasedProductIdentifiers = [NSMutableSet set];
_purchasedProductIdentifiers = [[NSMutableSet alloc] init];
for (NSString * productIdentifier in _productIdentifiers) {
BOOL productPurchased = [[NSUserDefaults standardUserDefaults] boolForKey:productIdentifier];
if (productPurchased) {
[_purchasedProductIdentifiers addObject:productIdentifier];
// NSLog(@"Previously purchased: %@", productIdentifier);
} else {
// NSLog(@"Not purchased: %@", productIdentifier);
}
}
// Add self as transaction observer
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
}
return self;
}
关于c++ - Cocos2dx InApp Purchase for ios,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24095454/
我目前正在开发一款将在 Android 电子市场上发布的应用程序。我如何在我的 Cocos2x 项目中实现用于 Android Market 应用内计费的 Google 代码? 将不胜感激详细的解释(
我有一个在 Play 商店发布的 Android 应用程序。我正在尝试在 App 更新中实现并使用 android 内部轨道共享对其进行测试。 为了在内部轨道上分享,我尝试了关注,一切都给了我相同的结
这可能是一个愚蠢的问题,但我一直找不到答案。应用内购买应存储在设备上的哪个位置?它们是否下载到 bundle 中? 最佳答案 你必须自己存储它们。为了简单起见,我会使用 NSUserDefaults。
我正在尝试执行 inaAppPurchases 并使用以下代码 NSSet *myProductIdentifiers = [NSSet setWithObjects:
我想实现每周自动扣除金额的应用内购买。用户不必一次又一次地输入凭据。它只是通知用户并扣除金额。 喜欢应用程序中的新闻信函功能。每周扣除特定金额。它会要求一次 inapp 凭据,然后它会自动扣除。 我听
我正在使用我自己的服务器验证 App Store 的收据以进行自动续订订阅。并返回状态、收据、latest_receipt、latest_receipt_info、latest_expired_rec
好吧,在你们大发雷霆说它是重复的之前,我已经尝试了互联网上的所有其他答案,但我仍然遇到这个错误。 注意:我使用的是应用内 V3 API。 首先,我创建了应用内产品(我的控制台中已有一个 apk 草稿文
好的,我正在为我的应用实现应用内订阅。循环周期为每月。一切正常 - 我可以从我的测试帐户订阅,正在从购买状态 API 获取信息。 我从购买状态 API 得到的响应是: { "kind": "andro
我正在使用 SwiftyStoreKit 作为小费 jar 的 InApp Purchase Consumable。一切都适用于测试,但根据 this answer并且评论服务器端验证不是必需的,但建
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
是否可以从应用本身获取以本地货币表示的产品价格。例如,如果我通过 Google Play In App billing 以 1 美元的价格销售 Product1。来自英国的客户点击按钮购买产品,Goo
我已经在我的应用程序中实现了应用内购买,但有时它会给我 NPE,下面是堆栈跟踪。如果有人感兴趣,我也可以发布代码。 java.lang.RuntimeException: Unable to star
我已经在一个应用中实现了应用计费,现在我想进一步保护它。阅读它声明的开发人员 Material : In addition to running an obfuscation program, we
当 Firebase 中发生自定义事件时,我们如何测试应用内消息?我的事件在 DebugView firebase 控制台中显示,但在我的应用程序中不显示任何消息对话框仅在应用程序启动时以及我在 Fi
这个问题在这里已经有了答案: How to share in-app-purchases between two Android apps (2 个回答) 4年前关闭。 背景:我曾经在 Play St
我有一个应用程序,因为我需要为Inapp购买添加大约100种产品,我知道所有过程都是一步一步地手动完成的,但是我们还有其他方法可以动态地将许多产品添加为一堆吗? 可能是通过一些xls格式的文件等。 因
我有一个移动应用,其中包含一些用户可以购买的应用内商品。一旦用户购买了一些应用内产品,应用就会将 JSON 收据发送到我的服务器,以便根据我的 Google 开发者公钥(存储在服务器中)进行在线验证。
我正在为应用内购买实现 anjlab 库。我尝试购买商品。有时我收到错误。错误代码为 102。如果我再次尝试 t0 购买,则购买成功且不显示 google 购买对话框。我在关注。 https://gi
使用 implementation 'com.google.firebase:firebase-analytics:17.2.1' implementation 'com.google.firebas
我的应用目前已上线。在提交过程中,我没有检查 inapp 购买,也没有提交审核。现在该应用程序已上线,但我无法提交应用内购买,但按钮已禁用。如何在不重新上传新版本的情况下再次提交 inapp 购买。任
我是一名优秀的程序员,十分优秀!