開発者向け
-
SDK組込みガイド
Android SDK
iOS SDK
Coupon SDK for Android
Coupon SDK for iOS
FANSHIP ポイント 組み込みガイド for Android
FANSHIP ポイント 組み込みガイド for iOS
ほか
SDKのリリースノート - 各種API仕様書一覧
-
プライバシーマニフェストファイル組み込み手順
2024年春以降にリリースするアプリではプライバシーマニフェスト対応は必須となります。
以下の手順に沿って、プライバシーマニフェストファイルの追加または修正を行ってください。※ プライバシーマニフェスト対応の詳細についてはこちらの記事をご確認ください。
※ SDK ver 10.0.0、10.0.1 をご利用中のお客様は、 SDK 内に入っているマニフェストファイル(FANSHIP-PrivacyInfo.xcprivacy)を削除してから、以下の作業を行ってください。
※ 申請が通ることを保証するものではありませんので、ご了承ください。PrivacyInfo ファイルが存在しない場合
Xcode > File > New > File… を選択します。
Resource > App Privacy を選択して追加します。
Targetsのチェックがついていなければ、チェックしてください。
下記の例では、作成するファイルはプロジェクトディレクトリ直下を保存先に指定しています。追加されたPrivacyInfoファイルを下記のように編集します。
※内容については選択式なため、該当項目を選んでください。- 変更内容(2024-03-07追記)
Privacy Tracking Enabled
を NO に変更しました。
- 変更内容(2024-04-25追記)
- 以下の3つの項目を追加しました。
NSPrivacyAccessedAPICategoryDiskSpace
- E174.1: ファイル出力の際に残りのディスクスペースが十分か確認するため
NSPrivacyAccessedAPICategoryFileTimestamp
- C617.1: コンテナ内のアプリのメタデータにアクセスするため
NSPrivacyAccessedAPICategorySystemBootTime
- 35F9.1: タイマーを有効にするための計算の実行
- 以下の3つの項目を追加しました。
Privacy Nutrition Label Types を展開し、以下の通り項目を選択します。
- 変更内容(2024-03-01追記)
- 前回ご案内した User Defaults(User ID)に加えて、他6項目を追加しております。
- Coarse Location(おおまかな位置)
- Precise Location(正確な位置)
- Product Interaction(製品の相互作用)
- Other Usage Data(その他の使用状況データ)
- Browsing history(ウェブサイトなど、アプリの一部ではないユーザーが閲覧したコンテンツに関する情報)
- Other diagnostic data(アプリに関連する技術的な診断を測定する目的で収集されたその他のデータ)
- 位置情報が2種類あるため、User Defaults と合わせて、計7項目の記載が必要になります。
- 位置情報を利用しない場合、「Coarse Location(おおまかな位置)」「Precise Location(正確な位置)」の記載は不要です。
- 「購入履歴」の収集に関してはSDKでは行わないため、マニフェストへの記載は不要です。
- 各項目の
Linked to User
とUsed for Tracking
について、NO に変更しました。 - Collection Purposes 項目を追加しました。
- Analytics
既存の製品機能の有効性の理解、新機能の計画、視聴者のサイズや特性の測定など、ユーザーの行動を評価するためにデータを使用すること - App Functionality
ユーザーの認証、機能の有効化、不正行為の防止、セキュリティ対策の実装、サーバーの稼働時間の確保、アプリのクラッシュの最小化、スケーラビリティとパフォーマンスの向上、カスタマー サポートの実行など
- Analytics
- 前回ご案内した User Defaults(User ID)に加えて、他6項目を追加しております。
既に PrivacyInfoファイルが存在する場合
FANSHIPで利用する項目は下記の通りです。
アプリ側で他にも使用しているものがある場合、適宜項目を追加してください。
なお、既に同じ項目が存在している場合、その項目については重複して追加する必要はありません。
※内容については選択式なため、該当項目を選んでください。- 変更内容(2024-03-07追記)
Privacy Tracking Enabled
を NO に変更しました。
- 変更内容(2024-04-25追記)
- 以下の3つの項目を追加しました。
NSPrivacyAccessedAPICategoryDiskSpace
- E174.1: ファイル出力の際に残りのディスクスペースが十分か確認するため
NSPrivacyAccessedAPICategoryFileTimestamp
- C617.1: コンテナ内のアプリのメタデータにアクセスするため
NSPrivacyAccessedAPICategorySystemBootTime
- 35F9.1: タイマーを有効にするための計算の実行
- 以下の3つの項目を追加しました。
Privacy Nutrition Label Types を展開し、以下の通り項目を選択します。
- 変更内容(2024-03-01追記)
- 前回ご案内した User Defaults(User ID)に加えて、他6項目を追加しております。
- Coarse Location(おおまかな位置)
- Precise Location(正確な位置)
- Product Interaction(製品の相互作用)
- Other Usage Data(その他の使用状況データ)
- Browsing history(ウェブサイトなど、アプリの一部ではないユーザーが閲覧したコンテンツに関する情報)
- Other diagnostic data(アプリに関連する技術的な診断を測定する目的で収集されたその他のデータ)
- 位置情報が2種類あるため、User Defaults と合わせて、計7項目の記載が必要になります。
- 位置情報を利用しない場合、「Coarse Location(おおまかな位置)」「Precise Location(正確な位置)」の記載は不要です。
- 「購入履歴」の収集に関してはSDKでは行わないため、マニフェストへの記載は不要です。
- 各項目の
Linked to User
とUsed for Tracking
について、NO に変更しました。 - Collection Purposes 項目を追加しました。
- Analytics
既存の製品機能の有効性の理解、新機能の計画、視聴者のサイズや特性の測定など、ユーザーの行動を評価するためにデータを使用すること - App Functionality
ユーザーの認証、機能の有効化、不正行為の防止、セキュリティ対策の実装、サーバーの稼働時間の確保、アプリのクラッシュの最小化、スケーラビリティとパフォーマンスの向上、カスタマー サポートの実行など
- Analytics
- 前回ご案内した User Defaults(User ID)に加えて、他6項目を追加しております。
プライバシーマニフェストの確認
Xcodeのメニューバーで Product > Archive を実行します。
アーカイブされたアプリを選択して右クリックメニューを表示してください。Generate Privacy Reportを選択して任意の場所に保存してください。
保存されたレポートを表示して、内容を確認してください。
※位置情報を利用しない場合、「Coarse Location(おおまかな位置)」「Precise Location(正確な位置)」の記載は不要です。改訂履歴
- 2024-01-23:FANSHIPで利用する項目について修正しました
- 2024-03-01:FANSHIPで利用する項目、レポートのスクリーンショットについて修正しました
※3/1時点ですでにご対応いただいたお客様は、次回のアプリアップデート時に上記手順に沿ってご対応いただきますようお願いいたします。 - 2024-03-07:FANSHIPで利用する項目について修正しました
- 2024-04-25:FANSHIPで利用する項目を追加しました
- 変更内容(2024-03-07追記)
-
FANSHIP イベントに含まれる各パラメータについて
[FANSHIP イベントの種類について]で公開している各イベントに含まれるパラメータに関する内容をまとめております。
イベント内に含まれるパラメータ(配信IDやURLなど)を活用し分析する際にご利用ください。■ デフォルトのパラメータに関して
各イベントデータに以下の情報がデフォルトで含まれます。
デフォルトで入ることが仕様となっており、外すことはできませんのでご了承ください。value 概要 pModel 端末のモデル名称 pOsVer 端末の OS バージョン pPopinfoVer SDK のバージョン
※OS毎に表記が異なります。
・iOS「X.X.X」
・Andoid「XXX」pUsesPush プッシュ通知を利用するSDK組み込みとなっているかどうか pPlatform iOSの場合のみ「App」
■ アプリ内イベントNo event.name event.value 1
_S.app.active -
2 _S.app.background - 3 _push.receive ・id:配信ID
4 _S.push.open ・id:配信ID
・src:
・ popup(ポップアップダイアログ・バナーから起動)
・ notification:通知センターから起動(iOSロック画面含む)5 _S.detail.appear ・id:配信ID 6 _S.detail.disappear ・id:配信ID 7 _S.detail.openUrl ・id:配信ID
・src: button(固定)
・button(「URLを開く」ボタンをタップ)
・url: 遷移先URL(urlencoded)8 _S.detail.openUrl ・id:配信ID
・src: link(固定)
・ link(お知らせ内のリンクURLをタップ)
・url: 遷移先URL(urlencoded)9 _S.list.appear - 10 _S.list.disappear - 11 _install.status ・pushEnabled: お知らせ受信可否(boolean)
・locationEnabled: GPS受信可否(boolean)
・wifiEnabled: Wi-Fi受信可否(boolean)
・bluetoothEnabled: Bluetooth受信可否(boolean)12 _update.status
※プッシュ通知許諾状況・pushEnabled: お知らせ受信可否(boolean) 13 _update.status
※GPS許諾状況・locationEnabled: GPS受信可否(boolean) 14 _update.status
※Wi-Fi許諾状況
・wifiEnabled: Wi-Fi受信可否(boolean) 15 _update.status
※Bluetooth許諾状況・bluetoothEnabled: Bluetooth受信可否(boolean) 16 _update.status
※位置情報許諾状態の変更※iOSのみ取得可
・locationAuthorization:
・ authorizedAlways (「常に許可」を選択)
・ authorizedWhenInUse (「アプリ利用中のみ」を選択)
・ denied (「拒否」を選択)
・ restricted (位置情報は利用できない)17 _install.sdk ・appVer: アプリバージョン
・appVerName: アプリバージョンネーム
・model: ハードウェアモデル名
・osVer: OSバージョン
・popinfoVer: popinfoのバージョン
・carrier: キャリア名
※Xcode 14.3 でビルドされたアプリを iOS 16.4で利用した際、carrierの値は'--’となります。18 _update.env ・appVer: アプリバージョン
・appVerName: アプリバージョンネーム
・model: ハードウェアモデル名
・osVer: OSバージョン
・popinfoVer: popinfoのバージョン
・carrier: キャリア名
※Xcode 14.3 でビルドされたアプリを iOS 16.4で利用した際、carrierの値は'--’となります。19 _wifi.in ・bssid: 検出したBSSID
・essid: 検出したESSID20 _wifi.out ・bssid: 検出したBSSID
・essid: 検出したESSID21 _bluetooth.in ・type: iBeacon(固定)
・uuid: iBeaconのUUID
・major: iBeaconのmajor (iOSでは、標準では取得できません)
・minor: iBeaconのminor (iOSでは、標準では取得できません)
・maxRssi: 電波強度(iOSでは、標準では取得できません)※iOSでmajor、minor、rssiを取得するカスタマイズ方法については、
こちらをご確認ください。22 _bluetooth.out ・type: iBeacon(固定)
・uuid: iBeaconのUUID
・major: iBeaconのmajor (iOSでは、標準では取得できません)
・minor: iBeaconのminor (iOSでは、標準では取得できません)
・maxRssi: 電波強度(iOSでは、標準では取得できません)※iOSでmajor、minor、rssiを取得するカスタマイズ方法については、
こちらをご確認ください。23 「_」から始まらない文字列 任意のパラメータ 24 _event.delete ・num: 削除したイベントの数
25 _app.alive - 26 _S.page.open ・scheme: URLのスキーマ(://は含めない)
・authority: URLのホスト名またはIPアドレスとポート番号
・path: ドメイン以降からクエリパラメータまでの文字列(ルートの場合は/を送る)
・query: クエリパラメータ(?は含まない)
・fragment: URLのフラグメント
・referrer: 遷移元URL
・title: ページタイトル
・canonicalUrl: rel属性の値が"canonical"なlink要素が存在する場合、そのlink要素のhref属性値
・ogUrl: property属性の値が"og:url"なmeta要素が存在する場合、そのmeta要素のcontent属性値
・eventTrackerVer: モジュールのバージョンを送信する
・sessionId: 新しいWebViewでページを開く度に付与されるIDが入ります。WebViewを開いている限り、ページの再読み込みや復元を越えて同じ値となります。27 「_」から始まらない文字列 任意のパラメータ 28
_inapp.appear ・message_id : アプリ内メッセージID
・delivery_id : 配信ID
・condition_id : アクション条件ID29
_inapp.button_[button_id].click ・message_id : アプリ内メッセージID
・delivery_id : 配信ID
・condition_id : アクション条件ID
・配信作成時にパラメータを追加した際、任意のパラメータとして追加される。
※押されたボタンによって、 [button_id] が変動する。
基本的には 0 ~ 2 の ID が割り振られる。(「閉じる」ボタンは0)※ event.valueが「-」のものは、デフォルトのパラメータのみが含まれます。
■ サーバーサイドイベント
No event.name event.value 1 _SS.push.success ・messageID: 配信ID
・payload: ペイロード2 _SS.push.retry ・messageID: 配信ID
・payload: ペイロード
・code: ステータスコード
・reason: エラー理由3 _SS.push.fail ・messageID: 配信ID
・payload: ペイロード
・code: ステータスコード
・reason: エラー理由4 _SS.coupon.appear ・providerUuid: 店舗のuuid
・providerName: 店舗の名前
・uuid: クーポンのuuid
・name: クーポン名
・shortDescription: クーポンの概要説明
・description: クーポンの詳細説明
・usableStartDate:有効開始日時
・usableEndDate:有効終了日時
・visibleStartDate: 表示開始日時
・visibleEndDate: 表示終了日時
・totalMaxCount: クーポン利用上限枚数
・userMaxCount: 1人あたり使えるクーポン枚数5 _SS.coupon.use ・providerUuid: 店舗のuuid
・providerName: 店舗の名前
・uuid: クーポンのuuid
・name: クーポン名
・shortDescription: クーポンの概要説明
・description: クーポンの詳細説明
・usableStartDate:有効開始日時
・usableEndDate:有効終了日時
・visibleStartDate: 表示開始日時
・visibleEndDate: 表示終了日時
・totalMaxCount: クーポン利用上限枚数
・userMaxCount: 1人あたり使えるクーポン枚数6 _SS.coupon.favorite ・providerUuid: 店舗のuuid
・providerName: 店舗の名前
・uuid: クーポンのuuid
・name: クーポン名
・shortDescription: クーポンの概要説明
・description: クーポンの詳細説明
・usableStartDate:有効開始日時
・usableEndDate:有効終了日時
・visibleStartDate: 表示開始日時
・visibleEndDate: 表示終了日時
・totalMaxCount: クーポン利用上限枚数
・userMaxCount: 1人あたり使えるクーポン枚数7 _SS.coupon.unfavorite ・providerUuid: 店舗のuuid
・providerName: 店舗の名前
・uuid: クーポンのuuid
・name: クーポン名
・shortDescription: クーポンの概要説明
・description: クーポンの詳細説明
・usableStartDate:有効開始日時
・usableEndDate:有効終了日時
・visibleStartDate: 表示開始日時
・visibleEndDate: 表示終了日時
・totalMaxCount: クーポン利用上限枚数
・userMaxCount: 1人あたり使えるクーポン枚数8 _SS.coupon.distribute ・providerUuid: 店舗のuuid
・providerName: 店舗の名前
・uuid: クーポンのuuid
・name: クーポン名
・shortDescription: クーポンの概要説明
・description: クーポンの詳細説明
・usableStartDate:有効開始日時
・usableEndDate:有効終了日時
・visibleStartDate: 表示開始日時
・visibleEndDate: 表示終了日時
・totalMaxCount: クーポン利用上限枚数
・userMaxCount: 1人あたり使えるクーポン枚数