StoreKit-应用内跳转到其他APP下载页,应用内评分

应用内跳转下载页

使用StoreKit中的SKStoreProductViewController类

  • 需要导入StoreKit.framework,#import <StoreKit/StoreKit.h>
  • 实例化一个SKStoreProductViewController类
  • 设置它的delegate
  • 把sotre product视图控制器显示给消费者

注意: SKStoreProductViewController只能以模态的方式弹出

  • 示例代码
//pId 是APP在AppleStore上的id
- (void)presentProductInfoWithId:(NSString *)pId
{
    SKStoreProductViewController *spCtrl = [[SKStoreProductViewController alloc] init];
    //有一个代理方法,在完成/取消购买操作的时候调用,可以用于返回之前的页面
    spCtrl.delegate = self;
    [spCtrl loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier:pId}
                      completionBlock:^(BOOL result, NSError *error) {
                          if (result)
                          {
                          } else
                          {
                              NSLog(@"%@", error);
                          }
                      }];
   //In most cases, you should load the product information and then present the view controller. However, if you load new product information while the view controller is presented, the contents of the view controller are replaced after the new product data is loaded. -- 摘自官方文档
//由于loadProductWithParameters是同步的,有时候需要等很久才会block回调,所以直接弹出控制器,等到信息获取到之后,会自动刷新弹出的控制器界面内容
    [self presentViewController:spCtrl
                       animated:YES
                     completion:nil];
}

#pragma mark - SKStoreProductViewControllerDelegate
//在代理方法中,将视图dismiss
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
    [viewController dismissViewControllerAnimated:YES completion:nil];
}

应用内评分

在10.3系统,苹果终于支持在APP内直接评分了,而不是跳转到商店去,这样让很多APP的用户都失去了想去评分的想法(吐槽的可能例外)

  • 我们可以直接使用SKStoreReviewController这个类,调用起来很简单 [SKStoreReviewController requestReview]

注意:不是正式的release版本,评分弹出框无法进行提交;一年只允许弹出3次

  • 示例代码
//__IPHONE_10_3
- (void)rateAction
{
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 100300
    [SKStoreReviewController requestReview];
#else
    {
        NSString *appId = @"yourAppId";
        NSString *urlStr = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/id%@?action=write-review", appId];
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];
    }
#endif
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,269评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,229评论 4 61
  • 连续加班2个月了,一直没时间回来写些东西。今天就简短的说2句。 我们老总跟我们分享了学渣和学霸的人生。学霸的人生处...
    那些来了去了的人阅读 710评论 0 0
  • 日常生活中,常常会碰到这样的情况,头晕、手脚抽筋、腰疼、脱发等等状况,不要以为它只是小毛病,就不去在意,这些现象很...
    VVS薇薇丝阅读 191评论 0 0
  • 从那天晚上和刘春喝酒没喝够晕晕乎乎地回住的地方没说几句话倒头就睡到早上醒来开始,我就感觉到自己耳朵深处的异常。 早...
    王晓松阅读 381评论 0 1