ObjecTips

Swift & Objective-C で iOS とか macOS とか

StoreKit の iOS 8.3 での変更点

iOS 8.3 で StoreKit に若干の変更があった。いずれも役に立つ変更。

ファミリー共有の Ask to Buy のテストが可能に

SKPayment

@property(nonatomic, readonly) BOOL simulatesAskToBuyInSandbox NS_AVAILABLE_IOS(8_3);

SKMutablePayment

@property(nonatomic, readwrite) BOOL simulatesAskToBuyInSandbox NS_AVAILABLE_IOS(8_3);

上記のプロパティが追加されていた。
これを YES にするとサンドボックス環境でこのペイメントで Ask to Buy の処理を発生させる事ができるとの事。

ちなみに Ask to Buy は日本語では「承認と購入のリクエスト」と表記されている。

「承認と購入のリクエスト」で購入の承認を求める - Apple サポート

SKStoreProductViewController 使用時のキャンペーンの効果測定の強化

SKStoreProductViewController クラスはアプリ内でApp Store上のアプリを表示する事ができる。
この際にパラメータとして必須なのがアプリのIDで、アプリのIDは SKStoreProductParameterITunesItemIdentifier キーを用いて NSNumber でパラメータ指定する。

次に iOS 8.0 で追加されたのが SKStoreProductParameterAffiliateTokenSKStoreProductParameterCampaignToken で、
前者の SKStoreProductParameterAffiliateTokenAppleアフィリエイトプログラムで付与されたトークンを指定する事ができるらしい。
Apple - iTunes - The Affiliate Program

以前アプリでアフィリエイトのリンクを使って別アプリを表示させる事があったが、その時は Safari を経由してApp Storeに飛ばす必要があった。このキーによってアプリ内での表示で完結する事ができるようになる模様。

後者の SKStoreProductParameterCampaignTokenアフィリエイトのキャンペーンのトークンと App Analytics で作成したキャンペーンのトークンを指定できるらしい。

そして最後に SKStoreProductParameterProviderToken
これはクロスプロモーションの際に独自のトークンを指定する事ができ、同じトークンを使用する他のアフィリエイトキャンペーンとのキャンペーン効果を分けて測定するのに使えるらしい。
キャンペーンやった事が無いので分からないけど、同じキャンペーントークンが付与されるケースがあるのかな?要はカスタムフィールド、カスタムパラメータ的な感じに使えるのだと思う。
SKStoreProductParameterCampaignToken とセットで使うとの事。