

App内购项目的App Store推广,app store推广App内购项目的App Store推广今天说一下内购项目在App Store的推广和支持方式在App Store中搜索某个软件的时候,比如QQ浏览器,在搜索列表和详情中都会显示内购的项目,下面就说一下如何配置。App Store后台内购项目的配置首先选择需要......
今天说一下内购项目在App Store的推广和支持方式
在App Store中搜索某个软件的时候,比如QQ浏览器,在搜索列表和详情中都会显示内购的项目,下面就说一下如何配置。
App Store后台内购项目的配置
首先选择需要显示的内购项目,将该内购项目中的App Store推广的图片上传一下
然后到App Store推广中,选择需要推广的项目展示
代码中的配置
如果你看到了上面黄色的提示
无法在App Store上宣传这些App内购买项目,因为您最新的已批准二进制文件中不包含SKPaymentTransactionObserver方法。
那就是因为没有在代码中实现这个代理,这里以《iOS的应用内支付Inapp purchase的开发》中写的支付类HDPayTools为例
首先在HDPayTools中,实现(BOOL)paymentQueue:(SKPaymentQueue*)queue shouldAddStorePayment:(SKPayment*)payment forProduct:(SKProduct*)product这个代理函数,这个是在App Store发起购买的时候会有回调。
就像开发文档中说的
·如果返回值为true,那就是在打开app时直接调用购买确认的弹窗,让用户输入密码或者指纹等确认购买
·如果返回值为false,那就是只打开app,但是并不会直接调用购买的弹窗,相当于只是给了你一个product的订单,你可以后续自己处理这个订单
在App Store推广购买和用户手动点击购买的区别:
用户在应用中自己点击购买
如果用户在你应用中手动点击购买,那么就是调用的支付,自己创建订单和请求
(void)startPayWithProductID:(NSString*)productID withCompleteHandler:(paySuccess)paySuccessHandler{//下单
[SVProgressHUDshowWithStatus:nil];
self.paySuccessHandler=paySuccessHandler;
self.mproductID=productID;
NSSet*productIDs=[NSSetsetWithObject:mproductID];
SKProductsRequest*request=[[SKProductsRequestalloc]initWithProductIdentifiers:productIDs];
request.delegate=self;
[request start];
}
用户在App Store的推广中购买
如果是在App Store推广购买,那么就是苹果直接创建好了订单和请求,然后直接在回调函数中返回给你,如果这个回调函数返回值为true,那么就是直接发起了购买请求,如果返回值为false,就是取消了这个购买请求,返回值相当于[request start];这一步
这两种方式只是发起的方式不同,其他购买流程是一样的,不需要再重新写,在这个回调中只需要根据返回值去决定是否直接弹出购买。
回调函数的实现
所以那个回调函数的实现可以按照下面这样来写,写在HDPayTools.m中:
//从App Store支付
(BOOL)paymentQueue:(SKPaymentQueue*)queue shouldAddStorePayment:(SKPayment*)payment forProduct:(SKProduct*)product{self.paySuccessHandler=^(BOOL paySuccess){
if(paySuccess){
///在这个回调中去实现购买之后的流程
///...
[SVProgressHUDshowSuccessWithStatus: 购买成功];
}
};
//根据product.productIdentifier去判断是否去直接弹出购买弹窗
if([product.productIdentifier isEqualToString:kHDHighVipProduct]){returntrue;
}
return false;
}
打开时注册监听
既然监听的实现写好了,那么就需要去监听App Store发起支付时的回调了,在AppDelegate.m中,在程序打开时候去创建一个监听者,因为我已经在HDPayTools的init中,直接写了[[SKPaymentQueuedefaultQueue]addTransactionObserver:self];,所以只要初始化就行了
(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions{if(!self.payTools){
self.payTools=[[HDPayToolsalloc]init];
}
//....
}
这样就可以了,当有App Store发起购买的时候,就可以监听到了。
测试
修改下面的链接地址,然后在safari浏览器打开,就可以测试从App Store发起购买了。其中链接中的bundleId修改为你自己应用的bundleId,比如com.hudongdong.blog,productId修改为你创建的商品的id
itmsservices:// action=purchaseIntentbundleId=bundleIdproductIdentifier=productId
特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部