zoukankan      html  css  js  c++  java
  • iOS应用内集成AppStore评分功能

    iOS应用内部实现App Store评分功能,笔着整理总结有三种方式,各位可根据自己需求自己选择。先介绍下评分功能实现的三种方式。

    1,通用方式通过App内部打开网页形式,跳转到AppStore编辑评论,可评分,可评论。

    优点:方便,快捷,不受系统版本限制,目前最常用的方式。

    缺点:内部网页形式加载缓慢,等待时间长,加载失败概率大。

    2,iOS 6.0以后 在app内部加载AppStore 展示app信息

    优点:展示速度比方法三块快

    缺点:不能直接跳转到评论编辑页面,需要手动点击评论+编辑评论

    3,iOS 10.0.3 新增应用内评分功能,调用系统方法评分。

    优点:无须跳转,应用内系统弹框,方便快速。

    缺点:只能评分,且一年只能使用三次弹框。

    开发步骤:

    导入头文件 #import

    1,iOS 10.0.3以后调用系统弹框评分

    iOS应用内集成AppStore评分功能

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    /**
     * 只能评分,不能编写评论
     * 有次数限制,一年只能使用三次
     * 使用次数超限后,需要跳转appstore
     */
    - (IBAction)systemComentBtnAction:(UIButton *)sender {
    if([SKStoreReviewController respondsToSelector:@selector(requestReview)]) {// iOS 10.3 以上支持
        //防止键盘遮挡
        [[UIApplication sharedApplication].keyWindow endEditing:YES];
        [SKStoreReviewController requestReview];
    }

    2,跳转到AppStore对应应用评论页面

    iOS应用内集成AppStore评分功能

    1
    2
    3
    4
    5
    6
    7
    /**
     * 可评分评论,无次数限制
     */
    - (IBAction)appStoreComentBtnAction:(UIButton *)sender {
    NSString  * nsStringToOpen = [NSString  stringWithFormat: @"itms-apps://itunes.apple.com/app/id%@?action=write-review",@"AppID"];//替换为对应的APPID
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:nsStringToOpen]];
    }

    3,iOS 6.0以后的方法,内部加载AppStore

    注:需签署代理

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    /**
     * 在APP内部加载App Store 展示APP信息,但不能直接跳转到评论编辑页面。
     * 再加载处App Store展示页面后,需要手动点击 评论→ 撰写评论
     */
    - (IBAction)webAppStoreBtnAction:(UIButton *)sender {
    SKStoreProductViewController *storeProductViewContorller = [[SKStoreProductViewController alloc] init];
    storeProductViewContorller.delegate = self;
    //加载App Store视图展示
    [storeProductViewContorller loadProductWithParameters:
      
     @{SKStoreProductParameterITunesItemIdentifier : @"APPID"} completionBlock:^(BOOL result, NSError *error) {
          
         if(error) {
              
         else {
              
             //模态弹出appstore
              
             [self presentViewController:storeProductViewContorller animated:YES completion:^{
                  
             }];
              
         }
          
     }];
    }
    // 代理方法
    - (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
    [self dismissViewControllerAnimated:YES completion:^{
         
    }];
    }
  • 相关阅读:
    sabaki and leelazero
    apply current folder view to all folders
    string operation in powershell
    wirte function in powershell
    add environment path to powershell
    Module in powershell
    sql prompt
    vmware中鼠标在部分区域不能使用
    调整多个控件的dock的顺序
    行为型模型 策略模式
  • 原文地址:https://www.cnblogs.com/cui-cui/p/7803311.html
Copyright © 2011-2022 走看看