hta*_*tan 7 storekit in-app-purchase ios in-app ios11
问题:我们的问题是,当应用程序从Apple Store购买的应用程序内购买时,应避免显示插页式广告.
我正在尝试管理iOS11中的新功能,使我们能够通过新的Storekit功能直接从Apple Store购买应用程序:
- (BOOL)paymentQueue:(SKPaymentQueue *)queue shouldAddStorePayment:(SKPayment *)payment forProduct:(SKProduct *)product
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
1-我想知道我们是否可以在此方法被调用之前检测到应用程序是从Apple Store购买的,其中一个功能是通过以下功能
launchOptions参数?:
- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)launchOptions
Run Code Online (Sandbox Code Playgroud)
2 - 当我们返回YES或NO(并将自己的付款添加到队列中)时
- (BOOL)paymentQueue:(SKPaymentQueue *)queue shouldAddStorePayment:(SKPayment *)payment forProduct:(SKProduct *)product
Run Code Online (Sandbox Code Playgroud)
什么时候我们会看到新的应用内弹出窗口?
谢谢你的回复.
之前,您不会在App Store中收到有关inApp的通知paymentQueue:shouldAddStorePayment:forProduct:。此外,除非您的应用显示in,否则不会出现inApp弹出窗口paymentQueue:updatedTransactions:。
这是我可以为您建议的最好的事情:
我假设您不会在应用启动时立即展示插页式广告-这不是很好的用户体验。因此,您只需要在知道用户购买商品的时间与处理该交易的时间之间就不展示广告即可。
BOOL doAllowIntAd默认为的全局变量YES。要查明用户是否很早就在App Store中购买了inApp application:(UIApplication *)application didFinishLaunchingWithOptions:,请致电,[[SKPaymentQueue defaultQueue] addTransactionObserver:yourTransactionObserver];以便将观察者设置为从App Store接收inApp。这是我要做的第一件事didFinishLaunchingWithOptions:。
当paymentQueue:shouldAddStorePayment:forProduct:上yourTransactionObserver被调用,在返回前YES,一套doAllowIntAd = NO从显示保持广告。
当StoreKit 在App Store中使用inApp 调用paymentQueue:updatedTransactions:时yourTransactionObserver,您将以与处理在您的应用程序中进行的购买相同的方式进行处理。例如,对于transaction.transactionState==SKPaymentTransactionStatePurchased,只需doAllowIntAd = YES在处理完交易,启用内容并[yourSKPaymentQueue finishTransaction:]调用之后添加,即可再次显示插页式广告。当然,你应该重新启用doAllowIntAd不仅为SKPaymentTransactionStatePurchased,但对于其他一些transactionState为好。但是,例如,在交易推迟的情况下,您可以决定禁用广告。
因此,如果3和4之间有任何延迟,则您的广告在此期间将不会展示。您可以尝试查看实践中是否有任何延迟。
| 归档时间: |
|
| 查看次数: |
1473 次 |
| 最近记录: |