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跨境小程序
手機入駐更便捷
返回頂部