iOS IAP
https://developer.apple.com/in-app-purchase/
IAP 대상
: Content, Subscriptions, New features, Services.
IAP 아이템 종류
Consumable
: app에서 사용되는 아이템들이 해당되고 구입해서 한번 소비하면 삭제되어 재구매 가능.
Non-Consumable
: app에서 소비되지 않거나 premium feature 같은 것이 해당되고 구입하면 만료없이 사용 가능.
Auto-Renewable Subscriptions
: 서비스나 업데이트된 콘텐츠를 주기적으로 구입하는 상황이 해당 됨. (cloud storage 매달 사용, 주간 magazine 배달 받음)
사용자가 주기적인 구입을 취소하지 않는 한 지정된 기한마다 자동 결재 됨.
Non-Renewing Subscriptions
: 사용자가 서비스나 콘텐츠를 지정된 기간동안만 사용 가능하고 자동으로 subscription이 갱신되지 않는다.
[Preparing]
- Paid Application Agreement 작성 & banking, tax 정보 입력
- Xcode를 사용하여 app에서 IAP service를 사용하도록 함.
- iTunes Connect에서 상품명, 가격, 설명 등을 작성하여 관리한다.
[Designing and Building]
- IAP store design
- IAP 구현
https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction.html#//apple_ref/doc/uid/TP40008267
[Testing]
- Apple sandbox에서 IAP를 영향 없이 테스트 할 수 있음.
- TestFlight를 사용하여 테스터들을 대상으로 IAP을 테스트하고 feedback을 받을 수 있음.
*실제 구현 관련 포스팅
http://korea-developer.tistory.com/entry/iOS-IAPInApp-Purchase
-----------------------------------------------------------------------------------------------
Samsung IAP
Mobile
http://developer.samsung.com/iap
http://developer.samsung.com/html/techdoc/HowToStart_SamsungInAppPurchaseSDK_v3.0.0_KR.pdf
- Samsung In-App Purchase SDK 3.0.1 이상에서는 Android 6.0(Mashmallow) 이상에서 사용 가능
- 그외 버전에서는 Android 4.0 이상에서 사용 가능한것으로 보임
- Payment 방식 : 90개국에서 Credit Card, Phone bill, PayPal 가능
- 삼성 (Galaxy) Device만 지원
- Samsung Gear에서도 Tizen SDK + Extension SDK를 사용해서 IAP 사용가능
- IAP v2.0 : Consumable item, Non-Consumable items, Non-Recurring subscription items.
IAP v3.0 : Auto-Recurring subscriptions item.
IAP v5.0 : Item, Subscription으로 정리, Non-Recurring subscription 제거됨.
[API]
Android API : http://developer.samsung.com/iap/guide
Server Side API? : http://developer.samsung.com/iap/developer-api
Gear
http://developer.samsung.com/gear/distribute/iap- Mobile(Galaxy)와 연동되어 동작하는 것으로 보임.
- Gear에서 사용할 수 있는 API는 상품 목록, 구매, 구입 목록 확인만 있음.
[Gear API]
. Web : http://img-developer.samsung.com/onlinedocs/gear/web_device/webapis/iap.html
. Native(C) : http://img-developer.samsung.com/onlinedocs/gear/native/group__CAPI__IAP__GALAXYAPPS__FRAMEWORK.html
[Programming Guide]
. Web : http://img-developer.samsung.com/onlinedocs/gear/Extension_PG_Web/html/prog_guide/inapp_ww.htm
. Native(C) : http://img-developer.samsung.com/onlinedocs/gear/Extension_PG_Native/html/prog_guide/inapp_wn.htm
TV
http://developer.samsung.com/tv/tizen-net-tv-preview/guides/samsung-checkout
- Samsung Checkout 을 통해 Samsung TV 상에서 구매 가능.
- 3-step checkout ???
: 사용자가 구매 수단 등록 (mobile, web)
: 구매 아이템 정보 확인
: Remote control로 숫자를 입력하여 구매 진행
- 환경
. TV: Samsung Smart TV, 2015 or later model (excluding Evolution Kit)
. Payment method: Credit or debit card, PayPal, or carrier billing (in Korea)
. Security: Tizen SecureIME, 2nd-screen card registration (mobile or PC)
. Account: Samsung Account (for sharing account and payment information with Galaxy phones)
- 사전 절차
: TV Sellor Office에 app 등록, DPI portal에 Billing 정보 등록 및 코딩
(DPI(Digital Product Inventory) security key와 service를 사용하여 Purchase 가능
- 주요 기능
: 아이템 목록 확인, 아이템 구매, 구매 목록 확인, 구매 확인, 구매 복구, 구독 취소
[Billing 사용을 위한 Precondition]
- NuGet packages
: Tizen.TV
: Tizen.TV.Service.Billing
: Tizen.TV.Service.Sso
- Privileges
<tizen:privilege name="http://developer.samsung.com/privilege/sso.partner"/>
<tizen:privilege name="http://developer.samsung.com/privilege/productinfo"/>
<tizen:privilege name="http://tizen.org/privilege/appmanager.launch"/>
<tizen:privilege name="http://developer.samsung.com/privilege/billing"/>
- 기타 환경 설정
a. Retrieve the User ID:
using Tizen.TV.Service.Sso;
string loginUid = Sso.GetLoginUid(); //get UID value from TV
b. Retrieve the country code:
using Tizen.TV;
string country = Environment.SmartHubConfig.Country;
c. Retrieve the server type:
using Tizen.TV;
int serverType = Environment.SmartHubConfig.ServerType;
d. Set the service environment:
// Use dummy payment for development
BillingRequestServerType servertype = BillingRequestServerType.Dummy;
// When submitting to Samsung Apps TV, use Sandbox or Live environment depending on the TV environment.
if(serverType == 0) { // Operating zone
BillingRequestServerType servertype = BillingRequestServerType.Prd;
} else { // Staging zone
BillingRequestServerType servertype = BillingRequestServerType.Dev;
}
string securityKey = "**********"; // YOUR SECURITY KEY ISSUED BY DPI PORTA
Sample : https://github.com/SamsungDForum/Xamarin.Billing
-----------------------------------------------------------------------------------------------
Unity IAP
https://docs.unity3d.com/Manual/UnityIAPSettingUp.html
- 지원 Store (뭐 그냥 다 된다고 보면 된다.)
: Apple App Store, Mac App Store, Google Play Store, Windows Store, Amazon Appstore, Galaxy Store, Tizen Store, CloudMoolah MOO Store
- Product Types
: Consumable, Non Consumable, Subscription (별도로 구분하고 있지는 않는 듯)
- 주요 기능
: IAP 아이템 목록 추가/확인, 아이템 구입,
구매 목록 복구, 구매 확인, 구매 검증, Store 확장 기능
- Store Extensions
: https://docs.unity3d.com/Manual/UnityIAPStoreExtensions.html
: Cross Platform purchase flow에서 처리할 수 없는
Store의 unique한 process를 처리하도록 만든 Interface.
/// <summary> /// Called when Unity IAP is ready to make purchases. /// </summary> public void OnInitialized (IStoreController controller, IExtensionProvider extensions) { extensions.GetExtension<IAppleExtensions> ().RefreshAppReceipt (result => { if (result) { // Refresh finished successfully. } else { // Refresh failed. } }); }
댓글 없음:
댓글 쓰기