- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
好吧,我为此扯头发。我正在开发一个免费的应用程序(带有广告和一些锁定功能)。应用内购买将删除广告并提供全部功能。
因此,我设置了一个SKProductsRequest,将其产品ID(com.mydomain.Myapp.fullversion)传递给它,然后执行“开始”。这不会失败,然后继续调用productsRequest:didReceiveResponse :,其中NSLog显示 response.products.count等于零-就是问题!
所以,首先是愚蠢的问题。
Q1。 在测试设备上通过Xcode运行我的应用程序时,测试设备是否需要连接到Internet(例如,无线打开),或者运行Xcode的Mac是否具有Internet连接就足够了? (回答:您需要在测试设备上建立连接)。
问题2:如何使它工作?
我已经检查了以下所有内容:
您是否为应用程序ID启用了应用程序内购买?:在Provisioning Portal中的应用程序ID下,我具有“bundle_seed_id.com.mydomain.Myapp”和“应用程序内购买”已启用。
您是否已检查产品的“允许出售”?:在iTunes Connect中,我已经创建了应用内购买商品“com.mydomain.Myapp.fullversion”,并且已将其出售。
您项目的.plist捆绑包ID是否与您的应用程序ID相匹配?:是的,它设置为'com.mydomain.Myapp'。
您是否已为新的应用程序ID生成并安装了新的配置文件?:是我已经为“com.mydomain.Myapp”创建并安装了PP。
您是否已将项目配置为使用此新的配置文件进行代码签名?:我只有“代码签名身份”下的条目(而不是CS权利,CS资源规则路径和其他CS标志)。它已由“自动配置文件选择器”>“iPhone开发者”设置,并与Myapp匹配,并设置为“调试”>“任何SDK”和“发行”>“任何iOS SDK”。
,在发出SKProductRequest时是否使用完整的产品ID ?: 是,我正在使用“com.mydomain.Myapp.fullversion”。
将产品添加到iTunes Connect之后,您是否已经等待了几个小时?:是,我已经等待了24小时。
您的银行详细信息在iTunes Connect上是否处于事件状态?:是的。
您是否尝试过从设备中删除该应用并重新安装?:很多次。
这里的观察结果:在测试设备上,我没有登录到“iTunes&App Stores”,并且当我在测试设备上从Xcode运行应用程序时,它没有要求我登录(我在iTunes Connect并可以使用)。因此,我的应用程序开始运行,调用从SKProductRequest开始,但从未提示我登录“iTunes&App Stores”。
提前谢谢了。我希望有人能帮助我实现应用内购买功能。拜伦
更新1:这是一些代码,尽管我不确定有什么帮助,正如我上面说的,它在productsRequest:didReceiveResponse:失败,因为没有返回任何产品。
首先我调用:
[[MyappIAPHelper sharedInstance] requestProductsWithCompletionHandler:^(BOOL success, NSArray *products)
{
if (success)
{
NSLog(@"SUCCESS - WE HAVE PRODUCTS");
_products = products;
NSLog(@"_products.count = %d", _products.count);
}
else
{
if(products == nil)
{
NSLog(@"FAILED - WE HAVE NO PRODUCTS");
}
}
}];
- (void)requestProductsWithCompletionHandler:(RequestProductsCompletionHandler)completionHandler
{
_completionHandler = [completionHandler copy];
NSLog(@"IAPHelper, requestProductsWithCompletionHandler{}, _productIdentifiers = %@", [_productIdentifiers anyObject]);
_productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:_productIdentifiers];
_productsRequest.delegate = self;
[_productsRequest start];
}
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
NSLog(@"Loading list of products...");
NSLog(@"iAPHelper, productRequest:didRecieveResponse{}, Products count = %d", response.products.count);
for (NSString *invalidProductId in response.invalidProductIdentifiers)
{
NSLog(@"Invalid product id: %@" , invalidProductId);
}
最佳答案
问题已解决
提出TSI后,苹果代表终于发现了我的问题。
在iTunes Connect中查看我的应用程序,它显示其捆绑ID为“Myapp”。而启用了应用程序内购买的供应门户中的应用程序ID为“bundle_seed_id.com.mydomain.Myapp”。至少对我而言,不是显而易见的是,此应用程序ID由捆绑ID组成,该ID必须与iTunes Connect中应用程序的捆绑ID匹配。
我在Provisioning Portal中创建的第一个App ID是通配符。在完成创建新应用程序的过程时,它希望您输入从ID下拉列表中选择的Bundle ID,该下拉列表是从Provisioning Portal中的App ID填充的。如果您选择具有通配符的Bundle ID,则会要求输入Bundle ID后缀,这是我要输入“Myapp”的位置,然后“Myapp”最终成为您的Bundle ID。有点奇怪,我认为这只是一个后缀。
后来(几个月后),当我决定要实现应用内购买时,我发现通配符应用ID不能与推送通知一起使用,也不能用于应用内购买。因此,我将在提示以下提示“建议的做法是为应用程序ID的捆绑标识符部分使用反向域名样式字符串”的提示下在Provisioning Portal中创建一个新的应用程序ID,因此我输入了“com.mydomain.Myapp”。我没有意识到我为App ID创建的Bundle ID必须与之前在iTunes Connect中创建的应用程序的Bundle ID相匹配。
我现在已经在Provisioning Portal和voila中创建了新的应用程序ID“bundle_seed_id.Myapp”,我的产品ID“com.mydomain.Myapp.fullversion”不再无效,并且现在看来可以正常工作。
关于ios - 无法进行应用内购买,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14716561/
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 6年前关闭。 Improve t
我们有一个专有的销售系统,我们已经使用了一段时间了。最近我们添加了“购买”方面,以便我们可以比较匹配产品的平均购买/销售价格以及查看库存状况。 在 MySQL 中,我有 2 个表:tblPurchas
在查看 Paypal 文档以寻找针对这种情况的解决方案后,我一头雾水。我想要的是一种让购物车订阅(定期付款)和购买商品的方法。有没有一种方法可以解决这个问题,或者我是否必须做一些自定义的事情(如果我使
我想知道是否可以使用youtube api获取可购买或可租借的电影列表。当我转到youtube网站并登录到Google帐户时,我可以看到要购买的电影及其价格。 我想在我的应用程序(http://www
我使用 JavaScript 购买 SDK 和 Node.js。 const fetch = require('node-fetch'); const shopify = require('shopi
我购买了三个不同期限的不同订阅。我已经配置了测试账户,我可以进行测试购买。对于这些购买,谷歌不向我收费,但它们看起来非常像真实的。购买成功后,应用内结算会向我发送一些有关我的购买的数据,例如 pack
我目前正在实现应用内购买,并且刚刚阅读了一些帖子,说需要恢复购买按钮,否则苹果将拒绝应用。 我不想在我的 UI 设计中添加第二个按钮。 所以我的问题是... 有没有办法检查用户之前是否进行过应用内购买
我的应用中有多个项目。我有两个设备。如果我在这些设备中的第一个上购买商品,然后尝试在另一个设备上购买相同的商品,我不能。(Google play intent 显示消息 - 商品已拥有!然后它崩溃了.
有没有办法检测何时通过应用商店为您的应用进行了购买? 检测应用内购买似乎很容易(即我们的服务器可以收到通知),但是对于直接购买有没有办法做到这一点? 如果没有,是否有一些用户的唯一标识符(例如购买时通
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我计划在用户使用该应用程序成功扫描二维码时为应用内购买提供折扣。我知道无法为现有商品提供折扣。我打算以折扣价添加另一件商品。有没有人以前有过使用这种方法的经验? 提前致谢 最佳答案 没有办法直接这样做
我很好奇其他商店在基础应用程序框架方面做了什么?我将应用程序框架视为能够提供额外或扩展的功能以提高基于它构建的应用程序的质量。 有各种开箱即用的框架,例如 Spring(或 Spring.NET)等。
我们正在开发一款使用非续订订阅 IAP 模型的应用。在沙盒中测试订阅购买流程时,我们看到弹出两 strip 有“购买”按钮的消息。 显示第一条消息和产品信息:“您想以 xx.xx 美元购买一个订阅吗?
我的老板购买了 Microsoft 365,它包含三种产品。他现在要求我设计一个管理系统,比如员工自助服务门户。我特此寻求有关从哪里开始或使用哪种产品的建议,因为我对此很陌生。 我尝试了一些研究,发现
我的老板购买了 Microsoft 365,它包含三种产品。他现在要求我设计一个管理系统,比如员工自助服务门户。我特此寻求有关从哪里开始或使用哪种产品的建议,因为我对此很陌生。 我尝试了一些研究,发现
我刚刚了解了IAP Cracker的存在,并试图找出在我的应用中验证IAP购买的最佳方法。 我无法确定的是IAP Cracker是否可以处理“消耗性”商品。如果没有,我没有什么可担心的。 这是维护/验
我正在编写一个允许应用内购买的简单应用。我已经使用 SKU 代码 android.test.purchased 进行了测试,一切正常。 我进入我的 google play 控制台,创建了一个应用程序,
我即将启动一个应用程序,该应用程序将包含多个“应用程序内购买”。 我想做的是有一种方法可以提供少量免费的“应用内购买”来选择评论家等人。 在 apple 框架内有没有办法做到这一点,如果没有,我可以采
所以我在这个网站上工作,用户可以在该网站上发布他们的商品,其他用户可以将一些商品添加到他们的购物车并在线购买。 我考虑的流程是这样的: 商家发布商品及其信用卡/ Paypal 信息。 买家将(来自不同
我对这个主题进行了广泛的研究,但我的知识仍然很模糊。我正在寻找一个简单站点的基本 DV,但我看到每个在线 SSL 都具有三个级别, Root->Intermidiate (充当 Root 的代理)和我
我是一名优秀的程序员,十分优秀!