最近给新版「不是诗人」添加内购充值,不出意外的被苹果拒了几次。这里简单记录下被拒条例以及我的解决方案。
Guideline 1.1.6 - Safety - Objectionable Content
We noticed that your app’s in-app purchase products are labeled as 人民币, which could confuse and mislead users into believing they are purchasing a real currency.
Next Steps
To avoid potential user confusion, please revise your app so that your in-app purchase product names or labels are distinct from any real-world currencies.
解决方案:苹果不允许出现「¥」或者「人民币」等现实世界的货币字样,参考得到(得到贝)和知乎(知乎币),把「¥」改成了「诗币」。
Guideline 2.1 - Performance - App Completeness
We discovered one or more bugs in your app when reviewed on iPad running iOS 13.5.1 on Wi-Fi.
Specifically, the app shows no response when we attempted to purchase In App Purchase items.
Next Steps
To resolve this issue, please run your app on a device to identify any issues, then revise and resubmit your app for review.
If we misunderstood the intended behavior of your app, please reply to this message in Resolution Center to provide information on how these features were intended to work.
For new apps, uninstall all previous versions of your app from a device, then install and follow the steps to reproduce the issue. For updates, install the new version as an update to the previous version, then follow the steps to reproduce the issue.
Resources
For information about testing your app and preparing it for review, please see Technical Note TN2431: App Testing Guide.
For a networking overview, please review About Networking.
解决方案:审核人员在内购的时候,点击充值后没有响应。这个估计是网络问题,我录了个演示视频添加到审核材料里,证明流程没有问题,下次提审就过了。
Guideline 2.3.2 - Performance - Accurate Metadata
We noticed that your promotional image to be displayed on the App Store does not sufficiently represent the associated promoted in-app purchase. Specifically, we found the following issue with your promotional image:
– Your promotional image is the same as your app’s icon.
Next Steps
To resolve this issue, please revise your promotional image to ensure it is unique and accurately represents the associated promoted in-app purchase.
If you have no future plans on promoting this in-app purchase product, you can visit App Store Connect to delete the associated promotional image.
To delete the promoted image:
- Log in to App Store Connect
- Click on "My Apps"
- Select this app
- Click "Features," then “App Store Promotions” to view your promoted in-app purchases
- Click the in-app purchase reference name that you no longer want to promote
- Select the associated promotional image and delete it
- Click Save
Resources
Discover more best practices forpromoting your in-app purchaseson the App Store.
解决方案:内购项目的推广头像不能用logo,这个是可选的,删掉就好了。
Guideline 2.2 - Performance - Beta Testing
Your app contains references to test, trial, demo, beta, pre-release or other incomplete content.
Specifically, your app still has test reference even under paid contents.
Next Steps
To resolve this issue, please remove all references to "demo," "trial," "beta," or "test" in your app description, app icon, screenshots, previews, release notes, and binary. If you would like to conduct a beta trial for your app, you may wish to review theTestFlight Beta Testing Guide.
解决方案:创建了一些带「测试」字样的内容,被审核人员看到了,删除相关内容即可。
Guideline 3.1.1 - Business - Payments - In-App Purchase
We noticed your app includes a mechanism that allows users to exchange virtual items or gifts for money.
Next Steps
To resolve this issue, please remove any in-app feature that allows virtual items or gifts to be exchanged for money from your app. As an alternative, you may consider including a link to your website that exits your app and launches in mobile Safari to offer this service to your users.
Please see attached screenshots for details.
解决方案:苹果不允许 app 内有提现相关的功能,虽然我添加的只是一个简单的表单,用户填写提交到后台而已。为了应付审核,后台提供一个获取配置的接口(app 启动时调用),返回了一个字段表明当前版本是否是审核版本,如果是则隐藏提现按钮。
Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage
We noticed that your app requires users to register with personal information to purchase non account-based in-app purchase products, which does not comply with the App Store Review Guidelines.
Apps cannot require user registration prior to allowing access to app content and features that are not associated specifically to the user.
Next Steps
User registration that requires the sharing of personal information must be optional or tied to account-specific functionality.
To resolve this issue, please make it clear to the user that registering will enable them to access the content from any of their iOS devices and provide them a way to register at any time, if they wish to later extend access to additional iOS devices.
Please note that although guideline 3.1.2 of theApp Store Review Guidelinesrequires an app to make subscription content available to all the iOS devices owned by a single user, it is not appropriate to force user registration to meet this requirement; such user registration must be made optional.
解决方案:苹果要求游客模式也能进行内购。我做了一个简单的解决方案,后端判断满足:是 iOS 系统
是待审核的版本
header 里没有 authorization,即未登录状态
则在 jwt 验证的中间件前,header 里添加 authorization(用专门的审核账号生成的 jwtToken),即能通过后续的 jwt 验证,允许以审核账号的身份进行所有操作,包括充值、内购。审核通过后,关掉审核开关即可。