iOS 14について - RakutenReward/RakutenRewardSDK GitHub Wiki
iOS 14 に伴うアプリケーションの影響について
2020/09/16 Apple よりiOS14 および XCode12 に関してリリースがございました。
こちらのリリースに伴いまして、弊社 リワードSDKに関しましてもアップデートがございます。
リワードSDKのアップデートに関しましてユーザー様への影響
iOS14にアップグレードされたユーザ様におきましては、リワードSDKにおける基本的な機能(ミッション達成、ポイント獲得)には影響ございません。
開発者様へ
弊社リワードSDKにおきましては、広告の最適化のためIDFAの取得をSDKにて行っております。 Appleからのアナウンス通り、IDFA取得のためのパーミッション(許可ダイアログ)表示はなくなりますが、 iOS 14よりIDFAの取得のためのライブラリの変更に伴い、iOS14にアップグレードされたユーザー様に対して IDFAが取得できなくなります。 そのため、iOS14のユーザー様向けにIDFAを取得できるリワードSDK各バージョンをご用意いたしました。
バージョン | 内容 |
---|---|
7.0.3 | XCode 11.7でビルド = iOS13でビルド |
8.0.0 | XCode 12.0でビルド = iOS14でビルド |
iOS14向けにIDFAを取得できるようにするためには、8.0.0以上にアップデートしていただく必要があります。 引き続き XCode11でもアプリの提出は可能ですので、こちらの対応が必要ない場合は7.xのバージョンをご利用ください。
iOS14のIDFA取得のパターンについて
アプリケーション | リワードSDK | ユーザーOS | IDFAの取得の可否 |
---|---|---|---|
iOS 13 | iOS 13 | iOS 13 | ○ |
iOS 13 | iOS 13 | iOS 14 | x |
iOS 14 | iOS 13 | iOS 13 | ○ |
iOS 14 | iOS 13 | iOS 14 | x (SDKのアップデートが必要) |
iOS 14 | iOS 14 | iOS 13 | ○ |
iOS 14 | iOS 14 | iOS 14 | ○ |
※ リワードSDKがiOS14の場合というのはSDKを8.0.0以上にした場合になります
アプリケーションよりリワードSDKが先行することはありません。 アプリケーションiOS13, リワードSDK iOS14 という組み合わせでは、コンパイルエラーが発生します。
SDK 8.0.2 以降で広告IDを送信する方法について
SDK 8.0.2 以降では iOS14以上のユーザー様に関する広告IDの取得はアプリケーション側にお願いしております。
RakutenReward.sharedInstance.advertisingID = "IDFA"
広告ID(IDFA)の取得方法について
こちらに例を記載しておきます。詳細についてはAppleのドキュメンテーションなどをご確認ください
func updateRewardAdID() {
if #available(iOS 14, *) {
#if canImport(AppTrackingTransparency) && (arch(x86_64) || arch(arm64))
if ATTrackingManager.trackingAuthorizationStatus == .authorized {
RakutenReward.sharedInstance.advertisingID = ASIdentifierManager().advertisingIdentifier.uuidString
}
#endif
}
}
// requesting permission:
if #available(iOS 14, *) {
#if canImport(AppTrackingTransparency) && (arch(x86_64) || arch(arm64))
alert.addAction(
UIAlertAction(
title: "Permission",
style: UIAlertAction.Style.default,
handler: {_ in
ATTrackingManager
.requestTrackingAuthorization(
completionHandler: { _ in
updateRewardAdID()
})
}))
#endif
}