美文网首页iOS开发
AppStore 内购促销开发

AppStore 内购促销开发

作者: CoderGuogt | 来源:发表于2023-05-03 11:26 被阅读0次

    App Store 促销

    内购官方文档

    App Store 促销是指在 App Store 上浏览 App 内购买项目,甚至在下载 App 之前就能开始购买这些项目.

    App Store 促销开发

    在项目中支持内购的基础上,增加 App Store 促销功能配置,一般情况下会提示你,无法在 App Store 上推广.

    该提示项目中并没有去实现 paymentQueue:shouldAddStorePayment:forProduct: 这个代理方法,导致无法直接使用 App Store 促销功能,所以需要开发者在项目中去实现这个代理方法.

    官方文档

    这个方法会返回商品信息,返回值 YES 则交给苹果处理该订单,直接调起支付流程,如果返回 NO 的话,则不会调起支付流程,在里面我们可以增加自己的一些逻辑代码,比如判断当前用户是否已经登录了等等操作

    /// AppStore 从促销点击购买处理
    - (BOOL)paymentQueue:(SKPaymentQueue *)queue shouldAddStorePayment:(SKPayment *)payment forProduct:(SKProduct *)product {
        
        // 直接返回 NO,不交给苹果处理
        NSString *productID = product.productIdentifier;
        NSLog(@"AppStore 促销点击购买: productIdentifier - %@", productID);
        
        // 记录当前事件
        [APPDELEGATE.appReqTools dealAppStoreBuyWithProductID:productID];
        // 判断当前是否登录
        BOOL result = [LBLoginHandler checkLogin];
        if (result == YES) {
            // 当前已登录直接处理
            NSLog(@"当前已登录,直接处理当前事件");
            [APPDELEGATE.appReqTools dealAllEvent];;
        } else {
            // 当前未登录
            NSLog(@"当前未登录,待登录成功后,处理跳转购买会员页面");
        }
        
        return NO;
    }
    

    这样就完成了 AppStore 内购促销开发

    测试

    该代码未上线,所以不能直接在 AppStore 进行测试,只有当该代码上线之后,才能在 App Store Connect 去设置 AppStore 促销功能,但是我们需要在开发过程中去测试该功能,可以使用以下方法

    测试推广的 App 内购项目

    生成的 URL 类似如下:

    itms-services://?action=purchaseIntent&bundleId=com.example.app&productIdentifier=product_name
    

    相关文章

      网友评论

        本文标题:AppStore 内购促销开发

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