我只是一个单人软件商店,我目前有一个MSDN订阅.它即将推出更新,看起来它将花费一笔不小的财富.我看到TechNet订阅的成本要低得多,而且似乎包含了所有相同的软件.我在这里错过了什么吗?这两个包有什么区别?
更新:Visual Studio和TechNet订阅的价格仍然低于MSDN订阅的成本.
我目前没有使用任何具有应用内订阅功能的应用,因此我不确定在进行应用内可更新订阅时,iTunes中的用户界面会是什么样子.
我假设有一个api,给定收据ID或原始交易ID,从应用程序中取消自动更新订阅.它看起来不像这样.
我是否遗漏了某些内容或用户是否通过其iTunes帐户设置取消了自动续订?这不是开发人员的责任吗?
这是" 使用MKStoreKit失败的应用内购买 "的后续问题:"iTunes连接产品配置问题:xxx "
我有一个类似的问题,并尝试使用和不使用MKStoreKit同时做一个类似的消息.
检查列表
感谢:http://troybrant.net/blog/2010/01/invalid-product-ids/
您是否为应用程序ID启用了应用程序内购买?
是
你有没有检查过你的产品清仓?
是
您是否已提交(并可选择拒绝)应用程序二进制文件?
是
您的项目的.plist捆绑ID是否与您的应用ID相匹配?
是
您是否为新的App ID生成并安装了新的配置文件?
是
您是否已使用此新配置文件将项目配置为代码签名?
是
您是为iPhone OS 3.0或更高版本构建的吗?
是.iOS4.2及以上.
您在制作SKProductRequest时是否使用完整的产品ID?
是.也只是没有反向域的产品ID本身
自从将产品添加到iTunes Connect后,您有几个小时的时间吗?
是.它说"等待审查"并且已经过去4-5天了
您的银行详细信息是否在iTunes Connect上有效?
没有.这是一个客户端项目,我只是在测试它是否正常工作.我需要银行详细信息来测试吗?
编辑:我现在改变了.但我不明白为什么我需要这样做只是为了测试沙盒.
您是否尝试从设备中删除该应用并重新安装?
是
你的设备越狱了吗?
没有
应用表示法是正确的
我见过的一些例子使用了这种表示法:com.domain.APP_ID.PRODUCT_TO_BUY
但其他人使用com.domain.PRODUCT_TO_BUY
哪个是对的?
在我的代码中,我尝试使用完整的符号和产品ID本身,但仍然遇到"无效的产品ID"的相同问题.
开发者被拒绝
App Bundle(发布)在iTunes Connect上,我有"开发者拒绝"这个包.
图片:
等待审核?
在我的应用内购买中,我有一个产品,一个可自动更新的订阅.它被清除出售; 然而,它是"等待审查"并且不是绿灯.
图片:
我差不多4-5天前创建了它,它仍然被标记为"等待审查"?
我想知道我的应用程序是否被"开发人员拒绝",这是否会对自动续订订阅的"等待审核"产生影响?
我在这个项目中没有改变任何东西.
根据各种文章,我必须等待24-48小时才可以使用它?
但是,在我可以在测试中使用它之前,是否需要等待接受或绿灯?
银行明细
我没有填写任何银行详细信息,因为这是一个客户端的应用程序 - 在继续测试之前,我是否需要填写银行详细信息?
根据这些文档:http://developer.apple.com/library/ios/#technotes/tn2259/_index.html 银行详细信息是否必需?
在运行应用程序之前,我是否需要在测试帐户下登录设备上的iTunes?
我想知道是否有人可以澄清这些问题?也许它就像等待应用内购买"绿灯"一样简单,或者我错过了一步?
注意:无论我是使用MKStoreKit还是使用后面的代码,都会发生这种情况.
谢谢.
我的代码(这是非MKStoreKit版本)
#define kMySubscriptionFeature @"uk.co.samplewebsite.myappproject.sub1"
- (void)viewDidLoad
{ …
Run Code Online (Sandbox Code Playgroud) 我正在创建一项服务,允许用户在任意数量的设备(网络,Android,Roku,iOS,Apple TV)上注册,然后购买每月订阅以观看视频内容.订阅提供对整个目录的访问.我有自己的订阅管理API在服务器上运行,我想利用它作为事实的来源,这样用户可以在iPad上购买订阅,登录Roku上的应用程序,并继续观看他们中断的位置.
基本上,Netflix.
据我所知,以下是我的选择:
自动续订订阅:这是Netflix今天使用的,但Apple不会在其支付平台周围提供API或任何一组webhook,因此我不知道该选项如何工作.我的后端服务不知道Apple每个月会自动续订订阅,或者用户是否取消订阅.
非续订订阅:用户通过IAP在应用内购买订阅.购买完成后,应用程序同步订阅我的后端系统.只要需要进行权利检查,应用程序就会与我的后端接口.当用户的订阅即将到期时,应用程序必须再次显示购买工作流程.
导入iTunes报告:无法正常工作,因为它不是实时的(拉,不推),也没有告诉我有关取消订阅的任何信息.我只能生成新订阅者的报告.
收据验证和推送收据到我的服务:将无法工作,因为它取决于用户实际使用我的应用程序.理论上,用户可以在我的应用程序中订阅,切换到Roku,永远不会再打开它.
完全跳过IAP并要求用户通过网络订阅.
我错过了什么吗?我很好奇Netflix是如何解决这个问题的.
即将在我们的Android应用程序中构建订阅产品,但有一点不清楚了解取消订阅的最佳方式.我们计划让用户取消的唯一方法是让他们转到Google Play商店并明确取消,但在这种情况下,我们的后端将不会收到通知.
Google Play Developer API文档明确表示您不能在API中查询所有订阅的状态,那么我们应该如何知道哪些用户取消了订阅?
任何帮助非常感谢!
我需要在一个间隔中刷新组件页面中的数据.此外,我需要在执行某些操作后刷新数据.我在服务中使用Obeservables,以便我可以在响应准备好时订阅.我正在推送对象的订阅,以便我可以清除它ngDestroy
,我认为,我有以下方法来实现相同的目标.
方法1:setInterval
我已经设置了一个间隔ngOnInit
,它将以相等的间隔调用refreshData.将使用clearInterval
in ngOnDestroy
方法清除interval对象.
export class MyComponent implements OnInit, OnDestroy {
private subscription: Subscription = new Subscription();
data: any;
interval: any;
ngOnInit() {
this.refreshData();
this.interval = setInterval(() => {
this.refreshData();
}, 5000);
}
ngOnDestroy() {
this.subscription.unsubscribe();
clearInterval(this.interval);
}
refreshData(){
this.subscription.add(
this.myService.getData()
.subscribe(data => {
this.data = data;
})
);
}
doAction(){
this.subscription.add(
this.myService.doAction()
.subscribe(result => {
if(result === true){
this.refreshData();
}
})
);
}
}
Run Code Online (Sandbox Code Playgroud)
Q1:在每次刷新调用时subscription
,都会向对象添加一个订阅,这会增加内存使用量,如果用户保持页面打开一段时间,浏览器可能会崩溃吗?
方法2:Observable.timer
此方法使用将在刷新数据后创建的计时器.
export class MyComponent …
Run Code Online (Sandbox Code Playgroud) memory-leaks subscriptions setinterval angular2-observables angular
更新iTunes签名协议页面中的地址时出现以下错误.
The address entered appears to be invalid. Please correct your address and resubmit.
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个错误吗?
我正在寻找为iPhone应用程序设置In App Purchases.我打算使用新的自动续订订阅类型.但是,我想为特定订阅提供多个持续时间,但无法查看如何从SKProductsResponse.products数组中返回的SKProduct中检索持续时间.
SKProduct对象具有price,localizedTitle和localizedDescription.但是,如果您设置具有多个持续时间的订阅系列,则为该系列设置一次标题/说明,以便您不能包括持续时间,并且文档明确表示不在标题/说明中包含持续时间.但是,看不到任何其他字段,我可以检索在我的自定义应用商店中显示的持续时间.我要么缺少某些东西,要么在4.3之前无法使用?
指针非常感谢!
AppStore是否在自动续订自动续订订阅时发送交易?如果是这样,如果应用程序下次加载,如果它自己设置为观察者,它是否可以被应用程序可靠地检测到:
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
Run Code Online (Sandbox Code Playgroud)
新的自动续订交易是否会拨打以下电话:
-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
Run Code Online (Sandbox Code Playgroud)
使用transaction.transactionState == SKPaymentTransactionStatePurchased?
如果是这样,很好.如果不是,这是否意味着您必须在每次自动续订订阅到期时使用以下内容检查所有交易:
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
Run Code Online (Sandbox Code Playgroud)
谢谢...
我们正在开发的应用程序将设置以下2个IAP:
12.99美元/月作为可自动更新的订阅.
$ 9.99 /月作为自动续订订阅(如果您输入了邀请码).
显然,如果用户在订阅之前输入邀请代码,我们可以使用价格较低的IAP ping Apple服务器.
但我们的问题是:我们(计划)允许用户随时输入邀请代码,包括他们已经是付费用户之后.这样我们就可以为我们的应用程序中的订户提供任何未来月份的折扣.
有没有人这样做过?这可能吗?等等...
2015年8月30日更新: 除非有人向我们提供其他方面的知识/能力,否则我们得出的结论是,这是不可能的.我们甚至联系了Apple,他们说他们最终没有这样的API.
话虽如此,我们采用以下方法:
如果用户在输入邀请代码之前订阅,则会向2个价格中的较高者收取费用.
如果用户在ALREADY订阅时输入代码,则必须取消订阅,然后重新订阅以获得较低价格点.
如果用户在输入邀请代码后订阅,则会按2种价格中的较低者收取费用.
2016年9月23日更新
苹果最近推出的自动续订订阅中的iTunes Connect中有一个名为Subscription Groups的东西.用户一次只能订阅一个组中的一个订阅.从而允许用户在"层"之间切换.对于将来遇到这个问题的人来说,这是一个可能的解决方案.
subscriptions ×10
ios ×3
iphone ×3
android ×1
angular ×1
app-store ×1
discount ×1
google-play ×1
itunes ×1
memory-leaks ×1
msdn ×1
setinterval ×1
storekit ×1
technet ×1