Recommendations and Reviews(App内下载与App内评分)

个人感觉Recommendations and Reviews做的主要事情就是App Store功能的补全.毕竟和安卓比起来.下个应用得去App Store手动搜索、下载安装.这样比较麻烦(当然我不是说安卓那种应用内点击就能直接下载的一定就好).不知道大家看没看过应用墙类(主要靠推荐别人App为运作模式)的App.在iOS11以下的时候,他们只能在应用内点击.然后跳转App Store.下载之后会不会回退到应用墙App就不太清楚了.而且为了下一个App得跑到另外一个App.体验上总感觉怪怪的.

到了iOS11就不同了.我们可以通过StoreKit来直接在应用内打开对应的App下载.前提条件是我们需要有对应的ID.

如何获取AppID我在这篇文章里面讲过了:检测版本更新.这次我们来讲一些拓展功能吧.

应用内跳转至App Store推荐App的页面



- (void)action:(id)sender {
	SKStoreProductViewController *vc = [[SKStoreProductViewController alloc] init];
    vc.delegate = self;
	/// 这里用QQ来举个例子
    [vc loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier: @"444934666"} completionBlock:^(BOOL result, NSError * _Nullable error) {
        if (error) {
            NSLog(@"error:%@" ,error);
        }
    }];
    [self presentViewController:vc animated:YES completion:^{

    }];
}

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

productViewControllerDidFinish这个代理方法必须实现.不然点击左上角的完成/亦或者是下载完成后不能dismiss.

对于这个parameters.一共有以下6种

 // iTunes Store item identifier (NSNumber) of the product
SK_EXTERN NSString * const SKStoreProductParameterITunesItemIdentifier NS_AVAILABLE_IOS(6_0);

// SKU for the In-App Purchase product (NSString) to render at the top of the product page
SK_EXTERN NSString * const SKStoreProductParameterProductIdentifier NS_AVAILABLE_IOS(11_0);

// iTunes Store affiliate token (NSString)
SK_EXTERN NSString * const SKStoreProductParameterAffiliateToken NS_AVAILABLE_IOS(8_0);

// iTunes Store affiliate campaign token (NSString)
SK_EXTERN NSString * const SKStoreProductParameterCampaignToken NS_AVAILABLE_IOS(8_0);

// Analytics provider token (NSString)
SK_EXTERN NSString * const SKStoreProductParameterProviderToken NS_AVAILABLE_IOS(8_3);

// Advertising partner token (NSString)
SK_EXTERN NSString * const SKStoreProductParameterAdvertisingPartnerToken NS_AVAILABLE_IOS(9_3);

SKAdNetwork

SKAdNetwork是一个不暴露用户隐私的情况下服务于广告主的类.如果要使用SKAdNetwork,需要在使用上面的跳转的情况下在params中多传递下面几个参数

SKStoreProductParameterAdNetworkIdentifier
您在Apple注册的广告网络标识符。

SKStoreProductParameterAdNetworkCampaignIdentifier
您提供的广告系列号。

SKStoreProductParameterAdNetworkNonce
您为每个广告展示提供的唯一值。

SKStoreProductParameterAdNetworkTimestamp
您在广告展示时间附近生成的时间戳。

SKStoreProductParameterAdNetworkAttributionSignature
您基于其他参数生成的加密签名。

广告墙A->B应用.B应用调用[StoreKit registerAppForAdNetworkAttribution]

SKStoreReviewController 应用内评分

Recommendations and Reviews(App内下载与App内评分)_第1张图片

不知道大家看过这个页面没,应该看到的比较少吧.没错,苹果只允许开发者一年内调用三次(怪不得同一个App内这个页面出来的次数不会超过三次…).

调用也十分的方便[SKStoreReviewController requestReview];

拓展

检测版本更新这里教了大家如何跳转AppStore.我们可以在后面带个参数,直达对应App的评论页面https://itunes.apple.com/app/idXXXXXXXXXX?action=write-review

参数的key为action值为write-review.

你可能感兴趣的:(StoreKit)