美文网首页
iOS 应用内评分、应用内打开App Store

iOS 应用内评分、应用内打开App Store

作者: yyggzc521 | 来源:发表于2018-12-21 16:51 被阅读0次

iOS6.0添加了新的api<StoreKit/StoreKit.h>,可以在应用内直接打开App Store。上代码:

应用内打开App Store

#import<StoreKit/StoreKit.h>
遵守协议SKStoreProductViewControllerDelegate
/**
 应用内打开App Store 需要APP在App Store中的ID
 */
- (void)openAppStore {
    
    SKStoreProductViewController *storeProductViewController = [[SKStoreProductViewController alloc] init];
    storeProductViewController.delegate = self;
    [storeProductViewController loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier : KAppID} completionBlock:^(BOOL result, NSError * _Nullable error) {
        if (!error) {
            [self presentViewController:storeProductViewController animated:YES completion:nil];
        }
    }];
}

#pragma mark -- SKStoreProductViewControllerDelegate

- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
    
    [viewController dismissViewControllerAnimated:YES completion:nil];
}

应用内评分

iOS10.3之后可以在应用内弹窗提示用户给APP评分,而且开发者可以在开发者管理后台 iTunes Connect 中“我的 App - 活动 - 评分与评论”能看到用户给 App 留下的评论,并可以选择某一条评论进行回复。

  • 很多文章说每年只用3次机会弹窗提示用户,目前我还没有验证是不是这个样子。
  • 开发模式下,调用此方法,可以一直弹出评分视图,但提交是灰色不可点击。
  • 新API虽然方便又好用,但是次数太少,而且弹出了用户可能也会点击“取消”,这也会使次数-1!而且,这个功能是有可能被用户关闭的,在系统设置->iTunes Store与App Store中可以找到“App内评分及评论”的开关,如果用户关闭了这个开关,则上面的窗口也不会弹出。

弹窗提示的时机

  • 提现成功后
  • 活跃用户(登录次数多/天或停留时间长)
  • 当用户处于任务中不要提示
/**
 展示APP评分弹框
 */
- (void)showAppReview {
    
    NSString *appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"];
    NSString *title = [NSString stringWithFormat:@"喜欢%@吗?\n给个五星好评吧,亲!",appName];
    UIAlertController * alertVC = [UIAlertController alertControllerWithTitle:title message:nil preferredStyle:UIAlertControllerStyleAlert];
    //跳转APPStore 中应用的撰写评价页面
    UIAlertAction *review = [UIAlertAction actionWithTitle:@"我要吐槽" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        NSURL *appReviewUrl = [NSURL URLWithString:KAppStoreGradeUrl];//换成你应用的 APPID
        CGFloat version = [[[UIDevice currentDevice]systemVersion]floatValue];
        if (version >= 10.0) {
            /// 大于等于10.0系统使用此openURL方法
            [[UIApplication sharedApplication] openURL:appReviewUrl options:@{} completionHandler:nil];
        }else{
            [[UIApplication sharedApplication] openURL:appReviewUrl];
        }
    }];
    [alertVC addAction:review];
    
    //不做任何操作
    UIAlertAction *noReview = [UIAlertAction actionWithTitle:@"用用再说" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        [alertVC removeFromParentViewController];
    }];
    [alertVC addAction:noReview];
    
    //判断系统,是否添加五星好评的入口
    if (@available(iOS 10.3, *)) {
        if([SKStoreReviewController respondsToSelector:@selector(requestReview)]){
            UIAlertAction *fiveStar = [UIAlertAction actionWithTitle:@"五星好评" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
//此处应该在APP内做一个显示次数的记录  后期实现
                [[UIApplication sharedApplication].keyWindow endEditing:YES];//防止键盘遮挡
                [SKStoreReviewController requestReview];//无论您请求评分提示多少次,系统都会在365天内最多显示三次提示
            }];
            [alertVC addAction:fiveStar];
        }
    }
    
    dispatch_async(dispatch_get_main_queue(), ^{
        [self presentViewController:alertVC animated:YES completion:nil];
    });
}

参考
https://www.jianshu.com/p/c31362945983
https://www.jianshu.com/p/9b3c76e60ce3
https://www.jianshu.com/p/cdf74acb45f4?utm_source=desktop&utm_medium=timeline
https://www.jianshu.com/p/4f9fe2e1879e

相关文章

  • iOS 应用内评分、应用内打开App Store

    iOS6.0添加了新的api ,可以在应用内直接打开App Store。上代码: 应用内打开App Store 应...

  • iOS 应用内评分

    iOS 应用内评分 iOS10.3允许开发者敦促用户在 App Store 上对应用进行评分。整个评分过程直接在 ...

  • iOS 跳转APP Store评分撰写页

    (一) 跳转APP Store的方式,在APP Store应用内进行评分 实现方式: 以[[UIApp...

  • iOS 应用内评分

    iOS10.3允许开发者敦促用户在 App Store 上对应用进行评分。整个评分过程直接在 app 内完成并提交...

  • iOS跳转到评分页面

    跳转到app应用评价页面 跳转到app在App Store中的应用下载页面 在应用内,内置AppStore进行评分

  • iOS-StoreKit

    app store评价 应用内展示app store

  • iOS内购详解

    概述 iOS内购是指苹果 App Store 的应用内购买,即In-App Purchase,简称IAP(以下本文...

  • rn 跳转评分

    最近突然发现APP内给应用评分功能跳转到App Store之后提示“无法连接到App Store”,研究之后发现是...

  • iOS 内购流程图

    一 、iOS 内购流程: 1. 用户iOS应用 用户选择产品 提交到App Store 2. App ...

  • iOS 在应用内展示App Store 评分

    上述代码没能实现,应用内撰写评价评分,可以使用如下的方法实现

网友评论

      本文标题:iOS 应用内评分、应用内打开App Store

      本文链接:https://www.haomeiwen.com/subject/zqmmkqtx.html