程序内部打开某个APP在AppStore的购买页面

来源:互联网 发布:java里调用window.open 编辑:程序博客网 时间:2024/05/05 03:09

无意间发现有些APP内部推荐的APP能在程序内打开,然后点击左上角的取消即可,如果安装,直接可以在程序内实现,这样的好处是用户还在程序里面,而不需双击HOME再次选择进入:

之前我的应用内推荐APP都是点击后跳转到AppStore里面,这样的体验是用户再回来就显得很麻烦,所以看到这样的技术,当然要研究一番了,不能错过呀:

经过一番Google,终于发现原来非常方便的技术,而且iOS SDK早就提供了这样便利的接口,现在就分享出来了:


第一步:

添加 StoreKit.framework 这个系统库,然后引入头文件

<span style="font-size:14px;">#import <StoreKit/StoreKit.h></span>

第二步:添加协议 ,例如  

<span style="font-size:14px;">@interface RecommendAPPViewController ()<SKStoreProductViewControllerDelegate></span>
 

第三步:创建这个商店模态页面,具体参考代码如下

<span style="font-size:14px;">- (void)openAppWithIdentifier:(NSString *)appId{    [[UINavigationBar appearance] setTintColor:[UIColor blackColor]];        SKStoreProductViewController *storeProductVC = [[SKStoreProductViewController alloc] init];    storeProductVC.delegate = self;    NSDictionary *dict = [NSDictionary dictionaryWithObject:appId forKey:SKStoreProductParameterITunesItemIdentifier];    [storeProductVC loadProductWithParameters:dict completionBlock:^(BOOL result, NSError *error) {        if (result) {            [self presentViewController:storeProductVC animated:YES completion:nil];        }    }];}</span>

注意,因为打开的页面导航是白色的,导致左上角的 取消 看不清,所以我在打开之前设置下它的颜色为黑色,然后开始创建,appId 就是你要打开或跳转的APPID,唯一的app识别号,具体调用,如下代码
<span style="font-size:14px;"> [self openAppWithIdentifier:appid];</span>
非常简单的调用。


第四步:实现唯一的一个代理,就是点击取消后的代理函数,具体代码

<span style="font-size:14px;">#pragma mark - SKStoreProductViewControllerDelegate-(void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController{    [viewController dismissViewControllerAnimated:YES completion:^{        //do something    }];}</span>

至此就完成了一个应用内程序打开的效果,试用后发现用户体验真是太好了,推荐大家使用和体验.

体验APP:点 https://itunes.apple.com/cn/app/sheng-huo-zhu-shou-cha-xun/id880615137?l=en&mt=8击打开链接 


附:个人开发者 -微推官网:http://www.micropush.cn/




1 0
原创粉丝点击