Tag: 订阅

iOS应用内购买和订阅

真的很简单。 看一下下面的代码。 让我们来看看它。 一些关键概念是: SKPaymentQueue : 保留所有事务以进行进一步处理的队列 SKProduct :在Itunes中声明的产品与所有可用信息联系在一起 SKPayment :购买产品的意图 SKPaymentTransaction :有关SKProduct的事件 SKProductRequest :请求获取有关提供产品ID的SKProducts的信息 SKProductResponse :包含所需产品的响应。 它由两个列表组成:产品和invalidProductIdentifiers。 第一个将包含成功获取的SKProducts,第二个将包含未能与SKProduct相关的所有标识符。 如果您获得无效的标识符,这是一个故障排除列表,可以帮助您。 确保合同,税务和银行信息已完成 确保正确拼写ProductID 确保AppID是显式的(没有通配符(*)) 确保配置文件是正确的配置文件 确保在产品说明中启用了待售清算选项 确保产品处于批准状态 确保不拒绝对App Store的最后一次App评论 现在,首先,通过以下几行,您可以轻松地创建一个SKProductRequest。 let request = SKProductsRequest(productIdentifiers:productIDs) request.delegate =自我 request.start() 由于以下方法是回调,因此请确保实现SKProductsRequestDelegate。 func productsRequest(_请求:SKProductsRequest,did接收响应:SKProductsResponse) 在那里,您将获得适用于您的应用程序的所有SKProducts。 要进行购买并创建SKPayment。 让付款= SKPayment(产品:产品) SKPaymentQueue.default()。add(付款) 确保在允许用户进行购买之前,始终要获取产品。 这些SKProducts将在其中局部化价格,因此您应该显示它。 这样可以确保您始终将应用程序中的数据始终保持最新,因为应用程序中的价格错误可能会导致Apple将其从App Store中删除。 您可能还会在流程中注意到“ 外部事件”部分。 交易可以在您的应用程序外部发生。 假设您的用户在系统设置中更改了其订阅类型,或者您的延期交易获得了用户父母的批准,那么除非您期望它们,否则您将无法告知。 因此,始终在AppDelegate中,在您的应用程序开始时,将该应用程序订阅到PaymentQueue。 这样,您将确保您不会错过任何事件。 现在,有时该帐户将无法使用。 […]

客户通过iOS订阅看到的内容

自动续订会发生什么? 在沙盒中测试是一回事,但我也想知道现实生活中发送了哪些屏幕和电子邮件。 我为Netflix订阅了我的应用程序Remote! 查看。 它按月订阅,试用期为7天。 单击订阅后的第一个屏幕 2.密码检查 3.密码正确后 iOS在此处提供警报。 我背后有一个“谢谢”页面。 4.第一封电子邮件 几乎立即以下电子邮件到达 在我的Mac上单击“查看您的订阅”,将打开包含以下内容的iTunes 单击我的iPad上的相同链接将打开应用商店,并(缓慢地)显示以下内容 5.免费试用期结束后 这里要注意两件事: 答:这是续订后发送的。 尽管您可以在付款后报告问题,但是付款已经发生。 B)没有明显的“取消我的订阅”按钮 单击“报告问题”会将您带到https://reportaproblem.apple.com 在此处登录后,您将获得一个界面,可用于报告问题。 大概这里的任何报告都会为您退款和取消。 实际上,这里没有用于“请立即取消我的订阅”的按钮 单击电子邮件中的“访问Apple支持”链接,您将看到以下内容 点击“管理您的订阅”会打开一个支持页面,其中包含有关如何在不同设备上取消的完整说明 查看,更改或取消您的订阅 了解如何查看有效的,到期的和最近结束的订阅,以及如何取消订阅和成员资格。 一些… support.apple.com 页面顶部显示以下内容 如果向下滚动,则会显示每个设备的取消选项。 如果单击“管理您的订阅”,它将在“订阅”页面中打开iTunes应用程序 有趣的是,它列出了您尝试过的所有订阅。 hayu订阅是我尝试订阅时尝试的一种,即使我在免费试用期结束之前就取消了,它也会列出。 单击此处的“编辑”将带您进入“编辑订阅”页面。 所以。 如果您在Mac上获得发票,然后单击正确的链接,则可以在iTunes应用程序中出现两个网页和两个页面之后取消订阅。 6.然后每个月…… 一个多月后,我收到了另一封与以前的发票几乎相同的发票电子邮件(仅更改了日期编号) 有趣的是,尽管我的第一张发票是在10月23日,但是第二张是12月3日。 我的假设是,苹果在任何付款到期后会等待一段时间,希望我会购买其他东西,他们可以一次性处理多次付款以节省交易成本。

使用带有下标的POP(面向协议的编程)的正确方法。

下标用于使用索引快速访问集合,序列和任何其他可迭代类型。 也就是说,您可以通过索引要更改的集合来获取和添加项。 下标的核心是主要索引没有其他功能的集合。 您可以快速阅读有关下标的更多信息 。 从上一张图片中,我决定让我的容器通用,以确保我所有集合的特定功能。所以我们在这里要做的是创建一个通用容器 ,该容器可以管理或协调如何访问或计算集合项( 项 )。 您可以在其中通过为容器的私有项编制索引或使用添加和获取功能来对容器进行下标。 在下面的示例中,您可以通过对项目进行下标或使用添加的功能get和add函数来访问该项目。 采用这种方法可以避免开发人员跨代码库编写冗余的业务功能。 而是创建特定于您的收藏的东西。 谢谢。

iOS可更新订阅概述:条带与应用程序内购买

在iOS应用程序中实现购买的两种常见方法是使用Stripe或Apple的应用程序内购买(IAP)。 这既适用于自动续订订阅,也适用于一次性购买,本文将重点介绍可续订订阅。 条纹:每成功刷卡一次,费用为2.9%+ $ 0.30 IAP:每笔费用的30.0% (每位订户成功进行一年定期付款后降低到每笔费用的15.0% ) 两者的最佳选择是显而易见的。 但是,仅因为您可以使用Stripe或IAP并不意味着您的应用程序将超过Apple的审查程序。 我们正在与换手的钱打交道,因此,如果苹果想要减薪,请不要感到惊讶。 考虑到他们已经构建了可以进行这些购买的生态系统,他们对此有强烈的感觉。 问题是,何时允许您偏离IAP? 您何时必须偏离IAP? 这里的一般规则是,如果您在“应用程序外”出售商品或服务,则必须使用IAP以外的其他支付服务(例如Stripe)。 如果您在应用程序/设备本身(也称为“数字商品”)中提供了出售给用户的所有商品,则您必须使用IAP。 IAP示例 您正在建立运动和卡路里追踪器。 您有一个简单的免费版本,但有一个更为复杂的高级版本。 您打算让您的用户订阅自动续订的每月付款,以使用高级版本。 由于您的应用程序正在提供“数字商品”(也许您使用了HealthKit框架和一些新颖的机器学习技术来分析用户数据并提出建议),因此您必须使用IAP。 条纹示例 您正在构建一个时尚/服装应用程序,您的用户可以在其中订阅一项服务,该服务每月都会根据其大小和喜好为他们量身定制一件新衣服。 由于您出售的是应用程序/设备之外的真实商品和服务,因此您必须使用IAP以外的其他东西(Stripe是一个很好的解决方案)。 灰色地带 总有辩论的余地,但是请记住,苹果拥有最终决定权。 无论您是否相信可以避免使用IAP,都无法决定您的应用程序是否会到达Appstore。 如果您不喜欢它,可以带上您的产品,然后去找自己的另一个Appstore。 可以通过Spotify找到一个很好的例子来尝试降低IAP的高昂成本。 即使Spotify为您提供了真实艺术家的音频内容,但从技术上讲,它仍然是通过应用程序/设备提供的数字内容。 如果您曾经订阅过高级服务,则可能已经注意到规则的这个简化。 还记得尝试获得该订阅的任何磨擦吗? 如果您查看该应用程序,将会发现您无法在iOS应用程序上注册高级服务,您必须访问其网站(我想是免费的)……甚至没有链接。应用中的相应页面。 为了避免30%的高额费用,Spotify愿意在付款流程中遇到一些严重的摩擦。 我敢打赌,Spotify必须做一些严肃的法律体操活动,并且一直在与苹果进行过无数次谈判,以确保确实如此。 您可能会发现自己处在使用“现实世界”商品和服务的应用案例值得商 。的情况下。 假设您有一个应用程序,如果用户订阅了该应用程序,他们将每月从他们所选择的名人那里接到电话,以进行简短的对话(与我一起在这里生活,这个例子只是为了论证)。 这个应用程式有涉及产品的真实人物,但商品仍然是数字化的。 在这种情况下,您应该联系Apple。 以我的经验,他们可能无法给您一个简单的答案,您可能需要等到Appstore审查。 在这种情况下,我认为最好在应用程序的不同版本中同时实现IAP和Stripe,以便您对他们的游戏时间决定做出反应。 我将假设任何尝试实现自动更新订阅的iOS应用都有一定程度的优势 强大的服务器组件 ,可能是多平台应用程序 (Web应用程序,Android应用程序等)。 我还将假设您的应用程序具有一些用户和身份验证的概念。 如果您要为不具有服务器组件的应用程序进行自动可续订(所有内容均已在应用程序本身中解锁),则您肯定会使用IAP,属于少数群体,并且可能希望考虑其他收款方式(付费应用,不可续订的订阅等)。 您仍然可以使用IAP自动续订(我个人不会),但是我接下来要说的大部分内容都不适用于您。 以下是在不同关注领域中使用Stripe和IAP进行可更新订阅的区别。 UI / UX Stripe:您可以混合使用Stripe UI元素(例如付款信息集合ViewControllers)和所需的任何自定义UI。 […]

iOS的自动续订

什么是沙盒? 沙盒是一种无需创建金融交易即可测试我们的应用和应用内购买的环境。 使用App Store基础结构但不处理实际付款的测试环境。 而是返回交易,就好像付款已成功处理一样。 使用iTunes Connect创建沙箱测试器 在iTunes Connect中创建沙箱测试程序帐户,您可以使用该帐户在测试环境中运行应用程序,然后再将其提供给用户使用。 在iTunes仪表板上,单击“用户和角色”,然后单击“沙箱测试器”。 单击测试器旁边的添加按钮(+)。 输入测试人员信息,然后单击保存。 对于每个沙箱测试器,您需要收集以下信息: 名字 姓 从未用作购买iTunes或App Store内容的Apple ID或与任何现有Apple ID相关联的电子邮件地址。 考虑为每个沙盒测试器创建一个专用的电子邮件地址。 密码 秘密问答 出生日期 App Store地区 测试订阅 在沙盒环境中测试应用程序时,可自动更新的订阅持续时间会缩短。 此外,测试订阅仅在每个8小时窗口内自动续订每个帐户最多六次,然后订阅将在每个订阅期结束时自动过期。 无论应用程序是否处于活动状态,续订都会自动进行,就像App Store中的续订一样。 这种测试机制的唯一问题是无法选择测试*取消订阅*。 同样,在使用沙箱和TestFlight环境时也无法测试订阅管理。 每次续订都会向应用程序发送交易数据,交易取决于续签发生了多少次。 下一次在应用程序打开进行验证时将进行处理,这些交易会触发另一个密码提示。 此多个密码提示仅在测试中出现。 测试续订和到期 由于时间限制,请使用每月订阅进行测试 订阅每月订阅 关闭应用程式 5分钟后启动应用程序 应用程序将显示密码提示,输入密码 重复步骤2至4 6次。35分钟后,该应用现在应恢复为取消订阅状态,并允许用户再次付款。 测试还原购买 订阅每月订阅 在5分钟内删除该应用 安装应用程序并打开 点击恢复按钮 在这种情况下,应用程序应找到活动订阅以向用户解锁专业内容。 测试跨设备的还原购买 订阅每月订阅 在其他设备上安装该应用 开启应用程式 点击恢复按钮 在这种情况下,应用程序应找到活动订阅以解锁专业内容。 […]

WWDC 2017:惊人的订阅新功能

苹果公司致力于减少客户流失 编辑(2017年7月16日):苹果发布了此处描述的功能! 相关链接显示在底部。 继续逐渐成为对订阅的一种温和的迷恋,我非常荣幸地参加了Apple的主要活动,并探讨了订阅中出现的所有闪亮的新事物。 众所周知,在过去的一年中,App Store中订阅服务的公告和增长迅速。 它从开放所有类别的订阅开始,到第二年订阅者大幅削减Apple专利使用费,然后在全年继续提供大量功能发布,例如地理定价,新的免费试用选项和期限,订阅事件报告等。 在大多数情况下,这些举动都是促成因素,允许并鼓励许多开发人员转向新模型,这种做法是正确的。 但是,随着这些开胃菜的到来,我们都越来越渴望更多。 实际上,JoyTunes的团队已经仔细收集了一些统计数据和可行的见解,以供下一步使用。 幸运的是,苹果公司惊人的订阅团队也有类似的想法,这使我们进入了WWDC17。 那么,WWDC17发生了什么? tl; dr苹果决定加倍减少流失,包括非自愿取消,自愿取消和退款。 (流失率=付费用户流失率) 以下是JoyTunes团队发现的最令人兴奋的主要变化,然后对这些变化的重要性和现实生活数据进行了一些解释。 将帐单重试窗口从几个小时延长至(最多)60天 从Apple发送的特殊情况下的实时服务器事件,例如用户降级,退款和过期订阅的续订(例如在计费问题之后),这对于跨平台服务很重要 按用户标记计费问题,自动续订取消,退款,甚至发生退款的原因(来自AppleCare)(!!!) 对于退款,这尤其棒,因为之前没有与退款相关的信息 有点尴尬,但是这些变化实际上使我眼中充满了喜悦的眼泪。 要了解原因,让我们更深入地研究这些变化。 非自愿流失 让我们从非自愿的流失(也称为帐单问题)开始。 这些是由于信用卡过期,商店信用额不足,卡被盗以及Apple在收取续订费用时遇到的任何其他困难而导致的取消。 我猜这听起来太微不足道了,上帝知道我们也是这么想的。 也就是说,直到我们在相当新且隐藏得很深的订阅事件报告(ITC→销售和趋势→下拉菜单中的报告→下载订阅报告)中检查了取消原因之后,才发现有22%的取消是由于该原因而发生的。 进入WWDC17时,我们有以下问题– 22%被认为是标准的吗? 如果没有,wtf ?! 我们在做什么错? 如果是这样,wtf ?! 苹果可以帮助解决这个问题吗? 第一个发现是22%实际上是令人恐惧的标准,从某种意义上来说,这令人放心–至少不仅仅是我们! 此外,计费问题通常被认为是#3取消原因。 今天,当出现计费问题时,Apple会尝试让用户在几个小时内解决这些问题。 例如,如果您的卡被盗了,或者您像我们其他人一样只是一个懒惰的被动人物,那么时间就不会那么宽裕。 现在,已将其延长到最多60天(!!!),具体取决于发现的问题。 我的猜测是,这一变化可能单方面导致整体订阅收入大增。 此外,Apple在收据数据中添加了新字段,用于发出计费问题信号,以便我们(应用程序开发人员)可以警告用户有关情况,将其移至临时访问权限或任何其他解决方案。 最重要的是,Apple很快将针对几种特殊情况发出服务器通知。 其中,标记为已解决帐单问题,以便可以更新成员资格。 这对于跨平台服务非常重要,在跨平台服务中,用户可能会尝试访问网站,例如,没有先打开应用程序,因此我们不知道结算问题已得到解决。 换句话说,Apple认真对待其作为超越应用程序的订阅付款方式的责任 。 应当指出,服务器通知非常重要,特别是因为我们每天增加的订阅数量越来越多,并且要一直获取所有这些信息的最新挑战变得越来越困难。 自愿流失 此类别包括为什么任何人都想取消服务的自动更新的常规原因,其中之一就是过时的恐惧。 实际上,我们的数据显示,年度计划中自动续订的取消中有20%以上是在前几天发生的(请参见图表)。 基本上,人们想要该服务,但是只是想确保它甚至在使用前都不会更新。 尽管我们可以做很多事情来提高用户对我们高质量音乐学习服务的信心,但是到目前为止,还没有办法知道我们是否在进行改进,因为只有在订阅到期后才能看到这些匿名取消。 实际上,我们需要等一整年才能知道我们的努力是否产生了影响…… 好吧,苹果改变了这一点。 […]